ทั้ง SOA (Service-Oriented Architecture) และ microservices ทั้งคู่แยกระบบออกเป็นบริการ แต่แตกต่างกันในเรื่องความละเอียด การเป็นเจ้าของข้อมูล และวิธีที่บริการสื่อสารกัน
ทั้ง SOA (Service-Oriented Architecture) และ microservices ทั้งคู่แยกระบบออกเป็นบริการ แต่แตกต่างกันในเรื่องความละเอียด การเป็นเจ้าของข้อมูล และวิธีที่บริการสื่อสารกัน
คลังคำถามสัมภาษณ์งาน IT พร้อมคำตอบโดยละเอียด — ตั้งแต่ระดับ Junior ถึง Senior
บริจาค| ด้าน | SOA | ไมโครเซอร์วิส |
|---|
| ความละเอียด | หยาบ ๆ | ละเอียด |
| การสื่อสาร | มักผ่าน ESB | เบา (REST/gRPC/messaging) |
| ข้อมูล | มักแชร์กัน | ฐานข้อมูลต่อบริการ |
| การปกครอง | รวมศูนย์ | กระจายอำนาจ |
| โปรโตคอล | มักเป็น SOAP/XML | โดยปกติ HTTP/JSON, gRPC |
SOA ─▶ Service A ─▶ [ Enterprise Service Bus ] ─▶ Service B
(smart pipes, central orchestration, shared schemas)
Microservices ─▶ Service A ──(direct REST/gRPC/event)──▶ Service B
("smart endpoints, dumb pipes" — logic lives in services)
ไมโครเซอร์วิสปฏิบัติตามหลักการ "smart endpoints, dumb pipes": ความฉลาดอยู่ในบริการ และการขนส่งยังคงเรียบง่าย SOA มักรวมศูนย์ตรรกะในESB
อย่านำ ESB แบบขวดคอกลับมาใช้ บัสส่วนกลางที่หนักจะทำให้ไมโครเซอร์วิสกลายเป็น SOA ด้วยขั้นตอนพิเศษ
ความแตกต่างส่วนใหญ่เกี่ยวกับ การกระจายอำนาจ: ไมโครเซอร์วิสส่งต่อการเป็นเจ้าของข้อมูลและตรรกะให้กับแต่ละบริการเพื่อหลีกเลี่ยงจุดคอขวดส่วนกลางที่ทำให้ SOA วิธีการจำนวนมากล้มเหลว
การเข้าใจสิ่งนี้จะป้องกันไม่ให้คุณเชื่อมต่อ SOA ในชื่อไมโครเซอร์วิส