我想通过 Db 事务将事件发送到 Microsoft Event-hub:
解释:
- 用户点击了订单创建的端点。
- OrderService 接受订单并将该订单放入数据库。
- 现在订单服务希望使用事件中心将该 orderId 作为事件发送到另一个服务。
如何实现第 2 步和第 3 步的事务行为?
我知道这些解决方案:
发件箱模式:我将消息放在另一个带有订单创建事务的表中。还有一个 cron/scheduler,它从表中获取消息并将它们标记为已传递。下次 cron 将只接收未传递的消息。
使用数据库审计日志和获取这些东西的库。库会将数据库表绑定到 Event-hub。然后在每个更新库上都会将该更改发送到 Event-hub。
我想知道 Event-hub 中是否有任何内置的事务功能?
或者
有没有更好的方法来处理这件事?