NATS Messaging
NATS est un projet à code source ouvert d'agent de messages (parfois appelé middleware orienté message ). Le serveur NATS est écrit dans le langage Go . Des bibliothèques clientes pour s'interfacer avec le serveur sont disponibles pour plusieurs des langages de programmation, dont les plus courants. NATS est conçu avec les buts suivants : les performances, la scalabilité et la facilité d'utilisation[2].
Créateur | Derek Collison |
---|---|
Développé par | Synadia Communications, Inc. |
Première version | 2011 [1] |
Dernière version | 2.6.6 () |
Dépôt | https://github.com/nats-io/nats-server.git |
État du projet | Actif |
Écrit en | Go |
Type | Agent de messages |
Licence | Licence Apache version 2.0 |
Site web | www.nats.io |
Histoire
NATS a été développé à l'origine par Derek Collison, écrit en Ruby, en tant que plan de contrôle de messagerie pour Cloud Foundry. NATS a ensuite été porté en Langage Go. Synadia développe et fournit un support sur NATS désormais.
Description
Le code source est publié sous la licence Apache 2.0.
NATS se compose de :
- NATS Server - Le serveur principal de publication-abonnement pour NATS.
- Bibliothèques clientes pour plusieurs de langages de programmation
- Un framework de connecteur - un framework Java enfichable pour connecter NATS et d'autres services. NATS est un projet CNCF qui s'intègre avec Kubernetes et Prometheus[3].
Les frameworks de microservices tels que Micro, Mainflux ou Hemera s'appuient sur NATS pour leurs échanges de messages.
Exemple
Ci-dessous un exemple de connexion via telnet au site de démonstration demo.nats.io[4]:
telnet demo.nats.io 4222
Trying 107.170.221.32...
Connected to demo.nats.io.
Escape character is '^]'.
INFO {"server_id":"NCQT422SSCIX5RPBUUIMNRZQOFC3SRIDIPOUB6CK264YTPOXDBMUYYB4","server_name":"DEMO","version":"2.6.0","proto":1,"git_commit":"e49eb66","go":"go1.16.7","host":"0.0.0.0","port":4222,"headers":true,"max_payload":1048576,"client_id":711310,"client_ip":"24.55.21.255"}
Notes et références
- « Release v0.3.12 · nats-io/Nats.rb », sur GitHub
- « NATS Documentation »
- « What's New in NATS 2.2 »
-
- « NATS Protocol », NATS Documentation (consulté le )