Tôi hiểu rằng lửa và quên được dành cho các tình huống mà bạn không quan tâm đến phản hồi. Liệu nó cũng đảm bảo giao hàng ngay cả khi phản ứng không quan trọng đối với ứng dụng đang chạy?Stackexchange.redis có cháy và quên đảm bảo giao hàng không?
Trả lời
Thực ra, giao thức Redis không thực sự hỗ trợ các hoạt động "kích hoạt và quên". Ngoại trừ lưu lượng truy cập pub/sub, tất cả các lệnh Redis được khớp với câu trả lời và không có cách nào để yêu cầu máy chủ Redis bỏ qua câu trả lời.
Bây giờ một số khách hàng (như StackExchange.Redis) mô phỏng chế độ "lửa và quên" thông qua triển khai không đồng bộ của giao thức. Trên thực tế, chế độ "lửa và quên" trong StackExchange.Redis rất giống với chế độ "không đồng bộ", ngoại trừ các câu trả lời đơn giản bị loại bỏ khi chúng được nhận.
Có đáng tin cậy không? Vâng, nó đảm bảo việc cung cấp như xa như TCP/IP đảm bảo việc cung cấp. Mạng sẽ cố gắng truyền tải các gói dữ liệu (cuối cùng các gói tin sẽ được truyền lại nếu một số gói bị mất), nhưng tất cả đều được TCP xử lý.
Bây giờ nếu máy chủ ngừng hoạt động hoặc quyết định đóng kết nối, máy khách sẽ chỉ biết khi nó cố gắng đọc từ ổ cắm. StackExchange.Redis có thể vui vẻ tiếp tục gửi lệnh trên một kết nối chết trong một thời gian. Nếu bạn có một middletier (như Twemproxy), tình hình có thể còn tồi tệ hơn.
Nói cách khác, lưu lượng truy cập "cháy và quên" thường sẽ được gửi tới máy chủ và không có tin nhắn nào bị mất trên mạng, nhưng nếu bạn gặp sự cố máy chủ hoặc kết nối, một số lưu lượng có thể bị mất trước khi khách hàng có một cơ hội để nhận thấy nó. Tôi sẽ gọi đây là một hành vi nỗ lực tốt nhất.
- 1. Lớp "Cháy và quên" trong ARC
- 2. WebSocket đảm bảo khung giao hàng miễn phí được đảm bảo
- 3. Liệu readdir() có đảm bảo một đơn hàng không?
- 4. Đảm bảo không đảm bảo VirtualMachineError
- 5. Cách chính xác để Cháy và Quên một đại biểu không đồng bộ
- 6. Đảm bảo đặt hàng trong GCC
- 7. Cách đảm bảo hàng đợi azure FIFO
- 8. Tôi có thể đảm bảo nhập trên giao diện VÀ lớp của đối số không?
- 9. Đảm bảo bảng SQLite chỉ có một hàng
- 10. Có một cái nhìn và cảm giác nào đó được đảm bảo có sẵn không?
- 11. Có thể đảm bảo các thư duy nhất nằm trong hàng đợi thỏmq không?
- 12. Đơn đặt hàng tin nhắn có đảm bảo cho xe buýt của Akka không?
- 13. Đường ray: Đá quý có được bảo đảm không?
- 14. BlockingCollection <T> có đảm bảo đơn hàng xóa không?
- 15. "Nhóm theo" có tự động đảm bảo "đặt hàng trước" không?
- 16. Đảm bảo hiển thị
- 17. Đảm bảo JSONP?
- 18. Đảm bảo dịch vụ web?
- 19. Pandas.DataFrame.groupby có được bảo đảm ổn định không?
- 20. Đảm bảo mẫu thanh toán Javascript/PayPal
- 21. Yêu cầu Ajax có được đảm bảo gửi cookie không?
- 22. Đảm bảo tính đúng đắn trong riak?
- 23. Liệu entrySet() trong LinkedHashMap có đảm bảo trật tự không?
- 24. Bảo vệ mã nguồn khi giao hàng cho khách hàng
- 25. Stream.count() có đảm bảo truy cập từng phần tử không?
- 26. Có phải Spring HandlerInterceptorAdapter postHandle được bảo đảm không?
- 27. Android: Không thể đảm bảo thư mục
- 28. TCP có được đảm bảo đến đúng thứ tự không?
- 29. Writer Monad có đảm bảo kết nối đúng không?
- 30. Thứ tự mảng JavaScript có được đảm bảo không?
Cảm ơn bạn. Câu hỏi của tôi phần lớn là nó vẫn cung cấp retries hoặc thông qua thư viện hoặc TCP cơ bản và dựa trên câu trả lời của bạn nó xuất hiện có. – DTown