ในการออกแบบระบบสารสนเทศขนาดใหญ่ที่ต้องรองรับผู้ใช้หลายล้านคน ผู้ออกแบบกำลังตัดสินใจระหว่าง Monolithic Architecture กับ Microservices Architecture ข้อใดวิเคราะห์ Trade-off ได้ถูกต้องที่สุด

Microservices ดีกว่าเสมอเพราะขยายตัวได้ดีกว่า
สองสถาปัตยกรรมมีประสิทธิภาพเท่ากัน ขึ้นอยู่กับภาษาโปรแกรมที่ใช้
Monolithic ดีกว่าเพราะง่ายกว่าและประสิทธิภาพสูงกว่า
Microservices มีความซับซ้อนในการจัดการสูงกว่า (Network Latency, Distributed Data) แต่ขยายตัวแต่ละส่วนอิสระได้ ส่วน Monolithic ง่ายกว่าในการพัฒนาและ Debug แต่ขยายตัวทั้งระบบพร้อมกันทำให้สิ้นเปลือง

เฉลยอธิบาย

การวิเคราะห์ Trade-off ที่ถูกต้อง: Microservices ให้ Independent Scaling (ขยายเฉพาะส่วนที่ Bottleneck), Independent Deployment, Technology Diversity แต่เพิ่มความซับซ้อนด้าน Distributed Systems, Network Latency, Data Consistency ส่วน Monolithic ง่ายกว่าในการพัฒนาและ Debug แต่ Scale ทั้งระบบหรือไม่ก็ไม่ Scale ตัวเลือก A เป็น Overgeneralization ตัวเลือก B ไม่พิจารณา Scalability ตัวเลือก D ผิดเพราะสถาปัตยกรรมส่งผลต่อประสิทธิภาพอย่างมีนัยสำคัญ

ข้อสอบอื่นในวิชาการวิเคราะห์ระบบ ออกแบบฐานข้อมูลและการพัฒนาระบบสารสนเทศ

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