NATS is an open-source tool that was born as a messaging system and expanded into much more. Besides the messaging functionalities, it offers a way to communicate between clients via messaging, a shared key/value store, and an object store for sharing bigger files/objects between clients. It also includes a tiny yet powerful framework for building microservices. NATS can be used in most of the same situations where you would use mangos, but it removes a lot of burdens related to service discovery and DevOps in general. You might recall that when using mangos, we had to specify the address of every socket we wanted to connect to, one way or another. Whatever protocol we were following, we had to dial to an address unless we were listening to a specific address, and everybody else connecting to us had to dial to our address. This might get very cumbersome when we want to scale up or down the instances of our services on the fly. Every time a new service instance would go up, it would have to dial into the same addresses its peers dialled to, or every client connected to its peers would have to start dialling to it too.

错误:搜索内容不能为空,请输入英文关键词
错误:关键词超出字数限制,请精简
高级检索

NATS Fundamentals

  • Delio D’Anna

摘要

NATS is an open-source tool that was born as a messaging system and expanded into much more. Besides the messaging functionalities, it offers a way to communicate between clients via messaging, a shared key/value store, and an object store for sharing bigger files/objects between clients. It also includes a tiny yet powerful framework for building microservices. NATS can be used in most of the same situations where you would use mangos, but it removes a lot of burdens related to service discovery and DevOps in general. You might recall that when using mangos, we had to specify the address of every socket we wanted to connect to, one way or another. Whatever protocol we were following, we had to dial to an address unless we were listening to a specific address, and everybody else connecting to us had to dial to our address. This might get very cumbersome when we want to scale up or down the instances of our services on the fly. Every time a new service instance would go up, it would have to dial into the same addresses its peers dialled to, or every client connected to its peers would have to start dialling to it too.