nats 队列组的一些特性
nats 的队列组是一个比较有意思的功能,以下简单说明下一些特性
特性
- 可以实现应用的多容错
- 可以实现工作负载的缩放
- 对于消费者的扩缩容不会造成消息重复
- 不需要额外的配置
- 队列组的配置是有订阅消息的应用处理的
- geo 亲缘性,尤其在进行leaf 节点或者supercluster 部署的时候,默认会选择本地的,只有当本地没有可用的处理的时候才会发发跨集群的路由
geo 亲缘性的一些玩法
这个就比较有意思了,因为本地优先,我们可以优先本地部署服务,如果本地资源不够可以其他服区域部署,还有一个就是我们使用了pub/sub,默认是订阅者都可以接受到消息的(尤其是在supercluster场景),但是如果使用了队列组,基于geo 亲缘性,那么就只有本地可以进行消息处理了,可以做一些发布于订阅者位置需要密切配合的场景
浙公网安备 33010602011771号