nats 简介和使用
nats 有 3 个产品
core-nats: 不做持久化的及时信息传输系统
nats-streaming: 基于 nats 的持久化消息队列(已弃用)
nats-jetstream: 基于 nats 的持久化消息队列
这里主要讨论 core-nats 和 nats-jetstream
出于性能考虑, 发布的消息先写入到类似 Buffer 缓存的地方, 然后再一次性发送到 nats 服务器
信息传递模式
NATS支持4种主要的通信模式。它们是
基于主题
发布-订阅
请求-回复/分散-收集
队列组
每一个都是不同的模式,都有其使用案例,有一些重叠。允许所有这四种模式给了NATS极大的灵活性和功能,以应对多个应用程序之间的各种不同情况,或一个大型单体。
基于主题的消息传递
A 主题在NATS中是一个简单的字符串,代表对数据的兴趣。它被分_层标记_以支持_通配符订阅_。
foo.* 匹配 _foo.bar_和 foo.baz
foo.*.bar匹配 _foo.a.bar_和 foo.b.bar
_foo.>_匹配上述任何一个
_>_匹配NATS中的所有内容
这种消息传递模式允许发布者使用一个_Subject_来共享数据,而消费者可以通过使用通配符来监听这些Subject来接收这些消息。
从某种意义上说,这种模式是基于观察者设计模式的,它通常有一个_主题_和_观察者_。
例如,如果有人向_'audit.us.east'_发送消息,那么所有监听该确切主题或通配符主题的订阅者都会收到这个消息。
}