我目前正在设计一种新产品,并且希望采用微服务方式。因为我是这个主题的新手,所以我阅读了电子书.NET Microservices: Architecture for Containerized .NET Applications的大部分内容。
我喜欢他们在电子书中所做的方式,因此我的体系结构看起来与书中所述的相似:
到目前为止,一切都很好。但是现在我想到了以下情形:
假设我们处于eShopOnContainers的上下文中。该应用程序运行了几个月,因此有一些注册用户,提供了许多产品,依此类推。
每次创建新的用户帐户或产品时,都会触发相应的集成事件,并且对信息感兴趣的每个服务现在都在其自己的数据库中。
现在,我要介绍一种新的微服务。这项新服务还需要一些有关例如用户。但是,当我将其部署到现有基础架构中时,它一无所知,因为他当然看不到过去的事件。
所以我的问题是:什么是获取所需数据的好方法?
在将数据从其他服务迁移到新服务时,我是否必须关闭整个系统一段时间?
我目前看不到更好的方法。