Microservices คืออะไร?

Описание к видео Microservices คืออะไร?

มาทำความรู้จักกับ Architecture ยอดนิยมอย่าง Microservices ซึ่ง แนวโน้มของการพัฒนาซอฟแวร์นั้นจะมีการเพิ่ม requirements และความซับซ้อนมากขึ้นเรื่อยๆในทุกๆปี ดังนั้นเมื่อเวลาผ่านไปความต้องการของ user ก็จะมีมากขึ้นและก็จะยิ่งซับซ้อนมากขึ้นดังนั้นการที่เราพัฒนาระบบขั้นมาเป็นแบบ Monoliths นั้นจะทำให้เกิดข้อจำกัดต่างๆดังนี้

1. ระบบยิ่งมีขนาดใหญ่ ยิ่งมีจำนวน developer มากขึ้น เมื่อคนเยอะขึ้นการสื่อสารก็ทำได้ยากขึ้นตามไปด้วย

2. ปริมาณของ data นั้นจะมีมากขึ้นเรื่อยๆ ยิ่ง data มีปริมาณมาก ความเสี่ยงก็จะมากขึ้นตามไปด้วย(Centralize Database)
3. ยิ่งระบบมีขนาดใหญ่ขึ้นการแก้ไข(maintain)ก็ทำได้ยากขึ้น
4. ยิ่งระบบใหญ่ขึ้นก็ต้องมี module มากขึ้น และเมื่อมี module มากขึ้นการสื่อสารระหว่าง module ก็จะมากขึ้นตามไปด้วย นั่นทำให้ระบบเกิด high coupling(ถอดออกได้ยาก)
5. ยิ่งระบบใหญ่ขึ้น technical debt ก็จะมากขึ้นตามไปด้วย

technical dept คือ การที่เราแก้ปัญหาโดยไม่ได้แก้ที่ต้นเหตุ ดังนั้นปัญหาจริงๆจะยังคงอยู่และเมื่อปัญหาที่เราได้หมกไว้นี้กลับมาเกิดขึ้นใหม่ก็จะทำให้ใช้ต้นทุนทั้งเวลาและจำนวนคนที่เข้ามาแก้ไขปัญกานี้มากขึ้น

ซึ่งนี่ก็เป็นสาเหตุว่าทำไมเราจึงควรเปลี่ยนมาเป็น Microservices Architecture เพื่อที่จะลดปัญหาที่ว่ามาทั้งหมดนี้ เพราะเมื่อ source code มีขนาดเล็กลง ปัญหาก็จะน้อยลงตามไปด้วย
0:10 Monolith คืออะไร
1:00 ปัญหาของ Monolith คืออะไร
3:05 จาก Monolith สู่ Microservices
3:23 ต้องแตก services ขนาดไหนถึงจะพอดี
3:53 สิ่งที่ต้องมีในแต่ละ Service
8:17 หลักการออกแบบ Microservices

Комментарии

Информация по комментариям в разработке