【发布时间】:2022-01-31 01:49:12
【问题描述】:
我目前对如何在我们的微服务架构中实施解决方案存在冲突。而且,如果能对此事有更专业的意见,那就太好了。
我们正在使用第三方服务发送电子邮件,但是在我们可以使用上述服务之前,我们需要同步一个帐户。
现在我在两个微服务中使用第三方服务提供的 SDK。 在 account-ms 中,我为帐户同步创建了所有必要的功能。在 email-ms 中,我做了相应的电子邮件发送。
但是,我不确定在两个不同的微服务中使用(第三方 SDK)是否是正确的做法,或者我是否陷入了不良做法,我应该同时拥有两个流程(帐户同步和电子邮件发送) 在同一个微服务中,这将是唯一使用第三方 SDK 的微服务。
谢谢。
注意:account-ms 和 email-ms 都已经存在,并且在它们的域上具有其他相关功能。我没有为这个特定的集成从头开始创建它们。
【问题讨论】:
-
视情况而定。您是否期望在不久的将来会有越来越多的微服务使用该 SDK?两个微服务是用相同的编程语言编写的吗?这个SDK经常更新吗?你可以在不同的微服务中同时使用多个 SDK 版本吗?等等……
-
@PeterCsala 尊重您的问题,是的,也许需要另一个微服务来实现 SDK:所有微服务都用相同的语言 (Java) 编写; SDK 它不经常更新,理想情况下我们希望在所有微服务中使用相同的 SDK 版本。谢谢。
-
在这种情况下,我认为这是一个可行的设计。这里的关键是尽量避免依赖部署,使用多个版本的 SDK 并经常更新所有相关服务,以便在任何地方都有最新的 SDK。
标签: architecture microservices integration