9 hours ago
- 队列通过使用生产者(提交任务)和消费者/工作者(执行任务),将计算拆分为调度和执行。
- 至多一次交付在处理前确认消息,如果工作者失败则存在消息丢失的风险。
- 至少一次交付在处理后确认,允许多次交付,但在实践中更倾向于避免数据丢失。
- 至少一次系统受益于最终一致的数据结构(例如CRDT),而不是强一致性,从而提高性能和分区容忍性。
- 实用的队列功能包括单工作者交付窗口、尽力避免重复、FIFO排序和自动清理。
- 基于Redis的队列实现可以利用独立的Redis节点构建高性能、可扩展的分布式队列。
- 作者正在设计一个基于Redis的队列系统来提供这些保证,并计划很快分享进展。