Dấu hiệu của một Microservice không tốt

Dưới đây là những dấu hiệu của một Microservice không tốt trong ứng dụng Microservices. Lưu ý là số ít và số nhiều nhé.

Một service với nhiều nhiệm vụ: Flow chính của business logic trong service là phức tạp và có vẻ phải tuân thủ nhiều business rules khác nhau.
Một service quản lý dữ liệu của một lượng lớn các bảng: Một microservice là nguồn dữ liệu độc quyền cho dữ liệu mà nó quản lý. Nghĩa là chỉ nó có thể thao tác trên dữ liệu đó. Nếu bạn thấy bạn thao tác với dữ liệu trên nhiều bảng hoặc lấy dữ liệu từ bảng biên ngoài của cơ sở dữ liệu hiện tại, thì đây là một service quá lớn. Một microservice không nên giữ nhiều hơn 5 bảng. Nếu nhiều hơn, thì nghĩa là service có vẻ có quá nhiều nhiệm vụ.
Có quá nhiều test cases: Các services có thể tăng kích thước và nhiệm vụ qua thời gian. Nếu bạn có một service mà bắt đầu với một lượng nhỉ các test case và kết thúc với khoảng trăm unit và integration test case, bạn có thể cần phải refactor.

Còn về một microservice quá nhỏ?

Các microservices trong một phần của problem domain tăng nhanh: Nếu mọi thứ trở thành microservice, việc kết hợp business logic từ các services trở nên phức tạp và khó khăn vì số lượng các services cần thiết để thực hiện một công việc trở nên khổng lồ. Một ví dụ phổ biến là bạn có hàng tá các microservices trong một ứng dụng và mỗi service tương tác với một bảng duy nhất trong database.
Các microservices quá phụ thuộc vào những microservices khác: Bạn thấy rằng các microservices trong một phần của vấn problem domain liên tục gọi qua gọi lại lẫn nhau để hoàn thành một user request.
Các microservices của bạn là một tập của các CRUD services: Các microservices là một thể hiện cho một business logic chứ không phải một lớp trừu tượng để tương tác với data sources. Nếu các microservices của bạn không làm gì ngoài các thao tác CRUD, chúng có vẻ là quá nhỏ.

Nhận xét