前言 发现公司这边的消息中间件采用了aliyun的RocketMQ服务,熟悉开源的同学都知道,RocketMQ是国内最早一批捐献Apache并成功毕业的项目。架构设计参考了kafka的模式,所以如果你了解kafka的架构,对于RocketMQ就可以轻车熟路了,虽然参考了kafka,但是RocketMQ也有很多的升级,比如Broker的注册和发现就采用了内部的NameServer,没有引入更多的第三方依赖,而且添加了诸如消息回溯、事务消息...
amqp协议链接陷阱-An unexpected connection driver error occured
前言 amqp是一种通用的消息队列数据传输协议,典型的MQ应用RabbitMQ就实现了amqp协议,所以,我们在使用amqp-client链接rabbitmq时,可以使用amqp的链接协议连接rabbitmq。但是博主在尝试使用amqp协议链接时,碰到了一个隐藏的连接协议规范问题,故记录在此。 amqp协议文档: https://www.rabbitmq.com/uri-spec.html 问题背景 amqp-client版本:5.4.x amqp-url:amqp://keking:kk123456@192.168.1.226:5672/ 异常信息 11:49:12.329...
腾讯消息中间件TubeMQ开源了
TubeMQ总体介绍 TubeMQ是腾讯大数据在2013年开始研发的分布式消息中间件系统(MQ),专注服务大数据场景下海量数据的高性能存储和传输。经过近7年上万亿的海量数据沉淀,较之于众多的开源MQ组件,TubeMQ在海量实践(稳定性+性能)和低成本方面有一定的优势。博文转载自官方的文档,博主花了半天搭建开发环境到运行,到发送消息接收消息体验下来,发现不管是腾讯的TubeMQ,还是rocke...
关于ActiveMQ传输messageObject的异常
前言碎语 博主在做spring batch分片远程处理时用到ActiveMQ来通讯,但分片对象总是不能正确传输,查看ActiveMQ中的消息详情发现抛如下异常:Failed to build body from content. Serializable class not available to broke,原来为了安全考虑,ActiveMQ默认不接受自定义的序列化对象,需要将自定义的加入到受信任的列表。 具体解决方式 1.服务端可加入参数-Dorg.apache.activemq.SERIALIZABLE_PACKAGES=* 启动,脚本在bin目录...
spring boot通过MQ消费log4j2的日志
前言碎语 当系统的并发比较高的时候,日志的处理输出也是一种性能的开销负担,所以,选择一个中间件来处理消费日志必不可少!下面是spring boot整合log42结合spring amqp来消费处理系统日志的实例,只需要简单的三步 1.添加相关jar依赖 dependencygroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-amqp/artifactIdexclusionsexclusiongroupIdorg.springframework.boot/groupIdartifactIdspring-boot-starter-logging/artifactId...
AMQP协议模型高阶概述
AMQP是什么 AMQP(高级消息队列协议)是一个网络协议。它支持符合要求的客户端应用(application)和消息中间件代理(messaging middleware broker)之间进行通信。 消息代理和他们所扮演的角色 消息代理(message brokers)从发布者(publishers)亦称生产者(producers)那儿接收消息,并根据既定的路由规则把接收到的消息发送给处理消息的消费者(consumers)。 由于AMQP是一个网络协议,所以这个过...
RabbitMQ的Web管理与监控
RabbitMQ提供了完善的管理和监控工具 1、management plugin rabbitmq-management plugin提供HTTP API来管理和监控RabbitMQ Server,具体包含如下功能: 删除、生成、列表,包括:exchanges,queues,bindings,users,virtual hosts and permissions。 监视 queue 长度,每个 channel的message rates ,每个连接的data rates,等等。 发送和接收messages。 监控Erlang processes,file descriptors,memory use。 导出/导出object definitions to JSON。 强...