设计将现有应用程序转换为微服务?

时间:2017-08-05 02:01:27

标签: java web-applications microservices

我已经拥有多模块应用程序,其中高级maven模块依赖于低级模块。以下是一些模块: -

Search
user-creation
utils-common
notice-email
.......

搜索具有与搜索模块相关的业务逻辑 用户创建具有与用户模块相关的业务逻辑 utils-common包含辅助方法 notice-email具有与电子邮件相关的业务逻辑

所有模块都使用通用的单个数据库。

现在将任何模块(比如电子邮件)转换为微服务,这是我的理解: -

  1. 电子邮件将是单独的战争申请
  2. 它可以继续使用相同的公共数据库
  3. 它将拥有自己的身份验证机制,其他模块将发送用户名/密码,电子邮件服务可以通过相同的数据库进行验证
  4. 早期的交易边界跨越模块。现在,电子邮件模块将拥有自己的事务边界。我的问题是什么 如果我需要跨模块/微服务进行交易?例如: - 在单个事务中,创建第一个用户但在发送电子邮件时(通过电子邮件微服务), 发生错误,是否可以回滚完整的事务?

0 个答案:

没有答案