ในสถาปัตยกรรม 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 ไม่ใช่ข้อจำกัดที่แท้จริง

ข้อสอบอื่นในวิชาความรู้ทั่วไปด้านเครื่องคอมพิวเตอร์แม่ข่าย (Server) และระบบเครือข่าย

ดูข้อสอบวิชานี้ทั้งหมด →