gpt4 book ai didi

architecture - 新增微服务如何实现数据一致性?

转载 作者:行者123 更新时间:2023-12-04 15:08:50 25 4
gpt4 key购买 nike

例如,我们有带有事件溯源的微服务。
为了实现数据一致性,我们使用以下方法:

  • 微服务产生事件
  • 事件存储在事件存储
  • 事件发布到订阅的微服务

  • 这种方法适用于已经在使用的微服务。
    但是如果我需要部署另一个需要与事件存储同步数据的微服务怎么办?
    显然,这个新的微服务错过了所有已发布的事件。
    这个新的微服务是否应该自己从事件存储中提取事件?

    最佳答案

    随着时间的推移,从事件存储中提取所有事件的成本可能会很高,因为事件的数量可能会激增。
    为了加速新微服务的初始化,您应该不时创建应用程序状态的快照(并将其存储在一些快速访问的内存/缓存中)。快照后存储的所有事件都基于快照中的应用程序状态。
    这样,当你部署一个新的微服务时,它会首先加载最新的快照,然后应用在该快照之后存储的所有事件,以了解应用程序的最新状态。
    您可以调整制作快照的频率,以便需要加载的额外事件的数量相对较少。
    This是一篇不错的文章,您可以查看更多详细信息。

    关于architecture - 新增微服务如何实现数据一致性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/65596824/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com