消息中间件
BigManing
积水成渊,蛟龙生焉;
展开
-
[Pulsar系列] 10分钟学会Pulsar消息系统概念
Apache PulsarPulsar是一个支持多租户的、高性能的服务与服务之间消息通讯的解决方案,最初由雅虎开发,现在由Apache软件基金会管理。Pulsar在Yahoo的生产环境运行了三年多,助力Yahoo的主要应用,如Yahoo Mail、Yahoo Finance、Yahoo Sports、Flickr、Gemini广告平台和Yahoo分布式键值存储系统Sherpa。Kafka不够好,智联招聘基于Pulsar打造企业级事件中心。Pulsar的主要特性如下:Pulsar实例原生支持多集群,转载 2020-12-28 18:19:49 · 7826 阅读 · 4 评论 -
ActiveMQ源码解析(四)Network Bridge
ActiveMQ集群网络在多个ActiveMQ Broker组成的集群(Network of broker)中,是通过NetworkBridge机制来实现的。在阅读源码前,我一直有误解,以为AMQ之间在duplex=false的场景下互相通讯是互相建立消费者客户端,如果生产者连接BrokerA,而消费者连接Broker B,那么应该是Broker B先从BrokerA上消费消息再发给自己的消费者。可是实际看起来并不是这种简单的机制。今天这篇源码解析,由于牵涉的代码比较多,我尽量用较少的源码来整理出.转载 2020-12-24 20:20:18 · 725 阅读 · 1 评论 -
ActiveMQ源码解析(三)Failover机制
在看完会话的源码后,最近项目提到了Failover机制的疑问,所以需要先读一下failover机制的源码,看看这个故障重连的机制是怎样的。在建立连接的那篇文章中(ActiveMQ源码解析(一)建立连接),讲到了FactoryFinder会根据schema找到对应的TransportFactory类,这个配置其实是放在transport目录中的。private static final FactoryFinder TRANSPORT_FACTORY_FINDER = new FactoryFinder("转载 2020-12-24 20:19:23 · 1528 阅读 · 1 评论 -
ActiveMQ源码解析(二)会话是什么
继上一篇(ActiveMQ源码解析(一)建立连接),客户端的的下一步操作一般是ActiveMQSession session = (ActiveMQSession) connection.createSession(false,Session.AUTO_ACKNOWLEDGE); // 消息的目的地,消息发送到那个队列 Destination destination = session.createQueue(QUEUE_NAME); // 创建消息发送者转载 2020-12-24 20:18:42 · 286 阅读 · 1 评论 -
ActiveMQ源码解析(一)建立连接
作为一个消息中间件,有客户端和服务端两部分代码,这次的源码解析系列主要从客户端的代码入手,分成建立连接、消息发送、消息消费三个部分。趁着我昨天弄明白了源码编译的兴奋劲头还没过去,今天研究一下建立连接的部分。如果读起来吃力,代码部分可以略过,我把主要的功能点给加粗。通常来说,客户端使用MQ的API建立时,可以分成两个步骤:1. 对于连接的配置,比如服务器IP地址,用户名和密码等等2. 建立连接并启动客户端示例代码:ActiveMQConnectionFactory connectionFacto.转载 2020-12-24 20:17:43 · 667 阅读 · 1 评论