
Rabbit MQ
北漂编程小王子
程序猿的工作日记
展开
-
Rabbit MQ 发消息例子以及发失败后定时重发
第一步,创建自己交换器名称,交换器模式等信息import org.slf4j.Logger;import org.springframework.amqp.core.AcknowledgeMode;import org.springframework.amqp.core.FanoutExchange;import org.springframework.amqp.core.TopicExc...原创 2019-02-27 22:24:04 · 797 阅读 · 0 评论 -
RabbitMQ三种模式说明以及应用场景
fanout 模式(广播模式):个人理解就跟大广播一样的,只要连接到这种交换器,所以列队拿到的消息都是一模一样的,常用于那种需要通知很多服务或者其他多个系统的消息类型。direct 模式通过 RoutingKey 将消息发送给指定的队列,个人觉得用于那种只有一两个地方需要接受这样消息的地方,使用消息地方不是特别多的场景。topic 模式,跟 direct 差不多,但更加灵活,支持模式匹配,通...原创 2019-02-27 21:48:58 · 3359 阅读 · 0 评论 -
RabbitMQ消息积压
项目正式上线两个月时间,今天RabbitMQ遇到一个头疼的问题,之前一切运行很正常的中间件,突然消息无法生产,消费者也无法消费,看了RabbitMQ还在运行没有Down掉,还在运行着…后来经过分析找到问题,消息堆积,导致内存达到阀值,将服务器内存沾满,导致消息无法正常生产,也无法正常消费,mq没有挂掉,进入了一种自我保护模式,等待消费者进行消费。我们通过监控查看到MQ的积压消息大概在500W作...原创 2019-02-27 21:19:46 · 10539 阅读 · 0 评论 -
保存更新失败,事务回滚,但是MQ消息发送成功
系统上线后,偶尔出现一些小的问题,逻辑处理是先保存数据,保存成功后,给别的服务发MQ消息,正常情况下,只要没有网络问题或者超时等问题,数据都能保存成功,紧接着就是发送消息,但是偶尔会出现数据保存失败,事务回滚,但是消息却发出去了!!所以鉴于代码不完善,需要对发消息做逻辑处理import com.lenovo.chinaservice.pscm.quality.test.utils.base.A...原创 2019-02-22 14:11:37 · 3932 阅读 · 0 评论 -
Rabbit消息队列使用
由于项目使用Spring Cloud 分布式架构,整个项目拆分成多个子服务,每个服务服务之间出于设计需要,不互相依赖,需要服务和服务之间相互发消息。现在成熟的消息队列技术有很多,我们项目使用Rabbit MQ:@RabbitListener(bindings = @QueueBinding( value = @Queue(value = queueName, durabl...原创 2018-12-29 14:46:39 · 935 阅读 · 0 评论