NATS Messaging
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 |
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].
Histoire[modifier | modifier le code]
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[modifier | modifier le code]
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[modifier | modifier le code]
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[modifier | modifier le code]
- « 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 )
Annexes[modifier | modifier le code]
Articles connexes[modifier | modifier le code]
- Prometheus nats exporter