Summary (สรุป)
ในบทนี้ ผมได้แยกแยะรูปแบบสำคัญบางส่วนของ microservice communication และพูดถึง trade-off ต่าง ๆ ไม่ได้มีตัวเลือกที่ ถูกต้อง เพียงหนึ่งเดียวเสมอไป แต่หวังว่าผมได้ให้รายละเอียดมากพอเกี่ยวกับ synchronous และ asynchronous call รวมถึง event-driven และ request-response communication style เพื่อช่วยให้คุณตัดสินใจได้ถูกต้องสำหรับ context ของคุณเอง bias ของผมเองที่มีต่อ asynchronous, event-driven collaboration ไม่ได้เป็นแค่ผลจากประสบการณ์ของผมเท่านั้น แต่ยังรวมถึงความรังเกียจ coupling โดยทั่วไปของผมด้วย แต่ communication style นี้ก็มาพร้อมความซับซ้อนที่มีนัยสำคัญซึ่งเพิกเฉยไม่ได้ และทุกสถานการณ์ก็มีเอกลักษณ์เฉพาะตัว
ในบทนี้ ผมได้กล่าวถึงเทคโนโลยีเฉพาะบางอย่างที่สามารถใช้ implement interaction style เหล่านี้โดยสังเขป ตอนนี้เราพร้อมที่จะเริ่มส่วนที่สองของหนังสือเล่มนี้แล้ว นั่นคือ implementation ในบทถัดไป เราจะสำรวจการ implement microservice communication ในรายละเอียดมากขึ้น
1 เรื่องจริง
2 Maarten van Steen and Andrew S. Tanenbaum, Distributed Systems , 3rd ed. (Scotts Valley, CA: CreateSpace Independent Publishing Platform, 2017).
3 โปรดสังเกตว่านี่เป็นตัวอย่างที่ทำให้ง่ายมาก ผมตัดโค้ด error-handling ออกไปทั้งหมด ยกตัวอย่างเช่น ถ้าคุณอยากรู้เพิ่มเติมเกี่ยวกับ async/await โดยเฉพาะใน JavaScript Modern JavaScript Tutorial เป็นจุดเริ่มต้นที่ดี
4 Gregor Hohpe and Bobby Woolf, Enterprise Integration Patterns (Boston: Addison-Wesley, 2003).