我正在开发一个使用微服务架构的应用程序。假设有3种微服务。
UserInfo和邮件微型服务都在监听用户的微服务。
创建用户时
问题
发布于 2022-07-15 00:47:28
在泛泛的笔画中,有两种协调多种服务、编排和编排的方法:
服务编排
在服务编排中,有一个专用的编排器,例如Saga或Workflow。编排器按所需的顺序调用您的服务,例如用户服务、用户信息服务、邮件服务。
在这里,编排器直接依赖于3项服务,但是,服务没有任何依赖项。

服务编排
在服务编排中,没有专门的编排人员。服务发布事件并对事件做出反应--例如,用户服务发布UserCreatedEvent,用户信息和邮件服务对UserCreatedEvent做出反应。
在这里,用户服务、用户信息服务和邮件服务直接依赖于UserCreatedEvent

通常,发出同一事件的不同投影(例如UserInfoData和MailData )时,UserCreatedEvent的两个投影并不常见,也不会简化依赖关系。

结论
根据您的描述,您选择服务编排。编排的现实是一个复杂的事件/服务依赖关系,它表示控制和数据流--如果您想要更改控制流或数据流的机会很高,您必须相应地更改多个服务。
您可能也需要考虑服务编排,并实现saga模式或通过像temporal.io这样的工具实现工作流
(免责声明我在temporal.io工作)
https://stackoverflow.com/questions/72982180
复制相似问题