Quantcast
Channel: cc :: somkiat
Viewing all articles
Browse latest Browse all 1997

มาลองใช้งาน NATS JetStream เล่น ๆ

$
0
0

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

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

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

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

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

[gist id="0748d35cc61f6b2173729328e9fdfa07" file="docker-compose.yml"]

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

[gist id="0748d35cc61f6b2173729328e9fdfa07" file="1.txt"]

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

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

[gist id="0748d35cc61f6b2173729328e9fdfa07" file="connect.go"]

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

[gist id="0748d35cc61f6b2173729328e9fdfa07" file="pub.go"]

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

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

[gist id="0748d35cc61f6b2173729328e9fdfa07" file="sub.go"]

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


Viewing all articles
Browse latest Browse all 1997

Trending Articles