我已经设置了 Azure Event Hub 。有 2个发布者:
发布商1(使用发送政策)
发布商2(使用发送政策)
发布者1将发送事件1,发布者2将发送事件2.事件1和事件1事件2的格式不同。
问题1 :这意味着我们在EH中有不同的信息 - 这种方法的权衡是什么?我应该创建2个EH(一个用于Publisher 1,另一个用于Publisher 2)?什么是最佳实践和设计理念?
如果我采用上述方法,我将需要设置一个使用侦听策略的消费者来查找这些事件并解析/转换这些事件并对其进行反序列化。
问题2 :我是否需要2位消费者(消费者1和消费者2)阅读适合他们的消息? (消费者1只读事件1而消费者2只读事件2)?
答案 0 :(得分:5)
场景1:多种事件类型的一个事件中心
在这种情况下,您在发送和处理邮件时有多种选择:
场景2:每个事件类型的事件中心
这个很简单,只需创建2个事件中心和2个消耗进程。但是你必须管理2个事件中心,并且考虑到事件中心的能力,它可能有点过分。
我的建议
这取决于数据量,但根据我的经验,我会将所有消息发送到一个事件中心,并让一个进程读取消息并使用一些c#代码基于消息类型执行操作。