开发并且部署分布式系统中的应用和服务可能是复杂的困难的.系统交互有两种模式:一种是请求响应式或者微服务的RPC调用,另外一种是事件和数据流. 现代技术应该提供一些特性使得简单、可扩展、安全、位置无依赖、可以监控。
现代消息系统需要支持多种交互模式,默认是安全的,支持多种服务质量,多租户共享的,可信赖的,安全的。现代系统包括:
- 微服务中,或者边缘计算中平台与设备通信默认是安全的
- 在一个单独的分布式交互技术保护多租户
- 透明的位置注册与发现
- 弹性,强调系统的整体健康状况
- 大规模使用简单,在敏捷开发、持续集成、运维的时候
- 具有内置负载平衡和动态自动缩放功能,具有高度可扩展性和高性能
- 从边缘设备到后端服务的一致标识和安全机制
NATS 的建立是为了满足当前和未来的分布式计算需求。 NATS 为开发者和运维人员提供安全的、简单的消息传递。这样才能够花更多的时间开发现代的应用和微服务,而不用担心分布式系统消息传递的问题。
- 易于使用,对开发人员和运维人员
- 高性能
- 总是在线可用
- 非常轻量级
- 支持最多一次和最少一次消息传递
- 支持可监控的、可扩展的微服务和事件/数据流
- 超过30种语言的客户端支持
- 原生云,一个 CNCF 项目,集成了 Kubernetes 和 Prometheus
NATS 可以运行在任何地方:大的服务器、云主机、边缘网关、物联网设备。使用 NATS 的情况包括:
- 云消息传递
- 服务之间传递消息(微服务,服务网格)
- 事件/数据流(可监控,分析,人工智能)
- 命令和控制
- 物联网和边缘计算
- 遥测、传感器数据、命令和控制
- 扩展或者替换遗留消息系统
本人翻译水平有限,读者朋友实在看不懂了,请参考原文