Questions tagged «microservices»

微服务是相互独立的小型,独立进程,相互通信以形成利用与语言无关的API的复杂应用程序。这些服务是小型构建块,高度分离,并且专注于执行小任务,从而促进了模块化的系统构建方法。

4
在事件驱动的微服务架构中处理更改
我正在做一个研究项目,正在研究处理事件驱动的微服务体系结构中的更改的选项。 因此,假设我们有一个应用程序,其中有四个不同的服务。这些服务中的每一个都有自己的数据库来存储本地数据。 在此设置中,这四个服务使用事件总线相互通信。因此,当服务中发生某些事情时,它会发布一个事件。所有对该事件感兴趣的其他服务都将以自己的方式对其进行处理。 在那种情况下,架构中的不同服务需要就这些事件(属性等)的内容订立“合同”。因此,服务对这些事件具有“松散耦合的依赖性” 我的问题是: 我们如何应对这些事件的变化? 因此,假设服务A在应用程序中注册了新用户。因此,它发送一个“ UserRegistered”事件,服务B拾取该事件并对其进行处理,但是服务C小组的一些开发人员决定他们也需要注册用户的性别,因此该事件被更改,属性性别被添加到“ UserRegistered”事件。 我们如何确保服务B仍可以在不重新部署的情况下使用该额外属性来拾取同一事件? 还有其他方法可以解决此问题,然后对这些事件进行版本控制吗?

4
微服务和共享库
我们正在设计基于独立微服务(通过RabbitMq总线连接)的系统。该代码(至少对于第一个组件而言)将以python(python2和python3)编写。我们已经有一个实现某些业务逻辑的整体应用程序,我们希望将其重构为微服务并进行扩展。让我担心的一个问题是: 在不同的微服务之间共享代码的最佳方法是什么。我们具有通用的帮助程序功能(数据处理,日志记录,配置解析等),多个微服务必须使用这些功能。 微服务本身将被开发为单独的项目(git存储库)。通用库也可以作为一个独立项目开发。如何在微服务之间共享这些库? 我看到几种方法: 围绕每个微服务所需的库版本进行复制,并根据需要进行更新 将通用库发布到内部PyPi,并将这些库列为微服务需求中的依赖项 将库存储库包含为git子模块 在决定如何进行之前,我想阅读更多有关建议的方法,最佳实践和过去的经验。您有什么建议或链接吗?
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.