我看到“重新发布”事件的概念从长期提到的事件到处都有,但它并没有真正详细描述。
我想到的问题如下。某些Producer维护一个事件日志,并将每个事件发布到Queue。消费者连接到队列并接收所有生成的事件。
考虑一个有两个消费者(C1,C2)和一个生产者(P1)的情况。
让我们说:
此时C2已经错过了之前发生的所有事件!怎么做:
如果有人有一些见解,非常感谢。
答案 0 :(得分:0)
这就是我的想法。
消费者记录从外国环境收到的最后一个事件序列号。
latest_event_per_context
列的聚合表中(这仅适用于一个外部上下文)或Table(aggregate_id, context_name, sequence_number)
,其中序列号是在给定上下文中接收的最新事件。
这在应用层中留下了这个问题。或者EventReceived(event, context)
- 将其留给域以丢弃重复项制片人对其发出的所有事件进行排序。
答案 1 :(得分:0)
结帐https://geteventstore.com/ 连接新订户时,它可以重播流。 GES卸载了管理已经收到的客户的责任。