搜索
查看
编辑修改
首页
UNITY
NODEJS
PYTHON
AI
GIT
PHP
GO
CEF3
JAVA
HTML
CSS
搜索
小舞很执着
这个屌丝很懒,什么也没留下!
关注作者
热门标签
jquery
HTML
CSS
PHP
ASP
PYTHON
GO
AI
C
C++
C#
PHOTOSHOP
UNITY
iOS
android
vue
xml
爬虫
SEO
LINUX
WINDOWS
JAVA
MFC
CEF3
CAD
NODEJS
GIT
Pyppeteer
article
热门文章
1
Golang | Leetcode Golang题解之第315题计算右侧小于当前元素的个数
2
kali linux 安装教程(最新)_虚拟机安装kali
3
红黑树的理解与代码实现_红黑树 java代码 非递归
4
安全科普:什么是暴力破解攻击?如何检测和防御?_暴破攻击防护
5
Linux<小白>详细笔记
6
教你怎么把heic格式转化jpg_c# heic图片
7
error pulling image configuration: read tcp xxx.xxx.x.xxx:xx->xxx.xx.xxx.xx:xxx: read: connection_pulling image configuration: read tcp 192.168.0.18
8
顺序表的按值查找_5、顺序表的按值查找。
9
使用Hyper-v 安装MacOS12_hyper-v安装macos
10
HiveQL与SQL区别_hiveql和sql区别
当前位置:
article
> 正文
RabbitMQ实战:高效部署分布式消息队列(读书笔记)_消息队列实战
作者:小舞很执着 | 2024-08-06 19:59:50
赞
踩
消息队列实战
RabbitMQ
实战:高效部署分布式消息队列
目录
1
历史简介
2
理解消息通信
3
运行和管理Rabbit
4
编码与模式
5
集群及处理失败
6
故障恢复
7
warren和Shovel:故障转移和复制
8
从Web端管理RabbitMQ
9
使用REST API控制Rabbit
10
监控
11
提升性能,保障安全
12
聪明的Rabbit:扩展RabbitMQ
13
附录
历史简介
理解消息通信
信道(channel)
接受者确认之后消息就会从队列中删除(anycast任播?)
AMQP交换器(exchange)和绑定(bind):
4种类型的交换器:direct(如果key匹配)、fanout(广播)、topic(汇聚,使用*通配符)、
headers
队列绑定到交换器
多租户:vhost(感觉RabbitMQ完全可以理解为一个HTTP 2.0 Web服务器啊?)
持久化
durable=true;投递模式选项=2(令人震惊!这什么技术书???)
性能不佳?靠
?AMQP事务
更好的:‘发送方确认模式’(信道设为confirm模式)
Python客户端演示:
import pika
conn_params = ...
conn_broker = pika.BlockingConnection(conn_params)
chan = conn_broker.channel()
chan.exchange_decalre(exachange="name-a", type="direct", passive=False, durable=True, auto_delete=False) #注意名字需要保证唯一性
chan.queue_declcare(queue="q-1")
chan.queue_bind(queue="q-1", exachange="name-a", routing_key="k") #靠
...
chan.basic_consume(msg_consumer, queue="q-1",
consumer_tag
=...)
chan.start_consuming()
当信道为confirm模式时,发送的每条消息都会返回唯一ID(有点类似于数据库插入记录时的生成ID??)
消息ID需要由发送者自己维护?靠
运行和管理Rabbit
rabbitmq.config:这个配置文件本身就是Erlang代码,还挺时髦的~
Mnesia是一个文档型数据库???
Mnesia会基于主机名创建数据库名称?wtf
php-amqplib
疑难解答
Erlang cookie
badrpc、nodedown
编码与模式
发后即忘
告警日志
图片缩略图(fanout)
嗯,php代码是在后台执行的吗?
用RabbitMQ实现RPC
其实就是借用了前者的消息序列化代码吧,脑残
私有队列和发送确认
怎么保证只有发送者收到确认(机制?),即使指定了reply_to字段和exclusive参数的情况下
我觉得用pipe-filter-lambda的术语来描述分布式
消息队列
通信似乎更容易理解一点?
集群及处理失败
内部集群架构
4种类型的内部元数据:队列、交换器、bind、vhost
分布式交换器(只不过是一张查询表)
routing_key让我想起了SDN中的内部路由IP地址。。。
内存节点 or 磁盘节点
元数据更新必须写到至少一个磁盘节点,内存节点可以认为是磁盘读快照,不能被更新(Me:事实上也是可以的,比如Spark这类基于内存的分布式流处理框架)
镜像队列(master-slave)和保留消息
声明镜像队列:传入一个x-ha-policy参数到queue.declare调用中(手工指定master?Fk)
故障恢复
为Rabbit做负载均衡
HAProxy(不就是一个TCP代理嘛)
warren和Shovel:故障转移和复制
warren:主/备份(无共享)
Shovel:自定义一个RabbitMQ上的队列和另一个RabbitMQ上的交换器的复制关系(异步复制,让我想起了网络传输协议中的ATM。。。)
从Web端管理RabbitMQ
超越rabbitmqctl:Management插件
CLI
使用REST API控制Rabbit
REST API一般基于HTTP,有连接开销,一般仅用于‘控制’吗?
监控
Nagios
提升性能,保障安全
消息持久化:delivery-mode=2
topic:11秒时间,针对2000个模式,匹配100000个topic(每秒10w个消息投递?)
Erlang进程计数:上限2^20
SSL连接
聪明的Rabbit:扩展RabbitMQ
STOMP:基于文本的协议(可与ActiveMQ一起工作)
LDAP认证
自定义交换器:Riak
靠,这里完全就是Erlang编程了
附录
node-amqp、Rabbit.js
这书太弱了,Fk
声明:
本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:
https://www.wpsshop.cn/w/小舞很执着/article/detail/939065
推荐阅读
article
rabbitmq
启动错误 .
erlang
.
cookie
must
be
accessible
by...
启动错误:.
erlang
.
cookie
must
be
accessible
by
owner
only解决方法chmo...
赞
踩
article
mac
brew
install rabbitmq 启动 报"Error
when
reading
...
执行 的时候前面加上 sudo_
error
when
reading
erlang
eacces
s
error
when
...
赞
踩
article
【
RabbitMQ
集群搭建】[
error
]
Error
when
reading /var/lib...
RabbitMQ
集群搭建时,添加节点报错:[
error
]
Error
when
reading /var/lib/ra...
赞
踩
article
RabbitMQ-->冰解的破><[
error
] Error
when
reading
/var/l...
在RabbitMQ 集群搭建时,运行
rabbitmq
ctl stop_app命令,产生[
error
] Error whe...
赞
踩
article
RabbitMQ .
erlang
.
cookie
权限问题...
无论是Windows还是Linux环境,安装完
erlang
和rabbitmq之后,会有文件.
erlang
.
cookie
的...
赞
踩
article
Error
when
reading /var/lib/
rabbitmq
/.
erlang
.cooki...
在部署
rabbitmq
集群的时候,将A服务器上的.
erlang
.
cookie
复制到 B服务器上的 .
erlang
.co...
赞
踩
article
Cookie
file
/var/lib/
rabbitmq
/.
erlang
.
cookie
must ...
环境wind10
laradock
hyperv执行docker-compose up -d
rabbitmq
容器构建成功但...
赞
踩
article
rabbitmq
/.
erlang
.
cookie
must
be
accessible
by owne...
文章描述了在使用Docker运行RabbitMQ时遇到的启动失败问题,原因在于Cookiefile权限问题。作者提供了修...
赞
踩
article
rabbitmq
集群搭建报错:[error] Cookie file /var/lib/rabbit...
结果就是
rabbitmq
启动失败随后,执行reset时报错。Cookie file /var/lib/
rabbitmq
/...
赞
踩
article
RabbitMQ
(
同步
调用
、
异步
调用
、
技术选型)_
rabbitmq
同步
交互...
消息发送者:投递消息的人,就是原来的
调用
方消息Broker/消息代理者:管理
、
暂存
、
转发消息,你可以把它理解成微信服务器...
赞
踩
article
2.
RabbitMQ
使用
场景
&
优缺点
_
rabbitmq
不用
在
分布式应用
可以
吗...
1、核心
场景
1.解耦(为面向服务的架构(SOA)提供基本的最终一致性实现)
场景
说明:用户下单后,订单系统需要通知库存...
赞
踩
article
【
Rabbit
MQ
】初识
消息
队列
MQ
,
基于
Docker
部署
Rabbit
MQ
,
探索 Rabbi...
Rabbit
MQ
是一个开源的
消息
代理软件
,
实现了高级
消息
队列
协议(A
MQ
P)。它允许不同应用之间进行异步通信
,
并提供了...
赞
踩
article
Rabbit
MQ
服务
异步
通信
--
初识
MQ
(
同步
通信
和
异步
通信
、
MQ
、几种常见
MQ
的对比)、Ra...
初识
MQ
(
同步
通信
和
异步
通信
、
MQ
)、
Rabbit
MQ
安装和介绍_
mqui
mqui
...
赞
踩
article
window
s搭建
RabbitMQ
服务器_
window
上搭建
rabbitmq
mqtt服务器...
1.先安装Erlang(opt_win64_*)2.安装
RabbitMQ
3.管理员打开cmd4.调用
rabbitmq
-p...
赞
踩
article
RabbitMQ
七种
队列
模式
_
rabbitmq
广播
队列
...
RabbitMQ
的七种
队列
模式
_
rabbitmq
广播
队列
rabbitmq
广播
队列
...
赞
踩
article
使用
Docker
Compose
部署
RabbitMQ
的一些经验与踩坑记录_
docker
-co...
RabbitMQ
是一个功能强大的开源消息队列系统,它实现了高效的消息通信和异步处理。本文主要介绍其基于
Docker
-...
赞
踩
article
使用
docker
-
compose
安装搭建
RabbitMQ
集群
_
docker
-
compose
...
在利用 Docker 创建
rabbitmq
容器之前,先了解
rabbitmq
的基础知识。_
docker
-compo...
赞
踩
article
使用
docker
-
compose
部署多机
RabbitMQ
集群
_
rabbitmq
为什么都没有使...
如果将 作为主节点的话,需要在 上执行命令,将其加入到
集群
,如下:rabbit2#
rabbitmq
ctl stop_a...
赞
踩
article
RabbitMQ
:深入理解高
性能
消息
队列
_mq
消息
性能
...
RabbitMQ
是一个由Erlang语言开发的AMQP(高级
消息
队列
协议)开源实现,它提供了丰富的API供开发者使用,并...
赞
踩
article
RabbitMQ
、
RocketMQ
、
Kafka
性能
为何差距如此之大?_
rabbitmq
读写
性能
...
创建的socket就是一个连接,应用要跟消费者建立一个TCP的连接,这个TCP的连接在底层表示都是socket,不单单只...
赞
踩
相关标签
rabbitmq
消息队列
运维
Rabbit
.erlang.cookie
erlang
docker
分布式
开发语言
性能优化
后端
MQ
异步通信
同步通信
RabbitMQ