จากการเปลี่ยนแปลงสิ่งต่าง ๆ ใน Spring Boot 3.2 นั้น
หนึ่งสิ่งที่น่าสนใจคือ Distributed Tracing
โดยเป็นการเปลี่ยนแปลงจาก Spring Boot 2.x แบบหน้ามือหลังมือ
ไม่สามารถใช้งานร่วมกันได้
จึงทำการสรุปการใช้งานไว้นิดหน่อย
เรื่องแรก คือ dependency ที่ใช้งานใน project
ซึ่งจะใช้งาน dependency ต่าง ๆ ดังนี้
- Spring Boot Actuator ใช้งานปกติ
- Micro meter กับ OpenTelemetry สำหรับการแปลงข้อมูล tracing ให้อยู่ในรูปแบบของ OpenTelemetry
- Exporter สำหรับจัดเก็บข้อมูล tracing โดยในตัวอย่างเลือกใช้งาน Zipkin
- การสร้าง custom span ใน code ของ project จะใช้แนวคิดของ AOP (Aspect Oriented Programming) มาใช้งาน
ถ้าสร้างเป็น Apache Maven project ในไฟล์ pom.xml เป็นดังนี้
เรื่องที่ 2 การ config เพื่อใช้งานในไฟล์ application.properties
เรื่องที่ 3 สร้าง custom span ใน code
เริ่มด้วยการสร้าง configuration สำหรับการสร้าง span ด้วย code ใน Spring Boot
จากนั้นทำการสร้าง span ด้วยการใช้ @Observered ได้เลย
เพียงเท่านี้ก็สามารถใช้งาน Distributed tracing ใน Spring Boot 3.2 แบบง่าย ๆ ได้แล้ว
Reference Websites