java - 在同一事件中心注册的两个事件处理器主机
问题描述
我是 Azure 服务的新手,我正在尝试学习事件中心。我想将事件中心用作跨多个消费者的先进先出队列。但是我在租赁管理方面遇到了一些问题。我已经部署了我的 eph 的两个实例,我想使用同一个消费者组。首先,我只用一个实例尝试解决方案,没关系。当我在另一台机器上部署事件处理器主机时,我看到第一个 eph 失去了连接
com.microsoft.azure.eventhubs.ReceiverDisconnectedException
两个事件处理器主机从同一个消费者组读取是否正确?或者这就是问题所在?你能建议我任何想法或任何改进吗?
先感谢您!
解决方案
当您部署第二个处理器主机时,它将尝试拥有一半的租约以实现负载平衡。在尝试平衡期间,其他主机可以观察到一些间歇性故障,例如 LeaseLostExceptions 和 ReceiverDisconnectedExceptions。几分钟后或两台主机达到平衡状态后,您应该不会看到任何故障。
有关更多详细信息,请参阅https://docs.microsoft.com/en-us/azure/event-hubs/event-hubs-event-processor-host。
推荐阅读
- ios - 尝试添加和保存对象时领域抛出错误
- html - 禁用html中输入标签的自动填充?
- java - 为什么不能在简写 IF 语句中进行条件赋值?
- spring-boot - 我无法使用 JPA 存储库保存。我在这里做错了什么?
- python - 为什么当我们使用类名调用超类的构造函数时我们传递 self 而使用 super 时却没有
- sql - SQL Server:从每周总和到每周平均数
- c# - PdfCanvas 上 SVG 图像的错误定位和缩放
- prolog - 如何在 swi-prolog 中安装 clpq 库
- node.js - nvm ls 中 nvm 节点版本之间的区别
- java - 如何解决 Android 中的致命信号 11 (SIGSEGV) 代码 1?