RabbitMQ
消息队列学习 多多指教
静谧之心
专业摩的佬
业余吉他手
退役喷子
展开
-
RocketMQ 生产者核心参数配置详解
生产者常见核心配置compressMsgBodyOverHowmuch :消息超过默认字节4096后进行压缩retryTimesWhenSendFailed : 失败重发次数maxMessageSize : 最大消息配置,默认128ktopicQueueNums : 主题下面的队列数量,默认是4autoCreateTopicEnable : 是否自动创建主题Topic, 开发建议为true,生产要为falsedefaultTopicQueueNums : 自动创建服务器不存在的topic,默认原创 2020-08-12 14:38:39 · 2871 阅读 · 1 评论 -
消息中间件入门篇 RabbitMQ 之 死信队列详解
死信队列死信队列:DLX,dead-letter-exchange利用DLX,当消息在一个队列中变成死信 (dead message) 之后,它能被重新publish到另一个Exchange,这个Exchange就是DLX消息变成死信有以下几种情况消息被拒绝(basic.reject / basic.nack),并且requeue = false消息TTL过期队列达到最大长度死信处理过程DLX也是一个正常的Exchange,和一般的Exchange没有区别,它能在任何的队列上被指定,原创 2020-07-24 13:29:14 · 718 阅读 · 0 评论 -
消息中间件入门之 两种100%可靠性投递解决方案分析
什么是生产端的可靠性投递保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制生产端-可靠性传递常见解决方案:消息落库,对消息状态进行打标BIZ DB:订单数据库(或其他具体业务)MSG DB:消息数据库第1步:将订单入库,创建一条MSG(状态为0) 入MSG DB库第2步:将消息发出去第3步:监听消息应答(来自Broker)第4步:修改消息的状态为1(成功)第5步:分布式定时任务抓取状态为0的消息第6步:将状态为0的消原创 2020-07-24 10:20:34 · 424 阅读 · 0 评论 -
消息中间件入门篇之 RabbitMQ 的 queue详解
queueDeclarequeueDeclare 有两个重载方法Queue.DeclareOk queueDec1are() throws IOException;第一种不带任何参数的queueDeclare 方法默认创建一个由RabbitMQ 命名的(类似这种amq.gen-LhQzlgv3GhDOv8PIDabOXA 名称,这种队列也称之为匿名队列〉、排他的、自动删除的、非持久化的队列。Queue.DeclareOk queueDeclare (String queue , boolea原创 2020-07-23 23:22:42 · 998 阅读 · 0 评论 -
消息中间件入门篇之 RabbitMQ 的 massage详解
Massage 消息它是服务器和应用程序间传输的数据,我们在前面的样例代码种可以看到发送消息的样例;Channel.basicPublish 方法,它有几个重载方法void basicPublish (String exchange , String routingKey, BasicProperties props ,byte[) body) throws IOException ;void basicPublish (String exchange , String routingKey,原创 2020-07-23 23:16:10 · 927 阅读 · 0 评论 -
消息中间件入门篇之 RabbitMQ 四种交换机详解
Direct Exchange (暴力匹配 routingkey 和 queueName)使用频率最高, 处理路由键。需要将一个队列绑定到交换机上,要求该消息与一个特定的路由键完全匹配。这是一个完整的匹配。如果一个队列绑定到该交换机上要求路由键 “abc”,则只有被标记为“abc”的消息才被转发,不会转发abc.def,也不会转发dog.ghi,只会转发abc。Topic Exchange(*#模式匹配)使用频率也非常高, 将路由键和某模式进行匹配。此时队列需要绑定要一个模式上。# 匹配一个或多原创 2020-07-23 23:03:59 · 618 阅读 · 0 评论 -
RabbitMQ 延迟高启动慢连接超时问题解决
虚拟机的hostname 没有正确配置会导致虚拟机的连接速度变慢 , 在RabbitMQ中格外明显 , 会导致其延迟极高查看hostnamehostnamebestkslvim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=bestksl打开 hosts文件将hostname 指向 localhost问题解决!...原创 2020-07-23 14:41:51 · 1306 阅读 · 0 评论 -
消息中间件入门篇之 AMQP高级消息队列协议详解
AMQP的出现原因和历史背景:AMQP(Advanced Message Queuing Protocol, 高级消息队列协议)出现之前,有很多的消息中间件,各个消息中间件的接口协议不一样,客户端需要根据不同的消息中间件接口,编写不同的逻辑,这就造成了应用与中间件的耦合,限制产品的选择。为了统一消息中间件的接口,就出现了AMQP。AMQP逻辑架构:我们可以看到这个是分层的, broker -> virtual host -> exchange -> queue 类似省市县的结构,原创 2020-07-22 18:12:52 · 708 阅读 · 0 评论