Khước từ
Tôi hy vọng tôi không giẫm lên chân ai hoặc xúc phạm những người đam mê khái niệm
Lý lịch
Tôi đã tìm kiếm sự khác biệt thực sự giữa Kiến trúc hướng dịch vụ và Dịch vụ vi mô, mà không tìm thấy câu trả lời rõ ràng nào.
Tôi đọc những thứ như:
- tác dụng phụ của SOA
- SOA đang chống mẫu
- Microservice đã đến để sửa chữa các thất bại của SOA
- ESB không thực sự là ESB thay vào đó là EAI
- Quá phụ thuộc vào môi giới tin nhắn
- Các nhà cung cấp đang lạm dụng khái niệm về SOA và cố gắng bán sản phẩm của họ
- SOA phát triển không kiểm soát
Tuy nhiên, vẫn không có gì xác định rõ ràng sự khác biệt về kiến trúc giữa Kiến trúc hướng dịch vụ (như một khái niệm) và microservice (như một khái niệm)
Theo những gì tôi hiểu, cả hai đều có:
- Nhà cung cấp dịch vụ, chỉ làm một việc
- Cổng dịch vụ / ESB trưng bày các dịch vụ đó cho người tiêu dùng
- Người tiêu dùng dịch vụ, truy cập dịch vụ qua ESB / Cổng dịch vụ
Câu hỏi
Vì vậy, có điều gì khác ngoài việc gắn nhãn lại vào dịch vụ microsoft không? nó có phải là một hạn chế công nghệ được đặt để hạn chế microservice trở thành vĩ mô không?
Lưu ý: Tôi không tìm kiếm ý kiến, chỉ những sự thật khó khăn, hy vọng ở những gạch đầu dòng
Người giới thiệu
- Câu hỏi Kỹ thuật phần mềm
- Trang web của Martin Fowler (Tôi nghĩ rằng anh ấy ghét thời gian lớn)
- Thế giới thông tin
- Trang web của Michael Fethers
- Câu hỏi chồng chéo
Cập nhật
Có vẻ như một cuộc tranh luận tương tự đã xảy ra trong một câu hỏi tràn Stack , với các ý kiến được chia theo thời gian hoặc không phải là Dịch vụ vi mô là Kiến trúc hướng dịch vụ được ngụy trang.
Kết luận từ câu hỏi SO:
- MS là một trường hợp đặc biệt của SOA
- MS xác nhận kích thước nhỏ hơn của các ứng dụng dịch vụ lưu trữ
- MS phụ thuộc vào công nghệ (việc sử dụng HTTP thay vì tùy chọn giao thức mở)
- MS dựa vào công nghệ để thi hành kỷ luật (tự động triển khai dịch vụ)
- MS sử dụng ESB (ác), nhưng sử dụng API Gateways mà IMHO là một loại ESB
Điều đó kết luận rằng MS là SOA, nếu như sau đây là đúng:
- MS có ủng hộ khái niệm dàn nhạc không? Một hoặc nhiều quy trình tổng thể quản lý quy trình công việc
- Có một lớp môi giới tin nhắn trong MS? Một bộ các bộ điều hợp dịch các định dạng tin nhắn từ không gian tin nhắn của nhà sản xuất dịch vụ sang người tiêu dùng dịch vụ
- Microservice có thể đọc dữ liệu từ các ứng dụng doanh nghiệp nguyên khối? Nó có thể là API của một ứng dụng nguyên khối không? hoặc nó phải là các ứng dụng độc lập, có khả năng hoạt động độc lập?
Nếu câu trả lời cho câu hỏi cuối cùng là không, thì microservice sẽ không thể xử lý các hệ thống quy trình công việc phức tạp, ví dụ: Hệ thống quản lý thẻ tín dụng hoặc hệ thống đối chiếu
Martin Fowler's Site (I think he hates it big time)
Đó không phải là cảm xúc của tôi khi tôi đến buổi nói chuyện của anh ấy ở Barcelona. Anh ta nhận thức được sự đánh đổi và cách mọi người chuyển sang kiến trúc này một cách mù quáng mà không xem xét rằng MS không phù hợp với tất cả mọi người.