试用
在当前的架构设计中,大多数消息系统主要为Kafka和RocketMQ,NATS并没有走入开发人员的视野,这可能主要都是Java程序员的缘故,有一定的选择惯性。 然而,NATS是一个轻量级、高性能的云原生消息系统,它支持发布/订阅、请求/响应和队列模式,更适用于微服务、多云和混合云环境。
NATS有一些特性是Kafka和RocketMQ并具备的,如下:
- 海量的连接数
- 海量的Topic数
- 支持Services Framework,实现异步RPC
- KV/OSS支持
- 服务注册发现
鉴于NATS的特性,我们建议在Agent设计、跨语言通讯通知等场景下,可以尝试使用NATS。
NATS由云原生计算基金会(CNCF)托管,现已成为一个毕业项目。 鉴于其丰富的特性和轻量级特点,我们觉得它应该收到更多的关注,所以我们将其放在了试验阶段。
NATS & Friends
- Nui: NATS management GUI - https://natsnui.app/
- OtterJet: Web interface for interacting with NATS JetStream servers https://github.com/softwaremill/OtterJet/
References
- NATS
- Nex: NATS execution engine
- NATS System Events: https://docs.nats.io/running-a-nats-service/configuration/sys_accounts