我想创建一个非常便宜、非常灵活且非常简单的CQRS 和事件溯源架构。
我想确保事件永远不会失败,至少永远不会到达发布商/事件商店,因为这就是业务所在。
现在,我有几个选择:
azure
对于azure,我似乎不知道该用什么。
- Azure 服务总线
- Azure 函数
- Azure webjob(我想这可以用Azure功能代替)
- >?? (还有什么我忘记或不知道的吗?)
这些 azure 无服务器解决方案的可靠性如何?
自定义
为此,我正在考虑使用 RabbitMQ,问题是运行它的虚拟机的成本。
<小时/>总而言之,我想要:
- 能够在失败时重播消息/事件。
- 能够轻松添加订阅者。
- 能够选择重播消息的订阅者。
- 事件存储应该能够存储非常大的事件消息(或者如何对图像或文件进行排队??)。
- 事件存储绝不能堵塞或休眠。
- 实现/原型(prototype)设计的速度将得到提高 优势。
您的经验有何建议?
还有其他选择吗? (例如:apache-kafka
)?
最佳答案
为什么不运行 Event Store?由格雷格·杨本人创建。在您需要的地方托管。
关于azure - CQRS 和事件溯源指南,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55969864/