我们有三个使用 Spring cloud AWS kinesis binder 连接到 Kinesis 流的容器作为消费者。我们使用消费者组在三个容器之间进行负载平衡。要求是集装箱分担负载,并且能够均匀地分配负载。
- 所有容器都使用来自配置服务器的相同应用程序配置
目前我们有如下配置。
spring:
cloud:
stream:
bindings:
MyStream:
group: my-group
destination: stream-1
content-type: application/json
所有容器都在使用相同的消息,但在不同的时间(相差 5 到 10 分钟)
根据文档,
单个消费者组内的静态分片分布 可以在单个消费者组内的所有实例之间均匀分布分片。这是通过配置完成的:
spring.cloud.stream.instanceCount= to number of instances
spring.cloud.stream.instanceIndex= current instance’s index
由于我们使用相同的配置服务器,请您帮助如何确保实现负载平衡。