เห็นว่า NATS นั้นมี JetStream มาให้ใช้งาน
เพื่อมาจัดการปัญหาเรื่องของ persistence และ นโยบายการ delivery message
รวมทั้งให้ง่ายต่อการ scale และรองรับข้อมูลขนาดใหญ่
สามารถดูเป้าหมายการออกแบบของ JetStream เพิ่มได้ที่นี่

โดยที่การทำงานของ JetStream นั้น จะรองรับทั้งแบบ push และ pull message
แสดงดังรูป

เพื่อความสนุกสนาน มาลองใช้งานกันดีกว่า

โดย software ที่ใช้งานใน blog นี้ประกอบไปด้วย

ขั้นตอนที่ 1 ทำการ start NATS JetStream Server ด้วย Docker

ทำการ start server ดังนี้

ขั้นตอนที่ 2 ทำการเขียน codeด้วยภาษา Go สำหรับ connect ไปยัง NATS server

เชื่อมต่อไปยัง NATS server ผ่าน port 4242
ทำการสร้าง stream ชื่อว่า data ในกรณีที่ยังไม่มีการสร้าง

ขั้นตอนที่ 3 ทำการสร้างส่วนของ Publisher เพื่อสร้าง message เข้าไปยัง demo.data

ขั้นตอนที่ 4 ทำการสร้างส่วนของ Subscriber เพื่อรับ message จาก demo.data

ซึ่งทำงานแบบ push ดังนี้

เพียงเท่านี้ก็สามารถเริ่มต้นใช้งาน NATS JetStream Server ได้แล้ว
รวมทั้งเขียน code ด้วยภาษา Go เพื่อ publish/subscribe ข้อมูลแบบง่าย ๆ อีกด้วย