ข้ามไปยังเนื้อหา

Patterns & Alternatives

ตอนนี้คุณรู้จักกลไกทั้งหมดแล้ว — exchange, queue, acknowledgement, confirm, dead-letter exchange โมดูลสุดท้ายนี้ว่าด้วย การตัดสินใจ: pattern ไหนเหมาะกับปัญหาแบบไหน, เมื่อไรที่ RabbitMQ เป็นเครื่องมือที่ผิด และจะประกอบทุกอย่างที่เรียนมาให้เป็น consumer ที่เชื่อถือได้บน production ได้อย่างไร

บทเรียนสิ่งที่คุณจะได้เรียน
Messaging patternswork queue, pub/sub, routing, RPC และ event-driven choreography — และเมื่อไรควรใช้แต่ละแบบ
RabbitMQ vs Kafkaqueue semantics เทียบกับ log ที่ replay ได้ และจะเลือกอย่างไร
RabbitMQ Streamslog แบบ append-only ที่ replay ได้ ซึ่ง build มาในตัว RabbitMQ
Designing a resilient consumerconsumer ระดับ production ที่รวมทุกบทเรียนเรื่อง reliability เข้าด้วยกัน

ทุก pattern ในคอร์สนี้คือรูปทรงที่ต่างกันของ flow แบบ publish-route-consume เดียวกัน:

flowchart TB
  ev["event หรือ task หนึ่งตัว"] --> q1["Work queue
(worker ตัวเดียวจากหลายตัวทำ)"]
  ev --> q2["Pub/sub
(subscriber ทุกตัวได้ copy)"]
  ev --> q3["Routing/topic
(เฉพาะ consumer ที่ match)"]
  ev --> q4["RPC
(ส่ง request แล้วรอ reply)"]
ทุก pattern คือรูปทรงของ flow เดียวกัน

ทักษะที่ต้องมีไม่ใช่การท่องจำแต่ละแบบ — แต่คือการมองออกว่า requirement ใหม่ที่เข้ามาเป็นรูปทรงไหน การมองออกแบบนี้คือสิ่งที่โมดูลที่เหลือจะสร้างให้

โมดูลสุดท้ายนี้ว่าด้วยเรื่องอะไรเป็นหลัก?
work queue, pub/sub, routing และ RPC มีอะไรที่เหมือนกัน?
senior engineer เพิ่มคุณค่าได้มากที่สุดตรงไหนในงาน messaging?