RabbitMQ
文章平均质量分 82
cc_1209
这个作者很懒,什么都没留下…
展开
-
15、RabbitMQ学习笔记—Ha-Proxy高可用
HaproxyHAProxy是一款提供高可用性、负载均衡以及基于TCP (第四层)和HTTP (第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且HAProxy是一款提供高可用性、负载均衡以及基于TCP (第四层)和HTTP (第七层)应用的代理软件,支持虚拟主机,它是免费、快速并且可靠的一种解决方案。HAProxy特别适用于那些负载特大的web站点,这些站点通常又需要会话保持或七层处理。...原创 2019-12-10 10:55:31 · 232 阅读 · 0 评论 -
16、RabbitMQ学习笔记—BAT/TMD大厂单元化架构设计衍变之路
随着大型互联网公司业务的多元化发展,就拿滴滴、美团等大厂来讲,如滴滴打车、单车、外卖、酒店、旅行、金融等业务持续高速增长,单个大型分布式体系的集群,通过加机器+集群内部拆分(kv, mq、 MySQL等) ,虽然具备了一定的可扩展性。但是,随着业务量的进一步增长,整个集群规模逐渐变得巨大,从而一定会在某个点上达到瓶颈,无法满足扩展性需要,并且大集群内核心服务出现问题,会影响全网所有用户。以滴滴打...原创 2019-12-09 20:28:51 · 574 阅读 · 0 评论 -
13、RabbitMQ学习笔记—集群架构-1
RabbitMQ集群架构模式主备模式:所谓的rabbitmq另外一种模式就是warren(兔子窝),就是一个主备方案(主节点如果挂了,从节点提供服务而已,和activemq利用zookeeper做主备一样),利用Haproxy做主从切换Haproxy配置:listen rabbitmq_clusterbind 0.0.0.0:5672 //配置 tcp模式mode tcp // 简单...原创 2019-12-06 14:51:03 · 420 阅读 · 0 评论 -
11、RabbitMQ学习笔记—SpringBoot
SpringBoot整合配置讲解生产端核心配置publisher-confirms,实现一个监听器用于监听Broker端给我们返回的确认请求:RabbitTemplate.ConfirmCallbackpublisher-returns, 保证消息对Broker端是可达的,如果出现路由键不可达的情况,则使用监听器对不可达的消息进行后续的处理,保证消息的路由成功:RabbitTemplate....原创 2019-12-06 10:15:28 · 414 阅读 · 0 评论 -
10、RabbitMQ学习笔记—RabbitMQ与SrpingAMQP
RabittAdminRabbitAdmin类可以很好的操作RabbitMQ,在spring中直接进行注入即可@Beanpublic RabbitAdmin rabbitAdmin(ConnectionFactory connectoryFactory){ RabbitAdmin rabbitAdmin = new RabbitAdmin(connectoryFactory); rabb...原创 2019-12-05 20:14:46 · 228 阅读 · 0 评论 -
9、RabbitMQ学习笔记—死信队列
死信队列DLX,Dead-Letter-Exchange利用DLX,当消息在一个队列中变成死信(dead message)之后,它被重新pulish到另一个Exchange,这个Exchange就是DLX产生死信的集中情况消息被拒绝(basic.reject/basic.nack)并且requeue=false(不执行重回队列)消息TTL过期队列达到最大长度DLX也是一个正常的Ex...原创 2019-12-04 16:48:15 · 133 阅读 · 0 评论 -
8、RabbitMQ学习笔记—消息投递保障-2
消费端限流什么是消费端限流?假设一个场景,首先,我们rabbitmq服务器有上万条未处理的消息,我们随便打开一个消费者客户端,会出现下边的情况:巨量的消息瞬间全部推送过来,但是我们单个客户端无法同时处理这么多数据。rabbitmq提供了一种qos(服务质量保证)功能,即在非自动确认消息的前提下,如果一定数目的消息(通过基于consumer或者channel设置qos的值)未被确认前,不进...原创 2019-12-04 15:43:44 · 183 阅读 · 0 评论 -
7、RabbitMQ学习笔记—消息投递保障-1
消息如何保障100%投递成功什么是生产端的可靠性投递?保障消息的成功发出保障MQ节点的成功接收发送端收到MQ节点(Broker)的确认应答完善的消息进行补偿机制BAT/TMD 互联网大厂的解决方案消息落库,对消息状态进行达标1、消息入库(业务库、消息库),大场景并发一般不考虑事务,影响效率。采用补偿的方式确认消息发送2、消息发送3、确认应答(confirm listen...原创 2019-12-04 10:37:00 · 143 阅读 · 0 评论 -
6、RabbitMQ学习笔记—小结(Exchange、Queue、RoutingKey、Message、Vhostpath))
BindingExchange和Exchange、Queue之间的连接关系Binding中可以包含Routingkey或者参数Queue消息队列。实际存储消息数据Durability:是否持久化auto delete:yes,代表党最后一个监听被移除之后,该queue会自动删除Message服务器和应用程序之间传送的数据本质上就是一段数据,由Properties和body组成...原创 2019-12-04 08:31:29 · 530 阅读 · 0 评论 -
5、RabbitMQ学习笔记—Exchange交换机
Exchange交换机接收消息,并根据路由键转发消息所绑定的队列这是官网的一个交换机模型图,其中:蓝色框:表示客户端(client)发送消息到交换机(exchange)并通过一定路由规则(routingkey)进行转发到消息队列(queue)中。绿色框:表示消息消费者从队列(queue)中获取消息进行处理消费。红色框:表示rabbitmq服务包含的内容黄色框:交换机和消息队列之间的...原创 2019-12-03 21:05:50 · 164 阅读 · 0 评论 -
4、RabbitMQ学习笔记—消息对列的使用
消息的生产与发送获取连接工厂 ConnectionFactory获取连接 Connection创建通信信道 Channel声明队列 Queue创建生产者、消费者 Producer、Consumer我们接下来的代码演示使用idea 创建springboot maven项目进行。依赖 <dependency> ...原创 2019-12-03 16:14:57 · 183 阅读 · 0 评论 -
3、RabbitMQ学习笔记—命令行与管控台
基础命令操作服务操作启停服务命令rabbitmqctl start_apprabbitmqctl stop_app节点状态rabbitmqctl status用户操作添加用户rabbitmqctl add_user username password查看所有用户rabbitmqctl list_user删除用户rabbitmqctl delete_user use...原创 2019-12-03 10:47:15 · 147 阅读 · 0 评论 -
2、RabbitMQ学习笔记—安装和使用
官网下载上篇我们了解到RabbitMQ是基于Erlang语言进行开发,所以在安装RabbitMQ之前,我们需要安装Erlang语言环境,这里需要注意下Erlang和RabbitMQ之间的一个版本对应问题,如果版本不对应,那么安装后也是无法正常运行的。我们可以在RabbitMQ官网找到这样一个网页,介绍了他们之间的版本对应关系。Erlang和RabbitMQ的对应关系我们选择3.6的版本,...原创 2019-12-03 09:03:43 · 242 阅读 · 0 评论 -
1、RabbitMQ学习笔记—初识消息中间件
消息中间件消息、消息中间件**消息 (Message)**是指在应用间传送的数据。消息可以非常简单,比如只包含文本字符串、JSON 等,也可以很复杂,比如内嵌对象。消息队列中间件 (Message Queue Middleware ,简称为 MQ) 也成消息队列或者消息中间件,是指利用高效可靠的消息传递机制进行与平台无关的数据交流,并基于数据通信来进行分布式系统的集成。通过提供消息传和消息...原创 2019-12-02 21:21:36 · 295 阅读 · 0 评论