Một trong những đối số phổ biến để sử dụng microservice là khả năng mở rộng tốt hơn. Nhưng tôi tự hỏi liệu lập luận này có thực sự hợp lệ hay không.
Hãy nói rằng chúng tôi đã có một ứng dụng bao gồm 10 microservice với 9 trong số đó có hai trường hợp (để dự phòng) và một trong số đó có 4 trường hợp để xử lý tải (khả năng mở rộng). Đối số pro-microservice sau đó là bạn có thể mở rộng quy mô miroservice này một cách độc lập khỏi các dịch vụ khác.
Tuy nhiên, giả sử tất cả 10 microservice là các mô-đun trong một khối đơn và một số trường hợp (ví dụ 22 như tổng từ trên) của khối nguyên khối này đã được triển khai. Hệ thống sẽ có thể xử lý tải cho một phần quan trọng, bởi vì có đủ trường hợp để làm như vậy. Nếu các trường hợp chứa logic chương trình không cần thiết, nhược điểm duy nhất là, nhị phân và dung lượng RAM cần thiết sẽ lớn hơn một chút. Nhưng một lần nữa, sự khác biệt không nên quá lớn trong hầu hết các trường hợp - ít nhất là không so với phần còn lại của ngăn xếp (nghĩ về Spring Boot). Mặt trái của một khối nguyên khối sẽ là một hệ thống đơn giản hơn mà không có (hầu hết) các ngụy biện của một hệ thống phân tán.
Tui bỏ lỡ điều gì vậy?