ในโลกของ Event-Driven Architecture นั้นมักจะมีการออกแบบ event ต่าง ๆ
สำหรับติดต่อสื่อสารระหว่างส่วนการทำงาน
แต่สิ่งหนึ่งที่มักจะขาดหายไปคือ เอกสารของแต่ละ event ว่ามีรายละเอียดอย่างไร
แต่ละ event ข้าม service หรือ domain อะไรบ้าง
ดังนั้นถ้ามีเครื่องมือมาช่วยจัดการน่าจะดีขึ้น
หนึ่งในเครื่องมือที่น่าสนใจคือ EventCatalog
ดังนั้นลองมาทำความรู้จักกับ EventCatalog กันหน่อย
มาดูความสามารถหลัก ๆ ของ EventCatalog
- การเขียนอธิบายรายละเอียดของ Event ในรูปแบบของไฟล์ Markdown
- สามารถค้นหา และ แสดงผลแบบสวย ๆ ของ Event และ Service ต่าง ๆ ได้ง่าย
- สนับสนุน Event Schema และ versioning
ตัวอย่างการเขียนเอกสาร Event ด้วย Markdown format
[gist id="f3ce0c6742d7032796af8f3005975fdd" file="1.txt"]โดยในแต่ละ event ประกอบไปด้วย
- ชื่อ และ รายละเอียด
- comsumer และ producer
- owner
ส่วน Service/Domain ก็เขียนอธิบายได้ด้วย Markdown format เช่นกัน
[gist id="f3ce0c6742d7032796af8f3005975fdd" file="2.txt"]สามารถทำการจัดเก็บ แสดงผล และ ค้นหาได้ดังรูป
ในแต่ละ service จะแสดงผลดังนี้
แสดงรายละเอียด ความสัมพันธ์กับ event
รวมทั้งสามารถ integrate เข้ากับ OpenAPI ได้ด้วย
และยังดู Visualize ในภาพใหญ่ได้อีกด้วย
มาใช้งานผ่านการติดตั้งดังนี้
[code] $npx @eventcatalog/create-eventcatalog@latest my-catalog [/code]ลองใช้งานกันดูครับ