NATS消息传递允许在计算机应用程序和服务之间交换分割为消息的数据。这些消息由主题寻址,不依赖于网络位置。这在应用程序或服务和底层物理网络之间提供了一个抽象层。数据被编码和以帧作封装为消息并由发布者发送。消息由一个或多个订阅者接收、解码和处理。

NATS使程序能够轻松地跨不同的环境、语言、云提供商和本地系统进行通信。客户端通常通过一个URL连接到NATS系统,然后对主题进行订阅或发布。通过这种简单的设计,NATS允许程序共享通用的消息处理代码,隔离资源和相互依赖关系,并轻松扩展消息量的增加,无论这些是服务请求还是流数据。

NATS core提供最多一次的服务质量。如果订阅者没有监听主题(没有主题匹配),或者在发送消息时未处于活跃状态,则不会接收消息。这与TCP/IP提供的保证级别相同。默认情况下,NATS是一个即发即弃的消息传递系统。如果您需要更高级别的服务,您可以使用NATS流或一些经过验证的,可扩展的参考设计(如ack和序列号)以在客户端应用程序中构建额外的可靠性。