1.前提
・docerでのNATS Cluster環境
– 192.168.1.132
・port 4222 開放
(1) 192.168.1.132
(2) 192.168.1.130
・telnetでのPub-Subの確認
(1) terminal 1 (192.168.1.132)
(2) terminal 2 (192.168.1.130)
2.NATS Clusterを立ち上げ
3台のterminal(nats, nats-1, nats-2)
それぞれnats clusterのコマンドを投入
– nats
# docker run --name nats --network nats --rm -p 4222:4222 -p 8222:8222 nats --http_port 8222 --cluster_name NATS --cluster nats://0.0.0.0:6222
– nats-1
# docker run --name nats-1 --network nats --rm nats --cluster_name NATS --cluster nats://0.0.0.0:6222 --routes=nats://ruser:T0pS3cr3t@nats:6222
– nats-2
# docker run --name nats-2 --network nats --rm nats --cluster_name NATS --cluster nats://0.0.0.0:6222 --routes=nats://ruser:T0pS3cr3t@nats:6222
3.Pub-Subの確認
(1) terminal 1
・sub foo.car NAEBTBZVNV57JKIU2OYIUPVDSUDVYPAMLYR2HTSWE47SZD6N5HPF5D6B
# telnet localhost 4222 Trying ::1... telnet: connect to address ::1: Connection refused Trying 127.0.0.1... Connected to localhost. Escape character is '^]'. INFO {"server_id":"NCCCSCF5WA2HFH6C4QP3SZIKB675EKK2K3I4BPNLQ6FKSN2KSWH7YSAI","server_name":"NCCCSCF5WA2HFH6C4QP3SZIKB675EKK2K3I4BPNLQ6FKSN2KSWH7YSAI","version":"2.8.4","proto":1,"git_commit":"66524ed","go":"go1.17.10","host":"0.0.0.0","port":4222,"headers":true,"max_payload":1048576,"client_id":19,"client_ip":"10.89.0.1","cluster":"NATS","connect_urls":["10.89.0.22:4222","10.89.0.23:4222","10.89.0.24:4222"]} sub foo.car NAEBTBZVNV57JKIU2OYIUPVDSUDVYPAMLYR2HTSWE47SZD6N5HPF5D6B +OK
(2) terminal 2
・pub foo.car 5
・メッセージを送る:12121
# telnet 192.168.1.132 4222 Trying 192.168.1.132... Connected to 192.168.1.132. Escape character is '^]'. INFO {"server_id":"NCCCSCF5WA2HFH6C4QP3SZIKB675EKK2K3I4BPNLQ6FKSN2KSWH7YSAI","server_name":"NCCCSCF5WA2HFH6C4QP3SZIKB675EKK2K3I4BPNLQ6FKSN2KSWH7YSAI","version":"2.8.4","proto":1,"git_commit":"66524ed","go":"go1.17.10","host":"0.0.0.0","port":4222,"headers":true,"max_payload":1048576,"client_id":21,"client_ip":"192.168.1.130","cluster":"NATS","connect_urls":["10.89.0.22:4222","10.89.0.23:4222","10.89.0.24:4222"]} pub foo.car 5 12121 +OK
(3) terminal 1
・メッセージを受け取る:12121
MSG foo.car NAEBTBZVNV57JKIU2OYIUPVDSUDVYPAMLYR2HTSWE47SZD6N5HPF5D6B 5 12121