RabbitMQ
lql_h
这个作者很懒,什么都没留下…
展开
-
RabbitMQ的简介
消息中间件介绍MQ的衡量指标服务性能、数据存储、集群架构不同MQ特点的对比Kafka追求高性能,高吞吐量,用于日志收集,对消息的重复、丢失、错误没有严格的要求,所以做可靠性的东西,不推荐RocketMQ高性能,可靠性,高稳定性,高性能,易于水平扩展,但收费RabbitMQ高可靠性,高稳定性,对性能和吞吐量比kafka差一些RabbitMQ概述Rabbit...原创 2019-03-09 08:02:29 · 205 阅读 · 0 评论 -
延迟插件
延迟插件可以做什么事情?比如消息的延迟推送、定时任务(消息)的执行。包括一些消息重试策略的配合使用,以及用于业务削峰限流、降级的异步延迟消息机制,都是延迟队列的实际应用场景现实中,淘宝收货后,如果不确认支付,系统会7天后自动支付给卖家,或滴滴不给好评,延迟24小时后,自动给评价安装步骤下载插件http://www.rabbitmq.com/community-plugins.h...原创 2019-07-12 09:17:34 · 304 阅读 · 0 评论 -
集群恢复与故障转移
RabbitMQ镜像队列集群的恢复的解决方案和应用场景前提比如两个节点A和B组成一个镜像队列场景1A先停,B后停方案1:该场景下B是Master,只要先启动B,再启动A即可。或者先启动A,再30秒之内启动B即可恢复镜像队列场景2A、B同时停机方案2:该场景可能由于机房断电造成的,只需在30秒内连续启动A和B即可恢复镜像场景3A先停,B后停,且A无法修复方...原创 2019-07-12 09:12:09 · 664 阅读 · 0 评论 -
一线大厂的MQ组件实现思路和架构设计方案
架构图功能特点支持消息高性能的序列化转换、异步发送消息支持消息生产实例与消费实例的链接池化缓存化,提升性能支持可靠性投递消息,保障消息100%不丢失支持消息等幂性操作,避免消费端重复消费问题支持迅速消息发送模式,在一些日志收集/统计分析等需求下可以保证高性能,超高吞吐量支持延迟消息模式,消息可以延迟发送,指定延迟时间,用于某些延迟检查、服务限流场景...原创 2019-07-14 11:55:41 · 479 阅读 · 0 评论 -
RabbitMQ-SET化架构实现
SET化消息中间件架构实现RabbitmQ双活架构图注意:如果镜像队列过多,同步时会慢,影响性能如果设置镜像队列的某几台服务器同步,路由规则会多,维护复杂难使用set化拆分集群,通过路由规则负责将消息路由到某个集群使用RabbitMQ异步消息通信插件 Federation的安装与配置rabbitmq-plugins enable rabbitmq_federati...原创 2019-07-13 12:27:47 · 688 阅读 · 0 评论 -
RabbitMQ集群镜像模式构建
架构图节点说明 Ip 节点说明 端口 管控台地址 192.168.17.17 rabbitmq master 5672 http:// 192.168.17.17:15672 192.168.17.18 ...原创 2019-07-09 09:40:22 · 720 阅读 · 0 评论 -
RabbitMQ集群架构模式
主备模式实现RabbitMQ的高可用集群,一般在并发和数据量不高的情况下,这种模型非常好用且非常简单。也称为Warren模式只有主节点提供读写,从节点不能读也不能写,从节点在主节点出现故障宕机的时候,实现自动的切换,从节点变为主节点,当原先的主节点重新加入的时候,原先的主节点变为现在的从节点可以一主多备镜像模式集群模式非常经典的模式,保证100%数据不丢失,在实际工作中用的...原创 2019-03-26 10:18:41 · 1255 阅读 · 0 评论 -
TTL队列消息与死信队列
TTL概念TTL是time to live的缩写,生存时间消费者队列中设置TTLRabbitMQ支持消息的过期时间,消息发送时可以指定,从消息入队列开始计算,只要超过队列的超时时间配置,消息就会自动清除消费端代码Map<String, Object> args = new HashMap<String, Object>();args.put("x-m...原创 2019-03-26 10:07:54 · 2844 阅读 · 0 评论 -
消费端限流、ACK与重回队列
限流概念假设RabbitMQ服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下面情况:巨量的消息瞬间全部推送过来,但是单个客户端无法同时处理这么多数据RabbitMQ提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数据的消息(通过基于consume或者channel设置qos的值)未被确认前,不进行消费新的消息void BasicQos(u...原创 2019-03-26 09:43:30 · 370 阅读 · 0 评论 -
交换机
属性Exchange:接收消息,并根据路由键转发消息所绑定的队列Name:交换机名称Type:交换机类型 direct、topic、fanout、headersDurability:是否需要持久化,true是持久化Auto Delete:当最后一个绑定的Exchange上的队列删除后,自动删除ExchangeArguments:扩展参数,用于扩展AMQP协议自制定化使用...原创 2019-03-19 10:17:25 · 310 阅读 · 0 评论 -
生产者Confirm消息与Return消息机制
Confirm消息机制消息的确认,是指生产者投递消息后,如果Broker收到消息,则会给我们生产者一个应答生产者接收应答,用来确定这条消息是否正常发送到Broker,这种方式也是消息的可靠性传递的核心保障确认channel开启确认模式 channel.confirmSelect() 在channel上加监听:addConfirmListerer,监听成功和失败的返回结果,根据...原创 2019-03-26 08:59:52 · 856 阅读 · 0 评论 -
消息生产与消费及消息
相关概念Binding-绑定Exchange和Queue之间的连接关系Binding可以包含RoutingKeyQueue-消息队列消息队列,实际存储消息数据Durability:是否持久化Auto delete:如果选yes,代表最后一个监听被移除之后,该Queue会自动删除Message-消息服务器和应用程序之间传送的数据本质上是一段数据,由Proper...原创 2019-03-19 09:26:02 · 386 阅读 · 0 评论 -
消息保障100%投递成功方案与等幂性
生产端的可靠性传递保障消息的成功发出保障MQ节点成功接收发送端收到MQ节点(Broker)确认应答完善的消息进行补偿机制(返回应答时突然断电,不知是否投递成功)互联网大厂的解决方案方案一消息落库,对消息状态进行打标(发出一个标志,接收一个标志)生产者产生消息,先持久化业务DB和消息DB,然后发送MQ,MQ返回应答,修改消息DB的发送成功标志定时任务轮询发送没...原创 2019-03-22 09:29:59 · 403 阅读 · 1 评论 -
Rabbit的命令行与管控台
基本操作关闭应用rabbitmqctl stop_app启动应用rabbitmqctl start_app节点状态rabbitmqctl status添加用户rabbitmqctl add_user username password列出所有用户rabbitmqctl list_users删除用户rabbitmqctl delete_user use...原创 2019-03-13 09:10:49 · 193 阅读 · 0 评论 -
RabbitMQ安装
CentOS7的安装安装版本3.6.5安装包安装编译包命令yum install build-essential openssl openssl-devel unixODBC unixODBC-devel make gcc gcc-c++ kernel-devel m4 ncurses-devel tk tc xz通过rpm安装rpm -ivh erlang-18....原创 2019-03-12 14:42:29 · 337 阅读 · 0 评论 -
SET化架构设计
互联网大厂单元化架构设计衍变之路随着业务的多元化发展,拿滴滴,美团等大厂来说,如滴滴打车,外卖,酒店,旅行等持续高速增长,单个大型分布式的集群,通过机器+集群内部拆分,虽然具备了一定的可扩展性。但随着业务量的进一步增长,整个集群规模主键变得巨大,从而会在某个点达到瓶颈,无法满足扩展性需要,并且大集群内核心服务出现了问题,会影响全网用户以滴滴打车、美团外卖举例:打车业务量巨大,尤其是早晚...原创 2019-07-12 09:25:41 · 7776 阅读 · 1 评论