集团公司网站案例网站提示页面设计
集团公司网站案例,网站提示页面设计,海南的网站建设公司,百度网站搜索排名RabbitMQ遵循AMQP协议#xff0c;自身采用Erlang RabbitMQ工作模式
生产者发消息#xff0c;启动多个消费者实例来消费消息#xff0c;每个消费者仅消费部分信息#xff0c;可达到负载均衡的效果。
RabbitMQ三种常用交换机类型#xff1a;
交换机主要起调度分发作用。 …RabbitMQ遵循AMQP协议自身采用Erlang RabbitMQ工作模式
生产者发消息启动多个消费者实例来消费消息每个消费者仅消费部分信息可达到负载均衡的效果。
RabbitMQ三种常用交换机类型
交换机主要起调度分发作用。
direct直连交换机
Direct完全匹配型交换机此种类型交换机通过RoutingKey路由键将交换机和队列进行绑定 消息被发送到exchange时需要根据消息的RoutingKey来进行匹配只将消息发送到完全匹配到此RoutingKey的队列。 如图不同的key绑定不同的队列实现不同消息分发至不同队列。 PS: 注意同一个key可以绑定多个queue队列。如图中当匹配到key1时则会将消息分发送至queue1和queue2这样两个队列都会有相同的消息数据。 fanout扇形交换机
Fanout扇出类型交换机此种交换机会将消息分发给所有绑定了此交换机的队列此时RoutingKey参数无效。 此种方式最简单快速性能最好因为少了中间的匹配判断环节。
一按用于全量分发
topic主题交换机
Topic主题类型交换机此种交换机与Direct类似也是需要通过routingkey路由键进行匹配分发区别在于Topic可以进行模糊匹配Direct是完全匹配。
Topic中将routingkey通过.来分为多个部分通过如下功能字符来进行匹配
*代表一个部分#代表一个或多个部分 举例说明比如我们现在的应用场景为日志处理
routingkey 设置为*.error
生产者推送的路由为login.error 、reg.error 都会匹配到 *.error对应的队列由该队列 对登录、注册的错误进行业务处理。 消息可靠性问题
保证最终一致性我们需要确保消息队列有ack机制 客户端收到消 息并消费处理完成后客户端发送ack消息给消息中间件 如果消息中间件超过指定时间还没收 到ack消息则定时去重发消息。 死信队列
在定义业务队列时可以考虑指定一个 死信交换机并绑定一个死信队列。当消息变成死信时该消 息就会被发送到该死信队列上这样方便我们查看消息失败的原因。 DLX全称为Dead-Letter-Exchange死信交换器。消息在一个队列中变成死信Dead Letter 之后被重新发送到一个特殊的交换器DLX中同时绑定DLX的队列就称为“死信队列”。
主要用于必须成功的业务即使处理不成功 也需进行手动处理。
例子比如调用第三方话费接口充值话费 消费者处理失败那么正常的业务逻辑就会进入到 死信队列 进行入库后续人工介入充值。 扩展学习 延迟队列
延迟消息是指的消息发送出去后并不想立即就被消费而是需要等指定的一段时间后才触发消费。
TTL机制
在京东下单订单创建成功等待支付一般会给30分钟的时间开始倒计时。如果在这段时间内 用户没有支付则默认订单取消。
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/diannao/91140.shtml
如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!