ในโลกของ Event-Driven Architecture นั้นมักจะมีการออกแบบ event ต่าง ๆ
สำหรับติดต่อสื่อสารระหว่างส่วนการทำงาน
แต่สิ่งหนึ่งที่มักจะขาดหายไปคือ เอกสารของแต่ละ event ว่ามีรายละเอียดอย่างไร
แต่ละ event ข้าม service หรือ domain อะไรบ้าง
ดังนั้นถ้ามีเครื่องมือมาช่วยจัดการน่าจะดีขึ้น
หนึ่งในเครื่องมือที่น่าสนใจคือ EventCatalog

ดังนั้นลองมาทำความรู้จักกับ EventCatalog กันหน่อย

มาดูความสามารถหลัก ๆ ของ EventCatalog

  • การเขียนอธิบายรายละเอียดของ Event ในรูปแบบของไฟล์ Markdown
  • สามารถค้นหา และ แสดงผลแบบสวย ๆ ของ Event และ Service ต่าง ๆ ได้ง่าย
  • สนับสนุน Event Schema และ versioning

ตัวอย่างการเขียนเอกสาร Event ด้วย Markdown format

โดยในแต่ละ event ประกอบไปด้วย

  • ชื่อ และ รายละเอียด
  • comsumer และ producer
  • owner

ส่วน Service/Domain ก็เขียนอธิบายได้ด้วย Markdown format เช่นกัน

สามารถทำการจัดเก็บ แสดงผล และ ค้นหาได้ดังรูป

ในแต่ละ service จะแสดงผลดังนี้

แสดงรายละเอียด ความสัมพันธ์กับ event
รวมทั้งสามารถ integrate เข้ากับ OpenAPI ได้ด้วย

และยังดู Visualize ในภาพใหญ่ได้อีกด้วย

มาใช้งานผ่านการติดตั้งดังนี้

$npx @eventcatalog/create-eventcatalog@latest my-catalog

ลองใช้งานกันดูครับ