Monolithic vs Microservice Architecture

Monolithic là gì?

  • Tất cả các thành phần, đều nằm trong một dự án
  • Mọi thứ đều được phát triển, triển khai, nâng cấp trong cùng một dự án
  • Dự ản chỉ được viết trong 1 ngôn ngữ (tech stack)
  • Các team muốn join vào dự án, cần phải biết ngôn ngữ đó, làm việc cẩn thận để không ảnh hưởng tới cviec của member khác
  • Nếu một chức năng thay đổi (payment) thì sẽ phải re-deploy lại toàn bộ project

Khó khăn:

Shop application

  • User authentication
  • shopping cart
  • product catalog
  • payment