Tôi nghe Amazon sử dụng HTTP cho kiến trúc dựa trên microservice của nó. Một cách khác là sử dụng hệ thống nhắn tin như hệ thống RabbitMQ hoặc Solace. Cá nhân tôi có kinh nghiệm với kiến trúc microservice dựa trên Solace, nhưng không bao giờ với REST.
Bất kỳ ý tưởng nào khác nhau triển khai giải đấu lớn như Amazon, Netflix, UK Gov vv sử dụng?
khía cạnh khác, trong microservices, sau điều được yêu cầu (ngoài những người khác):
* Pattern phù hợp với
* Async tin nhắn .. hệ thống tiếp nhận có thể được xuống
* Xuất bản đăng ký
* kiện tải cache .. tức là trên khởi động, một dịch vụ có thể cần phải tải tất cả dữ liệu từ một vài dịch vụ khác và phải được thông báo khi dữ liệu được tải hoàn toàn, để nó có thể 'biết' rằng nó đã sẵn sàng cho các yêu cầu dịch vụ
được thực hiện với nhắn tin thay vì REST. Tại sao mọi người nên sử dụng REST (ngoại trừ API công khai). Cảm ơn.Microservices: REST vs Messaging
Trả lời
Tiêu chuẩn mà tôi đã theo trong quá khứ là sử dụng dịch vụ web khi yêu cầu chính là tốc độ (và mất dữ liệu không quan trọng) và nhắn tin khi yêu cầu chính là độ tin cậy. Như bạn đã nói, nếu hệ thống tiếp nhận bị hỏng, một thông báo sẽ nằm trên hàng đợi cho đến khi hệ thống trở lại để xử lý nó. Nếu đó là một điểm cuối REST và nó xuống, yêu cầu sẽ chỉ đơn giản là thất bại.
+1, Bạn có thể nghĩ về ý nghĩa liên kết của truyền thông đồng bộ (REST), nếu một thất bại tất cả các người phụ thuộc của nó sẽ thất bại, do đó, ngoài việc mất dữ liệu nó có thể gây ra một phản ứng dây chuyền mà có thể mang lại cho toàn bộ hệ thống xuống. –
@SeanFarmar đây là cái mà tôi gọi là Hiệu ứng Domino. Một vấn đề liên quan là Hiệu ứng Ripple, nơi những thay đổi trong một dịch vụ có thể đòi hỏi những thay đổi trong các dịch vụ hạ lưu. – MattDavey
API REST chỉ sử dụng HTTP. nó là công nghệ thời đại đá khá và không chấp nhận không đồng bộ. nhắn tin. Để nhắn tin cho plugin ở đó, tôi sẽ xem xét Cổng WebSockets -xin lỗi cho các tuyên bố cuối cùng giả mạo
- 1. Multicasting, Messaging, ActiveMQ vs. MSMQ?
- 2. Active MQ vs JBoss Messaging
- 3. GraphQL và Microservices
- 4. REST vs SOAP evolvability
- 5. REST vs SOAP - SOAP thực sự an toàn hơn REST?
- 6. Microservices xác thực
- 7. pom mẹ và microservices
- 8. BDD và microservices
- 9. Java JMS Messaging
- 10. Spring RestTemplate Vs Jersey Rest Client Vs Khách hàng RestEasy
- 11. HP ALM: Rest API vs OTA
- 12. Hiệu suất Grails vs Spring cho REST
- 13. Outlook REST API vs Microsoft Graph
- 14. tài liệu API tập trung cho microservices
- 15. Giao tiếp giữa hai microservices
- 16. Truy vấn/Pagination Across Microservices
- 17. Microservices: datasource per instance hoặc microservice?
- 18. Cách triển khai microservices trên Heroku
- 19. cài đặt tập trung với microservices
- 20. C2DM ĐẾN Google Cloud Messaging (GCM)
- 21. Google Cloud Messaging đăng ký AUTHENTICATION_FAILED
- 22. REST vs gRPC: khi nào tôi nên chọn cái kia?
- 23. Dịch vụ web REST: Symfony 2 vs silex
- 24. Thiết kế ủy quyền và người dùng microservices
- 25. Hiệu suất Ruby/Rails: OpenURI so với NET: HTTP vs Curb vs Rest-Client
- 26. Không cho phép cuộc gọi trực tiếp tới Microservices. Chỉ cho phép thông qua API Gateway
- 27. Microservices: cách xử lý các mối quan hệ khóa ngoài
- 28. Microservices: cơ sở dữ liệu và các trường hợp microservice
- 29. Golang Microservices không thể liên lạc bằng Docker for Mac
- 30. Tìm kiếm Công nghệ Cổng API gọi nhiều microservices
HTTP, REST là thông số kỹ thuật. RabbitMQ/Solace là những người môi giới thông điệp. Câu hỏi của bạn là "các ứng dụng dịch vụ dựa trên HTTP/REST" là gì? – k1133
hmm có thể sử dụng các trường hợp REST nên được sử dụng và nơi sử dụng tin nhắn, hoặc kết hợp .. tại sao điều này và không phải là loại –