我想知道EventProcessHost中主机名的用途以及如何在消费者端设置分区。现在我能够从消费者组获取数据,但所有分区都转到输出流。
问题: 1.如何通过代码java设置分区。 2.在EventProcessHost中使用主机名 3.对于多个消费者的例子,每个人都有自己的java代码分区。
我非常感谢任何帮助。
答案 0 :(得分:1)
有一个完整的Java示例,请参阅the docs
使用EventProcessHost
时无需设置分区。相反,每个实例将租用它将处理的分区。因此,如果您使用4个分区创建事件中心,则应实例化4x EventProcessHost
以获得更好的吞吐量。请参阅链接的文档:
本教程使用EventProcessorHost的单个实例。为了提高吞吐量,建议您运行多个EventProcessorHost实例,最好是在不同的计算机上运行。这也提供了冗余。在这些情况下,各种实例自动相互协调,以便对接收的事件进行负载平衡。
租约仅在特定时间内发出。之后,另一个接收者可以接管该租约。如果你给它一段时间,你应该注意到所有实例都将检索数据。
关于主机名:
从不同的计算机接收事件时,根据部署它们的计算机(或角色)为EventProcessorHost实例指定名称可能很有用。