我正在开发一个新项目,但我仍在学习如何使用微服务/域驱动设计。
如果推荐的体系结构是具有每个服务的数据库,并使用事件来实现最终的一致性,那么如何使用所需的所有数据来初始化服务的数据库?
如果指示数据库更新的事件是在设计新服务/数据库之前发生的,我是否需要从先前数据库的副本开始?
还是我应该发布“正在阻止中的新服务”事件,并允许所有其他服务再次将所有东西都还给我?这可能是很多人的ty聊,并导致性能问题。
如何使用所需的所有数据初始化服务的数据库?
它要求它;这就是说,您设计了一个协议,以便正在分拆的服务可以获取其需要的所有信息的副本。这通常包括跟踪检查点,以及允许您询问自某个检查点以来发生了什么的查询。
考虑“拉”,而不是“推”。
“服务”的部分要点:设计正确的数据边界。在服务之间复制大量数据的需求通常表明需要重新考虑服务边界。
本文收集自互联网,转载请注明来源。
如有侵权,请联系 [email protected] 删除。
我来说两句