![](https://img-blog.csdnimg.cn/20201014180756918.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
RabbitMQ
偷偷学习被我发现
记录个人点滴
展开
-
MQ如何快速实现流量削峰填谷
问:站点与服务,服务与服务上下游之间,一般如何通讯?答:有两种常见的方式一种是“直接调用”,通过RPC框架,上游直接调用下游。在某些业务场景之下(具体哪些业务场景,见《到底什么时候该使用MQ?》),可以采用“MQ推送”,上游将消息发给MQ,MQ将消息推送给下游。问:为什么会有流量冲击?答:不管采用“直接调用”还是“MQ推送”,都有一个缺点,下游消息接收方无法控制到达自己的流量,如果调...转载 2019-11-11 22:12:33 · 568 阅读 · 0 评论 -
收集的RabbitMQ相关知识点
问题一:RabbitMQ 中的 broker 是指什么?cluster 又是指什么?答:broker 是指一个或多个 erlang node 的逻辑分组,且 node 上运行着 RabbitMQ 应用程序。cluster 是在 broker 的基础之上,增加了 node 之间共享元数据的约束。问题二:什么是元数据?元数据分为哪些类型?包括哪些内容?与 cluster 相关的元数据有哪些?元...原创 2019-09-10 00:10:14 · 628 阅读 · 0 评论 -
RabbitMQ集群架构模式——主备模式
主节点挂了后,由HaProxy进行选择备份节点来做主节点。listen rabbitmq_cluster 监听rabbitmq集群bind ip:5672 绑定ip和默认端口5672balance roudrobin 随机的选择备份节点来做主节点...原创 2019-09-06 23:18:32 · 3403 阅读 · 0 评论 -
死信队列基本概念
原创 2019-09-06 23:12:51 · 422 阅读 · 0 评论 -
Confirm消息确认机制&&Return消息机制
原创 2019-09-06 19:56:24 · 443 阅读 · 0 评论 -
RabbitMQ__消费端限流了解
具体代码后面补上。原创 2019-09-06 08:31:45 · 168 阅读 · 0 评论 -
消费端 - 幂等性
幂等性:进行100,1000…操作得到的结果都一样。这里指的指纹码不一定是系统内部生成的,可以是第三方给予的特定密码类似乐观锁,SELECT COUNT(1) FROM T_ORDER WHERE ID = 唯一ID + 指纹码,因为唯一ID+指纹码的组合是唯一的,所以查询出来的COUNT如果是0就证明相同消息DB没有记录,而查询出来的数大于0,则证明该消息已被记录到DB,不能插入重复...原创 2019-09-06 08:28:06 · 424 阅读 · 0 评论 -
消息高可靠性投递成功方案 - 02
关注的重点不是消息能不能100%投递成功,而是在投递高可靠性消息的系统如果更加的减少消耗,提升性能。个人理解:Upstream service:上游服务,生产者Downstream service:下游服务,消费者Step1:在进行完业务操作并确认已落地BIZ DB后,生产者发送消息到MQ BrokerStep2: 生产者延迟再发送一条相同的消息到MQ Broker(设定延迟时间)...原创 2019-09-06 06:33:28 · 186 阅读 · 0 评论 -
消息高可靠性投递成功方案 - 01
只是个方案,如果对消息队列不太了解的,看了其实作用不大。个人理解:BIZ DB:可以理解为业务需求所要落地的DB,如订单落地;MSG DB:对消息的记录,其中需设置一个字段用于记录消息状态。Step1:进行正常的业务操作后落地BIZ DB(如提交订单后订单内容落地),发送消息,插入消息记录到MSG DB,此时消息状态为发送中(例如:0)。(这里可能会出现分布式事务等问题,但是如果是...原创 2019-09-06 05:06:05 · 162 阅读 · 0 评论 -
绑定,消息队列,消息,虚拟主机的简介
原创 2019-09-06 03:58:23 · 153 阅读 · 0 评论 -
Exchange属性和类型
原创 2019-09-06 03:55:21 · 664 阅读 · 0 评论 -
ctl命令行和管控台基本操作
交换器:用来接收生产者发送的消息并将这些消息路由给服务器中的队列。四种模式:direct(发布与订阅 完全匹配)fanout(广播)topic(主题,规则匹配)headersD:存储在磁盘durable: true (持久化)新增交换器新增队列新增用户新增虚拟主机分配用户虚拟主机有新消息变化会消息队列以折线图的形式显示配置文件路径和...原创 2019-09-06 03:02:54 · 556 阅读 · 0 评论 -
安装RabbitMQ和登陆管控台
这边使用rpm一键式安装,如果是使用yum install一步步去安装环境的那种你需要:安装稳定版3.6x你需要安装jdk,这里略过安装顺序:1.erlang(因为RabbitMQ是使用erlang语言编写的)2.socat密钥加密的3.rabbitmq如果没有安装socat就安装rabbitmq就会报错修改配置文件5672是java项目中连接rabbitmq用...原创 2019-09-05 22:17:51 · 356 阅读 · 0 评论 -
RabbitMQ整体架构图
原创 2019-09-05 21:30:51 · 2170 阅读 · 0 评论 -
AMQP协议简介
AMQP:1.应用层标准高级消息队列协议2.应用层协议的一个开放标准3.二进制协议4.提供统一消息服务5.为消息中间件设计6.一种规范7.也是ActiveMQ的规范1.Message 消息。消息是不具名的,它由消息头消息体组成。消息体是不透明的,而消息头则由一系列可选属性组成,这些属性包括:routing-key(路由键)、priority(相对于其他消息的优先权)、d...原创 2019-09-05 20:29:27 · 228 阅读 · 0 评论 -
RabbitAMQ入门核心学习开篇
RabbitMQ简介RabbitMQ 一个实现了 AMQP 的开源消息中间件,使用高性能的 Erlang 编写。 RabbitMQ有可靠性、支持多种协议、高可用、支持消息集群以及多语言客户端等特点,在分布式系统中存储转发消息,具有不错的性能表现。 除了Qpid,RabbitMQ是唯一一个实现了AMQP标准的消息服务器;可靠性,RabbitMQ的持久化支持,保证了消息的稳定性;高并发,...原创 2019-09-03 21:23:04 · 136 阅读 · 0 评论 -
主流消息中间件的简介
集群结构图:集群结构图:集群结构图:(阿里巴巴已把原先基于ZooKeeper集群改为自己搭建的Name Server集群)集群结构图:AMQ:性能较差、不适合高并发、有完整的API、适于小型通信。KAFKA: 高性能、消息的可靠性较差、日志升级等升级需要可选用。RocketMQ: 消息可靠性好,性能好,支持分布式事务,支持水平扩展,上亿级别的消息堆积,但是商业版收费,...原创 2019-09-05 19:33:19 · 204 阅读 · 0 评论