队列和消息队列
昨天,我进行了一次演讲,探讨了使用消息队列的所有方面。 我以前曾写过“您可能不需要消息队列” –现在的结论有些细微差别,但我仍然坚持简单性的观点。
演讲探讨了使用消息队列的各种好处和用例,并讨论了典型“消息队列代理”体系结构的替代方案。 幻灯片在这里
我提议的一种可能很奇怪的方法是使用分布式锁(例如,使用Hazelcast)进行分布式批处理–您锁定特定的ID(可能是组织ID /客户ID,而不是单个记录ID),从而允许多个处理器在其中运行并行,而不会踩到对方的脚趾(一个节点选择第一个条目,另一个节点尝试第一个,但是失败,然后选择第二个)。
我错过了像RabbitMQ这样的经纪人可以从中受益的东西-可以轻松地监视和调试队列。
我无法对任何概念进行详细的关注,例如无代理如何工作, 如何在多个数据中心(可用区)中部署代理(例如RabbitMQ) ,或者akka(以及akka集群)如何。适合“消息队列”环境。 但是,我希望它是一个很好的概述,使每个人都能清楚了解这些选项,然后他们可以对这些选项进行更详细的分析和评估。
我将以幻灯片中的Dijkstra报价结束:
简单性是可靠性的前提
翻译自: https://www.javacodegeeks.com/2017/05/overview-message-queues-slides.html
队列和消息队列