cqrs和活动资源指南

k5hmc34c  于 2021-06-06  发布在  Kafka
关注(0)|答案(3)|浏览(415)

我想创建一个cqrs和事件源架构,这是非常便宜,非常灵活,非常简单。
我想确保事件至少永远不会不到达发布者/事件商店,永远,永远,因为那是业务所在。
现在,我有几个选择:
天青
有了azure,我似乎不知道该用什么。
azure服务总线
azure函数
azure webjob(我想可以用azure函数替换)
?? (还有什么我忘了或者不知道的?)
这些azure无服务器解决方案的可靠性如何??
习俗
为此,我考虑使用rabbitmq,问题是运行它的虚拟机的成本。

总之,我想要:

在出现故障时能够重播消息/事件。
能够轻松添加订户。
能够选择要重播消息的订户。
事件存储应该能够存储非常大的事件消息(或者如何将图像或文件排队??)。
活动商店绝对不能被塞住,或者睡觉。
实现/原型化的速度将是一个额外的优势。
你的经验告诉我们什么?
其他的选择呢(如: apache-kafka )?

8nuwlpux

8nuwlpux1#

我是一个java用户,我使用hornetq(又名artemis,我不使用)替代rabbitmq已经很长时间了;唯一的问题是它不支持复制,但在eventsourcing方面可以完成任务。对于您的定制场景,rabbitmq是一个不错的选择,但是可以尝试在数字海洋示例上运行它,以获得低成本。如果你正在寻找简单性和灵活性,那么你只有两个选择,要么构建自己的简单性,要么放弃简单性,选择ApacheKafka及其所有的复杂性,但它会给你灵活性。同样,您也可以使用mongodb构建eventstore。https://www.mongodb.com/blog/post/event-sourcing-with-mongodb

xkftehaa

xkftehaa2#

你的要求太模糊,无法做出最佳选择。你需要考虑很多事情,其中之一就是,例如,每个聚合的事件数,聚合的数量(注意,这必须是统计的)。这些很重要,主要是因为如果您允许每个聚合有数以万计的事件,那么您需要快照,这会增加您可能不需要的复杂性。
但是对于常规用例,您可以使用postgres之类的关系数据库作为(可线性化的)事件存储。它还有一个侦听/通知功能,这样您就不需要任何消息总线了,您的应用程序也可以用一种被动的方式编写。

11dmarpk

11dmarpk3#

为什么不运行事件存储?是格雷格·杨自己创造的。在你需要的地方接待。

相关问题