Avatar
0
Thành Zũ Beginner
Thành Zũ Beginner
Có sự khác biệt lớn giữa Modular monolith với Microservice hay không
Cho em hỏi giữa modular monolith với microservice có khác biệt lớn hay không nhỉ hay chỉ khác biệt giữa cách triển khai. Ví dụ trong modular monolith em cũng module hoá từng service riêng biệt và giao tiếp thông qua grpc/http/message queue, mỗi service cũng có db riêng, giống với concept của microservice nhưng em lại để chung trong 1 solution (.net) hoặc chung trong 1 docker compose, và chỉ deploy solution hoặc file docker compose đó lên thôi. Nếu em tách từng service cho từng solution rồi deploy riêng biệt độc lập cho từng service thì nó có được coi là microservice hay không, hay microservice còn hơn thế nữa.
  • Answer
Remain: 5
1 Answer
Avatar
tvd12 Beginner
tvd12 Beginner
The Best Answer
Đầu tiên hãy nói về sự giống nhau:

Cả 2 thằng này đều là tư tưởng thiết kế, nghĩa là nó không có một cách cài đặt cụ thể mà tuỳ vào design pattern mà em chọn để cài đặt, ví dụ em có thể chọn plugin pattern cho Modular monolith và message bus pattern cho microservice.

Tiếp theo là sự khác nhau:

Khác nhau về cách triển khai
  • modular monolith thường triển khai trên một máy chủ duy nhất, chạy một chương trình duy nhất.
  • microservice thường triển khai mỗi service trên một máy chủ, nghĩa là sẽ cần nhiều máy chủ.
  • một microservice cũng có thể là sự kết nối của nhiều modular monolith.

Ví dụ ezyplatform là một modular monolith cài đặt theo plugin pattern nó có rất nhiều module trong một chương trình máy chủ, tuy nhiên em có thể chạy nhiều máy chủ chạy ezyplatform và kết nối chúng lại thành microservice.

Khác nhau về đối tượng sử dụng
  • modular monolith thường sử dụng nhiều hơn trong các dự án trung bình và nhỏ hay IoT, có thể em hơi ngạc nhiên nhưng các thiết bị IoT hầu hết sử dụng modular monolith, thậm chí bọn nó có khả năng tự động nâng cấp phiên bản.
  • microservice thường dùng cho các dự án siêu lớn.

Theo em mô tả thì hiện là em đang triển khai một hệ thống microservice nhé.

  • 1
  • Reply
dạ em cảm ơn nhiều ạ  –  Thành Zũ 1730691861000