NSQ - A reatlime distributed messaging platform

โปรแกรม NSQ เป็นโปรแกรมที่มีคุณสมบัติแจกจ่ายข้อมูล ถูกทำมาอย่างเรียบง่าย ไม่เน้นความปลอดภัย แต่เน้นประสิทธิภาพและประสิทธิผล มันมีส่วนประกอบ 2-3 ส่วนที่สื่อสารกันอยู่ภายใน ผมเลยไปลองแกะ ๆ ดู ว่าส่วนประกอบภายในมันคุยกันยังไงบ้าง ตามรูป

NSQ – A reatlime distributed messaging platform

มันถูกออกแบบมาให้คุยกันเองภายในด้วย TCP และ HTTP ในขณะที่คุยกับโปรแกรมอื่นด้วย HTTP ซึ่งส่วนตัวมองว่ามันไม่ปลอดภัย คือมันควรจะคุยกับโปรแกรมอื่นได้ด้วย HTTPS เผื่อข้อมูลมันเป็นความลับ จะได้ไม่มีใครแทรกแซงขโมยไปดูได้น่ะ

หลักการทำงานก็ไม่มีอะไรมาก

  1. ผู้แจกข้อมูลหรือ Publisher แจกข้อมูลให้กับโปรแกรม NSQ ด้วยพอร์ต TCP เบอร์ 4151 สื่อสารกันด้วย HTTP Message
  2. โปรแกรม NSQ ส่งต่อข้อมูลให้กับโปรแกรม NSQLOOKUPD ด้วยพอร์ต TCP เบอร์ 4160 สื่อสารกันด้วย Message ธรรมดา
  3. ผู้รับข้อมูลหรือ Subscriber รับแจกข้อมูลจากโปรแกรม NSQLOOKUPD ด้วยพอร์ต TCP เบอร์ 4161 สื่อสารกันด้วย HTTP Message โดยจะเป็นฝ่ายเรียกข้อมูลทุก ๆ 1 นาที (Polling ทุก 1 นาที)
  4. ผู้เฝ้าตรวจสอบใช้เว็บบราวเซอร์ ติดต่อไปยังโปรแกรม NSQADMIN ด้วยพอร์ต TCP เบอร์ 4171 สื่อสารกันด้วย HTTP Message
  5. โปรแกรม NSQADMIN ติดต่อไปยังโปรแกรม NSQLOOKUPD ด้วยพอร์ต TCP เบอร์ 4161 สื่อสารกันด้วย HTTP Message แล้วเอาข้อมูลที่ได้รับกลับมา ไปป้อนกลับให้ผู้เฝ้าตรวจสอบที่เฝ้าอยู่ที่หน้าจอเว็บบราวเซอร์

มีคนบอกว่าไปใช้ Kafka หรือ Pusar น่าจะเวิร์กกว่าใช้ NSQ

Related Posts

ใส่ความเห็น

อีเมลของคุณจะไม่แสดงให้คนอื่นเห็น ช่องข้อมูลจำเป็นถูกทำเครื่องหมาย *