在Spring云流中,该属性spring.cloud.stream.instanceCount
的用途究竟是什么?
我的意思是,如果该值出现错误,因为在一个或多个微服务实例出现故障时,这会怎样影响我们基础架构的行为?
答案 0 :(得分:2)
instanceCount
用于跨不同的消费者分区数据。减少一个或多个服务不应该真正影响您的生产者,这是经纪人的工作。
因此,我们假设您有一个将数据发送到3个分区的来源,因此您拥有instanceCount = 3,并且每个实例都会通过instanceIndex
分配自己的分区
每个实例都会消耗数据,但如果实例2崩溃,0,1仍然会从分区读取数据,而源仍然会像往常一样发送数据。
假设您的平台具有某种可恢复性,那么您崩溃的实例应该恢复生机并恢复其运行。
我们仍然不支持在运行时动态分配分区,我们正在考虑将其作为未来版本的故事。