As covered in the previous chapter, NATS uses a fairly simple protocol that alleviates the task of implementing clients that can interact with the server. Thanks to the protocol being very simple, many times it is also possible to further focus on optimizing the clients to provide a highly performant and efficient implementation.
The NATS clients have an easy-to-use API built on top of the NATS protocol, and in this chapter, we take a look at their feature set and expected behavior in detail. We do this in order to have a good foundation for building NATS-based applications later ...