Event notifications

Posted on:December 12, 2022

เนื้อหาในบทความนี้ต่อจาก

Message queues, Commands, Events, และ Queries

Event notifications

event notification คือ message ที่เกี่ยวกับการเปลี่ยนแปลงของ business domain มีเป้าหมายคือ แจ้งให้ consumer ได้รับรู้หาก application มีสถานะที่เปลี่ยนแปลงไปจากเดิม ดังนั่น mesaage ของการแจ้งเตือนจึงมีข้อมูลที่ minimum อาจจะมีแค่ identifier (ID), query url หรือ timesamp ของ event ถ้า consumer ต้องการข้อมูลเพิ่มเติมจะเป็นการ request มาที่ producer ผ่าน protocol ที่ตกลงกันไว้

Event Notifactions.

ตัวอย่าง Message ของ Event notifications

{
  "type": "payment-received",
  "timestamp": 1670827461,
  "payload": {
	"id": "20221212001",
	"link": "/getPaymentInfo"
  }
}

สมมุติว่าเรามี payment service เมื่อลูกค้าชำระเงินสำเร็จ เกิด event ที่ชื่อว่า payment-received ฝั่ง consumer ที่สนใจได้รับ message ที่ประกอบไปด้วย type ของ event, timesamp, id และ link จะสังเกตเห็นว่าไม่มีข้อมูลที่เกี่ยวกับรายละเอียดของการการชำระเงิน เช่น จำนวนเงินเท่าไร ชำระผ่านธนาคารอะไร หาก consumer ต้องการข้อมูลเหล่านี้จะต้อง request ไปที่ link ใน message เพื่อขอข้อมูลเพิ่มเติม จุดขายของ event notifications คือ