Tôi nhầm lẫn về điểm mà tại đó ứng dụng web phân tách thành microservices - có phải ở cấp url hoặc cấp mô hình không? Ví dụ: Giả sử tôi có một ứng dụng nguyên khối phục vụ 3 trang. Giả sử mỗi trang phân phối một usecase riêng và tôi muốn quay lại eack của chúng với các dịch vụ nhỏ của riêng chúng. Bây giờ, cách nào trong số này là cách chính xác để triển khai kiến trúc dựa trên microservice:Kiến trúc của ứng dụng web dựa trên microservice
- Tôi tạo ba ứng dụng khác nhau (microservices), mỗi ứng dụng chứa (tuyến, bộ điều khiển, mô hình, mẫu) cho một trong các trang. Và sau đó dựa trên trang nào được yêu cầu, tôi định tuyến yêu cầu đến ứng dụng cụ thể đó. Điều này có nghĩa là toàn bộ trang từ cơ sở dữ liệu đến HTML được phục vụ bởi một ứng dụng riêng biệt. Về cơ bản, các trang khác nhau trong cùng một trang web đang được phục vụ hoàn toàn bởi các ứng dụng khác nhau trên chương trình phụ trợ.
- 3 dịch vụ nhỏ không xử lý giao diện người dùng nhưng chỉ có dữ liệu cho các lần sử dụng của chúng (mô hình, bộ điều khiển, không có mẫu) và hiển thị nó trên api REST. Tôi có một ứng dụng phải đối mặt công khai. Ứng dụng này truy vấn ba ứng dụng khác nhau (microservices) chỉ dành cho dữ liệu và sau đó xây dựng các trang html sẽ được trả lại cho trình duyệt. Tất cả các trang trong một ứng dụng web trong trường hợp này đang được phục vụ bởi một ứng dụng duy nhất mà nội bộ sử dụng ba dịch vụ nhỏ khác nhau.
Phiên bản thông dụng của câu trả lời này có thể là: ** Thành phần ** và ** Nguyên tắc chịu trách nhiệm duy nhất ** (như MV *, không trộn dữ liệu với kết xuất). –