微服务新出口的边界-如何分割?

时间:2019-03-19 16:51:46

标签: architecture microservices

我具有给定的微服务架构,具有以下领域。每个域实际上都有一个数据库。

  • 存储S
  • 卖我

S包含一组可以出售的物品(书籍,杂志)。此外,此处保留增值税。因此,S包含针对项目的CRUD和针对税的CRUD的服务s1。另外,它还有一个消耗jms的服务s2。

我负责处理所有与销售有关的问题(发票,交货条件等)

到目前为止,我包含一个微服务i1,用于处理发票的CRUD(创建发票,列出发票等)。

我计划再提供一个微服务i2,它是csv的输出,仅包含政府官员需要的特殊信息。

我不确定是将新功能放在i1还是新的微服务i2中。

当然,导出始终会崩溃并杀死应用程序。如果集成到i1中,则整个I域可能会崩溃。另一方面,我还有另一个应用程序要部署...

您是否有经验在服务之间进行切分?

1 个答案:

答案 0 :(得分:0)

微服务主要围绕有界上下文(DDD)设计。有限上下文可以具有多个微服务。这都是关于给予和接受,没有正确的答案。我认为,只要服务是独立的并且它们不会互相干扰,就应该成为解决之道。在你的情况下,我会说去额外的服务,这是出口服务。就像您提到的那样,如果部署在现有应用程序中,它可能会影响现有应用程序。

与影响现有服务并同时处理这两个问题相比,部署和管理服务要容易得多。对现有服务的影响,并调查为什么出口不起作用。将它们分开。易于调试,最重要的是不会影响您的运行服务。
您还可以更好地保护它或轻松地应用其他业务规则。