Explore NATS Request/Reply

NATS supports request/reply messaging. In this tutorial you explore how to exchange point-to-point messages using NATS.

Prerequisites

Go and the NATS server should be installed.

1. Start the NATS server

  1. % nats-server

2. Start two terminal sessions

You will use these sessions to run the NATS request and reply clients.

3. Change to the examples directory

  1. % cd $GOPATH/src/github.com/nats-io/nats.go/examples

4. In one terminal, run the reply client listener

  1. % go run nats-rply/main.go help.please "OK, I CAN HELP!!!"

You should see the message: Listening on [help.please]

This means that the NATS receiver client is listening for requests messages on the “help.please” subject. In NATS, the receiver is a subscriber.

5. In the other terminal, run the request client

  1. % go run nats-req/main.go help.please "I need help!"

The NATS requestor client makes a request by sending the message “I need help!” on the “help.please” subject.

The NATS receiver client receives the message, formulates the reply (“OK, I CAN HELP!!!”), and sends it to the inbox of the requester.