NATS核心技术基本介绍

来源:互联网 发布:k线图 知乎 编辑:程序博客网 时间:2024/05/16 23:57

NATS基本介绍

NATS基础简介

NATS是一个简单、安全、可扩展的高效消息系统,它可以实现分布式部署,横向扩展。主要运用在云本地应用、IoT基础消息设施和微服务架构中。

NATS由Apcera team维护,主要包括了NATS Server (才用Go语言编写), NATS Streaming和各类语言的客户端应用框架(Python, Ruby, Node.js, Elixir, Java, NGINX, C, and C#)。NATS越来越受到开发者的欢迎,大公司如ricsson, HTC, Siemens, VMware, Pivotal, GE 和 Baidu均有实用NATS。

有两个很成功的介绍案例可供参考。

  • 云平台下构建一个新的神经系统(https://www.youtube.com/watch?v=5GcAgMPECxE&feature=youtu.be)
  • 构建微服务和RPC传输 (https://www.youtube.com/watch?v=4GIt2JIf6So&feature=youtu.be)

NATS与其它消息系统的性能对比。

NATS架构

消息能够被接受,编码和被一个或者多个订阅者处理,一个订阅者能够可以异步或者同步处理NATS消息。

异步处理:异步处理才用callback的回调操作来实现。当一个消息到达时,注册的回调操作接受控制去处理这个消息。按照这样的处理模式,消息接受处理之间没有等待关系。其实现原理是才用多线程调度。

同步处理:按照请求等待模式同步处理到来的消息。

发布订阅模型

发布订阅答复模型

发布队列订阅模型

欢迎订阅微信公众号