首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >微服务体系结构和层

微服务体系结构和层
EN

Stack Overflow用户
提问于 2016-04-19 11:18:52
回答 1查看 776关注 0票数 1

让我们讨论一下微服务环境的体系结构。我们公司内部正在进行讨论,我想得到一些反馈。我认真考虑的是一个编排层(代码复制、更多的移动部分更改api)。

选项一-与编排层:

webapp ->编排->服务->持久性

api -> api gw ->编排->服务->持久性

在这种情况下,服务不允许相互交谈。业务流程层中的聚合服务

选项一-没有编排层:

webapp ->服务->持久性

api -> api gw ->服务->持久性

在这里,服务可以相互交谈,聚集的服务在这里存在。

具体问题:

  • 账单属于哪里?
  • 你更喜欢哪种解决方案?赞成/反对。
  • 其他建议?
EN

回答 1

Stack Overflow用户

发布于 2016-04-19 13:05:08

webapp ->编排-> 服务 ->持久性 api -> api gw ->编排-> 服务 ->持久性(重点雷)

我们能退后一点吗?我想质疑这里使用的术语。

对我来说,在SOA的上下文中,上面的堆栈没有多大意义。

您将服务夹在所谓的业务流程和持久性之间。但是,在SOA设计中,所有上述元素都是创建单个服务所必需的。

但在你的例子中,坚持到底是什么呢?不管它是什么,它似乎是在服务之外。那么,服务如何持久化数据呢?web应用程序/API似乎也在服务之外。那么,服务如何在屏幕上显示其数据呢?

如果您查看SOA的原则,特别是第二个原则:

服务是自治

如果服务应该是自治的,那么服务需要负责保存自己的数据。服务还需要负责通过UI显示其内部状态。

我认真考虑的是一个编排层

由此得出的结论是,服务部门还应负责内部国家如何与外部世界沟通,包括其自身与其他服务之间的沟通。

如果服务需要使用来自另一个服务的数据,那么消费者服务就有责任获取该数据。如果服务的状态发生变化,则该服务有责任允许外部世界了解状态变化。

编排是一个关注,就像持久性、检测等,因此在SOA上下文中最好以分布式、自治的方式实现,而不是以中心化的方式实现。

所以,在回答你们的问题时:

账单属于哪里?

计费属于它自己的垂直服务栈,包括UI视图、持久性、编排、通信、部署和管理。

你更喜欢哪种解决方案?赞成/反对。

如前所述,我认为不应在问题提出的水平上作出选择。我认为任何需要统筹的服务都应负责。

其他建议?

如果您还没有看到,请看一看它。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36716838

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档