gpt4 book ai didi

cassandra - 事件溯源微服务: How to manage timestamp

转载 作者:行者123 更新时间:2023-12-02 10:21:53 24 4
gpt4 key购买 nike

我们有微服务,每个微服务都会生成由事件源存储库存储的事件。我们使用 Cassandra 来存储事件数据。

正如您所知,事件的顺序很重要。

当我们从不同机器上运行的不同服务生成这些事件时,如何管理这些事件之间的时间(时间戳)不同步,从而导致事件顺序不匹配。

最佳答案

As you may know, the order of the events is important.

在某些情况下 - 但您需要小心不要混淆时间、顺序和相关性。

When we generate these events from different services running in different machines, how to manage the time (timestamp) going out of sync across these thereby resulting in an event order mismatch.

放弃不同地方发生的事件有“顺序”的想法。 There is no now .

乌迪·达汉 (Udi Dahan) race conditions在商业世界:

A microsecond difference in timing shouldn’t make a difference to core business behaviors.

如果您的微服务边界是正确的,那么大约在同一时间在两个不同服务中发生的事件是重合的——它们没有正确的顺序,因为(扩展一个类比)它们位于不同的光锥中。唯一本质上真实的顺序是单个聚合事件历史记录中的顺序。

真正有意义的是追踪因果关系;本记录簿中的这些更改是对该记录簿中的这些更改的 react 。

一种简单的形式是跟踪 happens-before ,这就是像 vector clocks 这样的想法的地方开始出现。

在我见过的大多数讨论中,此信息将作为记录事件的元数据传递。

关于cassandra - 事件溯源微服务: How to manage timestamp,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41082938/

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