ในสถาปัตยกรรม Microservices แต่ละ Service สื่อสารกันผ่าน API ทำให้มีการรับส่งข้อมูลระหว่าง Service จำนวนมาก เปรียบเทียบกับสถาปัตยกรรม Monolithic ข้อเสียเปรียบหลักของ Microservices ในแง่ระบบเครือข่ายคืออะไร
กMicroservices ต้องใช้ฐานข้อมูลเดียวกันทุก Service ทำให้เกิด Bottleneck
ขMicroservices ไม่สามารถใช้ Load Balancer ได้
คNetwork Latency และ Overhead จากการสื่อสารระหว่าง Service เพิ่มขึ้นมาก เนื่องจากการเรียกฟังก์ชันที่เคยทำภายใน Process เดียวกันกลายเป็น Network Call
งMicroservices ไม่สามารถ Scale ได้เลย
เฉลยอธิบาย
ใน Monolithic Architecture การเรียกฟังก์ชันต่าง ๆ เกิดขึ้นภายใน Process เดียวกัน มี Latency ต่ำมาก แต่ใน Microservices การเรียกแต่ละ Service ต้องผ่าน Network Call (HTTP/gRPC) ซึ่งมี Overhead สูงกว่ามาก ทั้งจาก Serialization/Deserialization, Network Round-trip และการจัดการ Connection ทำให้ระบบซับซ้อนและอาจเกิด Cascading Failure ได้ง่ายขึ้น ตัวเลือก A ผิดเพราะ Microservices Scale ได้ดีกว่า Monolithic ตัวเลือก C และ D ไม่ใช่ข้อจำกัดที่แท้จริง