NATS协议的优点在您体验到使用NATS的便捷性时便迅速显现出来。由于NATS协议基于文本,因此您几乎可以在任何平台或语言中使用它。
在以下演示中,我们使用 Telnet。通过网络,您可以使用一组简单的协议命令进行发布和订阅。
打开一个终端,并与NATS演示实例建立连接。
预期结果大致如下所示。请注意,IP地址和INFO负载可能会有所不同。
任何与服务器建立连接的客户端都必须发送CONNECT消息以确认连接。可以指定多个选项来表明客户端支持的功能,但为了本示例的目的,我们可以发送一个空负载。
您将看到一条+OK消息作为响应。
在发送CONNECT后不久,您将收到一条PING消息。客户端与服务器之间存在双向行为,用于检查存活状态。如果服务器在一段时间内未收到客户端的PONG,则会关闭客户端连接。如果客户端给服务器发PING但没有收到PONG,则会在集群设置中尝试重新连接到其他服务器(如果有)。
您可以对服务器做出响应,只需简单地输入PONG并按回车键。
订阅通配符主题foo.*,订阅ID为90。
随后将出现一条+OK消息,表示订阅成功。
NATS连接是双向的,因此我们不仅可以订阅主题,还可以向它们发布消息。
我们可以发送PUB命令,后面跟主题和消息负载的长度,第二行将跟随消息负载。在本例中,hello是消息负载。输入完成后,按回车键即可发送消息。
随后将出现一条+OK消息,表示发布成功。
紧接着,将出现一条MSG消息,表示订阅者已接收到刚刚发布的消息。
您可以使用UNSUB命令取消订阅某个主题。
运行以下命令取消订阅:
现在我们已经取消了订阅,如果再次尝试发布消息,我们将收到+OK,但不会收到MSG。
使用Ctrl+C关闭连接。不过,如上所述,如果未执行此操作,在一段时间的不活动后,服务器将自动关闭连接。