Tôi chưa quen với các nhà môi giới tin nhắn như RabbitMQ mà chúng ta có thể sử dụng để tạo các nhiệm vụ / hàng đợi tin nhắn cho một hệ thống lập lịch như Celery .
Bây giờ, đây là câu hỏi:
Tôi có thể tạo một bảng trong PostgreSQL có thể được thêm vào các tác vụ mới và được sử dụng bởi chương trình tiêu dùng như Celery.
Tại sao tôi muốn thiết lập một công nghệ hoàn toàn mới cho điều này như RabbitMQ?
Bây giờ, tôi tin rằng tỷ lệ không thể là câu trả lời vì cơ sở dữ liệu của chúng tôi như PostgreSQL có thể hoạt động trong môi trường phân tán.
Tôi đã tìm hiểu về những vấn đề mà cơ sở dữ liệu đặt ra cho vấn đề cụ thể và tôi đã tìm thấy:
- bỏ phiếu giữ cho cơ sở dữ liệu bận rộn và hiệu suất thấp
- khóa bảng -> một lần nữa hiệu suất thấp
- hàng triệu hàng nhiệm vụ -> một lần nữa, bỏ phiếu có hiệu suất thấp
Bây giờ, làm thế nào để RabbitMQ hoặc bất kỳ nhà môi giới tin nhắn nào khác giải quyết những vấn đề này?
Ngoài ra, tôi phát hiện ra rằng AMQP
giao thức là những gì nó theo sau. Điều gì tuyệt vời trong đó?
Có thể Redis cũng được sử dụng như một nhà môi giới thông điệp? Tôi thấy nó giống với Memcached hơn RabbitMQ.
Xin hãy làm sáng tỏ điều này!
celery
" - Tôi vừa học được điều gì đó sẽ hữu ích trong thiết kế của mình, từ câu hỏi . Bây giờ để đọc câu trả lời ...