RabbitMQ

ribbitmq好处

服务解耦

避免服务之间耦合度过于紧密,只需要降需要处理的消息发送至消息队列,双方只需要跟消息服务器沟通即可

流量销峰

为了避免高并发送的消息需要处理,将产生的需要处理的消息保存到消息队列,处理一个拿一个,减轻后台处理消息的压力

异步调用

为了提升用户的体验,将消息发送到消息队列后及时返回信息,如果有必要等待处理结束过后向用户发送处理完毕相应

rabbitmq的持久化

1.队列持久化
ch.queueDeclare(uuid,false/true为持久化队列, true, true, null);
2.消息持久化
ch.basicPublish("logs",//交换机名
 "", //陆游建指定
 MessageProperties.PERSISTENT_TEXT_PLAIN 其他属性消息持久化 
msg.getBytes());
 //转换字节

ribbitmq的六大模式

简单模式

消费者共享队列,消息队列实现了负载均衡,轮询发送消息给所有的消费者

工作模式

添加手动ack回执消息并单独拉取消息机制实现合理分配消息并在消息队列得到了缓存

订阅模式

使用fanout模式交换机绑定消息队列,分发送所有绑定的消息队列

陆游模式

使用直连模式的交换机(disrect模式),绑定消息队列.
消息和队列绑定陆游建相互匹配则发送该消息

主题模式

特殊的陆游模式,动态的匹配陆建来发送消息

RPC模式

阅读 54

推荐阅读