Explore NATS Pub/Sub
NATS is a publish subscribe messaging system based on subjects. Subscribers listening on a subject receive messages published on that subject. If the subscriber is not actively listening on the subject, the message is not received. Subscribers can use the wildcard tokens such as * and > to match a single token or to match the tail of a subject.
Prerequisites
Go and the NATS server should be installed. Optionally you can use the demo server located at nats://demo.nats.io
1. Start the NATS server
When the server starts successfully, you will see the following messages:
The NATS server listens for client connections on TCP Port 4222.
2. Start a shell or command prompt session
You will use this session to run an example NATS client subscriber program.
3. CD to the Go client examples directory
4. Run the client subscriber program
Where <subject> is a subject to listen on. A valid subject is a string that is unique in the system.
For example:
You should see the message: Listening on [msg.test]
5. Start another shell or command prompt session
You will use this session to run a NATS publisher client.
6. CD to the examples directory
7. Publish a NATS message
Where <subject> is the subject name and <message> is the text to publish.
For example:
or
8. Verify message publication and receipt
You should see that the publisher sends the message and prints: Published [msg.test] : 'NATS MESSAGE'
And that the subscriber receives the message and prints: [#1] Received on [msg.test]: 'NATS MESSAGE'
Note that if the receiver does not get the message, check that you are using the same subject name for the publisher and the subscriber.
9. Publish another message
You should see that the subscriber receives message 2. Note that the message count is incremented each time your subscribing client receives a message on that subject:
10. Start another shell or command prompt session
You will use this session to run a second NATS subscriber.
11. CD to the examples directory
12. Start a second client subscriber program
13. Publish another message using the publisher client
Verify that both subscribing clients receive the message.
14. Start another shell or command prompt session
You will use this session to run a third NATS subscriber.
15. CD to the examples directory
16. Subscribe to a different subject
All the but last subscriber receives the message. Why? Because that subscriber is not listening on the message subject used by the publisher.
17. Update the last subscriber to use a wildcard
NATS supports the use of wildcard characters for message subscribers only. You cannot publish a message using a wildcard subject.
Change the last subscriber the listen on msg.* and run it:
18. Publish another message
This time, all three subscribing clients should receive the message.
最后更新于
这有帮助吗?