【Service】【MiddleWare】【Message】rabbitMQ
1. 概念:
1.1. 消息型中间件:遵循AMQP协议(高级消息队列协议)AMQP 0-9-1 AMQP 1.0
1.2. 路由模型:
direct
topic
fan-out
headers
1.3. broker:
exchange
binding
queue
1.4. vitrualhost:虚拟主机
exchange
binding
queue
1.5. 中间件的实现:
Qpid, ActiveMQ(apache):Java
RabbitMQ:erlang
Kafka
0MQ
2. 安装:
程序包:
epel:rabbitmq-server
插件:rabbitmq-plugins(enable|disable|list)
rabbitmq_management:监听于15672端口
配置方式:
环境变量:网络参数及配置文件路径;
配置文件:服务器各组件访问权限、资源限制、插件及集群;
运行时参数:集群的运行时参数;
环境变量:/etc/rabbitmq/rabbit-env.conf
RABBITMQ_BASE:数据库和日志文件;对unix-like主机不常用;
RABBITMQ_CONFIG_FILE:配置文件路径:/etc/rabbitmq/rabbitmq
RABBITMQ_LOGS:
RABBITMQ_NODE_IP_ADDRESS:监听的IP;
RABBITMQ_NODE_PORT:
RABBITMQ_PLUGINS_DIR
配置文件:
auth_mechanisms:认证机制;SASL,简单认证安全层
default_user:guest
default_pass:guest
default_permission
disk_free_limit
heartbeat:
hipe_compile:是否使用hipe编译,使用hipe编译性能提高
log_levels: {none|error|warning|info}
tcp_listeners:监听的地址和端口 5672
ssl_listeners:基于ssl通信协议监听的地址和端口
vm_memory_high_watermark:
rabbitmqctl命令:
运行时参数;
set_parameter [-p <vhostpath>] <component_name> <name> <value>
clear_parameter [-p <vhostpath>] <component_name> <key>
set_policy [-p <vhostpath>] [--priority <priority>] [--apply-to <apply-to>] <name> <pattern> <definition>
clear_policy [-p <vhostpath>] <name>
set_vm_memory_high_watermark <fraction>
用户管理:
add_user
delete_user
change_password
clear_password
set_user_tags
list_user
虚拟主机:
add_vhost
delete_vhost
list_vhost
权限管理:
set_permissions
clear_permissions
list_permissions
list_user_permissions
组件查看命令:
list_queue
list_exchanges
list_bindings
list_connections
list_channels
list_consumers
broker状态查看:
status
环境变量查看:
environment
执行erlang底层表达式:
eval <expr>
关闭指定的连接:
close_connection <connectionid> <explanation>
设定内存的高水位标记
set_vm_memory_high_watermark <function>
3. rabbitmq cluster
3.1. 步骤:
在master节点:
复制其cookie至其他各节点,要注意保持其权限为400;
/var/lib/rabbitmq/.erlang.cookie
在各从节点:
停止应用:rabbitmqct stop_app
加入集群:rabbmitmqctl join_cluster CLUSTER_NAME
启动应用:rabbmitmqctl start_app
3.2. 注意
使用短格式主机名;解析的名称与每个主机名称保持一致
时间同步:
各节点要启动rabbitmq_management插件;
4. 基于haproxy的LB集群:
listen rabbitmq:5672
mode tcp
status enable
balance roundrobin
server rabbit01 IP:PORT check inter 5000
server rabbit02 IP:PORT check inter 5000
【Service】【MiddleWare】【Message】rabbitMQ的更多相关文章
- Service Oriented Architecture and WCF 【转】
http://www.codeproject.com/Articles/515253/Service-Oriented-Architecture-and-WCF Introduction This a ...
- 【.NET Core项目实战-统一认证平台】第八章 授权篇-IdentityServer4源码分析
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我介绍了如何在网关上实现客户端自定义限流功能,基本完成了关于网关的一些自定义扩展需求,后面几篇将介绍基于IdentityServer ...
- 【.NET Core项目实战-统一认证平台】第二章网关篇-定制Ocelot来满足需求
[.NET Core项目实战-统一认证平台]开篇及目录索引 这篇文章,我们将从Ocelot的中间件源码分析,目前Ocelot已经实现那些功能,还有那些功能在我们实际项目中暂时还未实现,如果我们要使用这 ...
- Z从壹开始前后端分离【 .NET Core2.2/3.0 +Vue2.0 】框架之五 || Swagger的使用 3.3 JWT权限验证【必看】
本文梯子 本文3.0版本文章 前言 1.如何给接口实现权限验证? 零.生成 Token 令牌 一.JWT ——自定义中间件 0.Swagger中开启JWT服务 1:API接口授权策略 2.自定义认证之 ...
- WCF学习系列二---【WCF Interview Questions – Part 2 翻译系列】
http://www.topwcftutorials.net/2012/09/wcf-faqs-part2.html WCF Interview Questions – Part 2 This WCF ...
- WCF学习系列三--【WCF Interview Questions – Part 3 翻译系列】
http://www.topwcftutorials.net/2012/10/wcf-faqs-part3.html WCF Interview Questions – Part 3 This WCF ...
- 【.NET Core项目实战-统一认证平台】第十六章 网关篇-Ocelot集成RPC服务
[.NET Core项目实战-统一认证平台]开篇及目录索引 一.什么是RPC RPC是"远程调用(Remote Procedure Call)"的一个名称的缩写,并不是任何规范化的 ...
- 【.NET Core项目实战-统一认证平台】第十章 授权篇-客户端授权
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章介绍了如何使用Dapper持久化IdentityServer4(以下简称ids4)的信息,并实现了sqlserver和mysql两种 ...
- 【.NET Core项目实战-统一认证平台】第三章 网关篇-数据库存储配置(1)
[.NET Core项目实战-统一认证平台]开篇及目录索引 本篇将介绍如何扩展Ocelot中间件实现自定义网关,并使用2种不同数据库来演示Ocelot配置信息存储和动态更新功能,内容也是从实际设计出发 ...
- 【.NET Core项目实战-统一认证平台】第六章 网关篇-自定义客户端授权
[.NET Core项目实战-统一认证平台]开篇及目录索引 上篇文章我们介绍了网关使用Redis进行缓存,并介绍了如何进行缓存实现,缓存信息清理接口的使用.本篇我们将介绍如何实现网关自定义客户端授权, ...
随机推荐
- uni-app路径规划(打开第三方地图实现)
百度网盘链接:https://pan.baidu.com/s/1-Ys13GFcnKXB1wkJotcwMw 提取码:16gp 把js文件放在common目录下 引入: import pathP ...
- Flask搭建弹幕视频网站(1)
说在前面 也不知道最后能不能完成网站,所以就想把这十多天来学习到的点点滴滴记录下来.学的越来越多,所谓全栈也是需要前端基础,越来越感受到压力,但是遇到一个问题就解决一个问题,慢慢习惯之后感觉也还行.说 ...
- Forest v1.5.13 发布,声明式 HTTP 框架,已超 1.7k star
Forest介绍 Forest 是一个开源的 Java HTTP 客户端框架,它能够将 HTTP 的所有请求信息(包括 URL.Header 以及 Body 等信息)绑定到您自定义的 Interfac ...
- Android系统编程入门系列之硬件交互——传感器
到目前为止,关于应用程序与用户之间的相关内容便比较肤浅的大致介绍完毕.而在整个系统架构中,应用程序与用户之间的交互,犹如参天大树上的枝干和树叶,交互起来五彩缤纷,但使整个生态系统保持生命力的核心,在于 ...
- [atARC128F]Game against Robot
为了方便,下文中的$n$是原来的$\frac{n}{2}$ 当确定排列$\{p_{i}\}$后,将$a_{i}$按照$p_{i}$从大到小排序,那么机器人即会不断选第一个元素 考虑玩家最后选择的$n$ ...
- [loj3329]有根树
题目即求$\min_{C}\max(|C|,\min_{x\notin C}w_{x})$,考虑将$w$从大到小排序,即为$\min_{1\le k\le n}\max(k,w_{k+1})$ 考虑若 ...
- c语言if语句是如何变成汇编代码的?
1. 要编译的测试代码: int a; int b = 3; int main(void) { if (3) a = 4; else b = 5; } 2. 词法分析 词法分析将c源代码解析成一个个的 ...
- Vulnhub-Empire: LupinOne题解
Vulnhub-Empire: LupinOne题解 本靶机为Vulnhub上Empire系列之LupinOne,地址:EMPIRE: LUPINONE 扫描与发现 利用arp-scan命令扫描靶机I ...
- CF1264D2 Beautiful Bracket Sequence (hard version)
考虑\(D1\)的\(O(n^2)\),我们直接进行组合处理. 考虑在\(p\)这个位置,左边有\(l\)个(,右边有\(r\)个),左边有\(l\)个问号,右边有\(r\)个问号. 这个位置的贡献为 ...
- 洛谷 P4002 - [清华集训2017]生成树计数(多项式)
题面传送门 神题. 考虑将所有连通块缩成一个点,那么所有连好边的生成树在缩点之后一定是一个 \(n\) 个点的生成树.我们记 \(d_i\) 为第 \(i\) 个连通块缩完点之后的度数 \(-1\), ...