RabbitMQ小记(四)
1、RabbitMQ管理
(1)权限管理
物理服务器和虚拟主机都各自有独立的权限管理,用户访问需要设置权限。
授权命令:rabbitmqctl set permissions [-p vhost] {user) {conf) {write) { read)
vhost:授予用户可以访问的vohost名称。
user:访问指定vohost的用户名称。
conf:用户在那些资源有配置权限的正则表达式
write:用户在哪些资源上有写权限的正则表达式
read:用户在那些资源上有读权限的正则表达式
例如:rabbitmqctl set_permissions -p vhost1 root " .* " " .* " " .* "
(2)用户管理
单个用户可以访问多个RabbitMQ服务,根据创建用户时赋予的权限执行不同的操作。
添加用户命令:rabbitmqctl add_user {username} {password}
修改用户密码:rabbitmqctl change_password {username} {newpassword}
清除用户密码:rabbitmqctl clear_password {uesrname}
通过密码验证用户:rabbitmqctl authenticate_user {username} {password}
删除用户:rabbitmqctl delete_user {username}
查询所有用户:rabbitmqctl list_user
设置用户角色:rabbitmqctl set _user_tags {user} {tags}
(3)Web管理
访问http://127.0.0.1:15672,默认用户名/密码:guest/guest
远程RabbitMQ服务guest访问不了。
2、RabbitMQ配置
rabbitmq.config中MQ服务配置信息
tcp_listeners 监听
num_tcp_acceptors 处理TCP连接Eelang进程数,默认为0.
{
{
rabbit,{
{tcp_listeners ,[5673]}//修改监听端口
}
}
}.
3、RabbitMQ集群
rabbotMQ集群允许消费者和生产者在rabbitmq单个节点崩溃的情况下继续运行,还可以通过集群添加更多的节点来线性的扩展吞吐量,当集群中的某个节点崩溃时,该节点上的所有队列中的消息也会丢失。
rabbitMQ集群的元数据:队列元数据、交换器、绑定关系元数据、vhost元数据
多机节点配置:(1)配置各个节点的hosts文件,让各个节点可以互相识别
(2)编辑每个节点的cookie文件,保证每个节点的cookie值一样
(3)配置集群,可以通过rabbitmqctl配置或通过rabbitmq.config配置文件配置或通过rabbitmq-autocluster插件配置
将节点加入到指定集群中:rabbitmqctl joio_cluster {cluster_node} [--ram]
显示集群状态:rabbitmqctl cluster_status
修改集群节点类型:rabbitmqctl forget_cluster _ node [-- offiine]
将节点从集群中删除:rabbitmqctl update _ cluster_nodes {clusternode}
4、RabbitMQ存储
rabbitMQ队列通常由rabbit_amqqueue_process和backing_queue两部分组成,rabbit_amqqueue_process负责处理协议相关的消息,如接收生产者发送的消息、先消费者交付消息、处理消息确认等。backing_queue是消息存储的具体形式,并向rabbit_amqqueue_process提供相关的接口以供调用。
RabbitMQ小记(四)的更多相关文章
- RabbitMQ(四) -- Routing
RabbitMQ(四) -- Routing `rabbitmq`可以通过路由选择订阅者来发布消息. Bindings 通过下面的函数绑定Exchange与消息队列: channel.queue_bi ...
- 快速掌握RabbitMQ(二)——四种Exchange介绍及代码演示
在上一篇的最后,编写了一个C#驱动RabbitMQ的简单栗子,了解了C#驱动RabbitMQ的基本用法.本章介绍RabbitMQ的四种Exchange及各种Exchange的使用场景. 1 direc ...
- RabbitMQ第四篇:Spring集成RabbitMQ
前面几篇讲解了如何使用rabbitMq,这一篇主要讲解spring集成rabbitmq. 首先引入配置文件org.springframework.amqp,如下 <dependency> ...
- RabbitMQ的四种ExChange
在message到达Exchange后,Exchange会根据route规则进入对应的Queue中,message可能进入一个Queue也可能进入对应多个Queue,至于进入哪个Queue或者是说哪个 ...
- RabbitMQ小记(二)
1.RabbitMQ相关介绍 (1)RabbitMQ整体上是一个生产者和消费者模型,主要负责接收.存储.转发消息.RabbitMQ整体结构图如下: (2)生产者:发送消息的一方,生产者创建一条消息,发 ...
- RabbitMQ(四)
RabbitMQ 配置 一.RabbitMQ 配置修改方式 1.修改环境变量 2.修改配置文件(只介绍这个) 3.修改运行时参数和政策 locate rabbitmq vi /var/log/rabb ...
- rabbitMQ第四篇:远程调用
前言:前面我们讲解的都是本地服务器,现在如果需要远程计算机上运行一个函数,等待结果.这就是一个不同的故事了,这种模式通常被称为远程过程调用或者RPC. 本章教程我们使用RabbitMQ搭建一个RPC系 ...
- RabbitMQ (四) 路由选择 (Routing) -摘自网络
本篇博客我们准备给日志系统添加新的特性,让日志接收者能够订阅部分消息.例如,我们可以仅仅将致命的错误写入日志文件,然而仍然在控制面板上打印出所有的其他类型的日志消息. 1.绑定(Bindings) 在 ...
- RabbitMQ (四) 路由选择 (Routing)
上一篇博客我们建立了一个简单的日志系统,我们能够广播日志消息给所有你的接收者,如果你不了解,请查看:RabbitMQ (三) 发布/订阅.本篇博客我们准备给日志系统添加新的特性,让日志接收者能够订阅部 ...
随机推荐
- Hive 常见面试题(二)
1.Hive行转列和列转行如何实现? 行转列 使用 concat_ws 实现行转列. 例如: select user_id, concat_ws(',',collect_list(order_id)) ...
- Apache Tika实战
Apache Tika实战 Tika 简介 Apache Tika 是一个内容分析工具包,可以检测上千种文件类型,并提取它们的元数据和文本.tika在设计上十分精巧,单一的接口使它易于使用,在搜索引擎 ...
- 移动开发中如何整合HTML 5和原生代码
移动开发中如何整合HTML 5和原生代码 https://blog.csdn.net/lvjin110/article/details/41038565
- 答应我,用了这个jupyter插件,别再重复造轮子了
1 简介 在使用Python.R等完成日常任务的过程中,可能会经常书写同样或模式相近的同一段代码,譬如每次使用matplotlib绘制图像的时候可以在开头添加下面两行代码来解决中文乱码等显示问题: p ...
- 安装和配置SQL
安装和配置SQL 在终端输入 npm i mysql命令安装SQL(加上-g全局安装) 配置SQL // 1.导入mysql模块 const mysql = require("mysql&q ...
- 数据库行转列的sql语句
问题描述 假设有张学生成绩表(CJ)如下Name Subject Result张三 语文 80张三 数学 90张三 物理 85李四 语文 85李四 数学 92李四 物理 82 现在 想写 sql 语句 ...
- CDH5.16.1集群企业真正离线部署
一.准备工作 1.离线部署主要分为三块: MySQL离线部署 CM离线部署 Parcel文件离线源部署 2.规划 节点 MySQL部署组件 Parcel文件离线源 CM服务进程 大数据组件 hadoo ...
- 手写mybatis框架-增加缓存&事务功能
前言 在学习mybatis源码之余,自己完成了一个简单的ORM框架.已完成基本SQL的执行和对象关系映射.本周在此基础上,又加入了缓存和事务功能.所有代码都没有copy,如果也对此感兴趣,请赏个Sta ...
- 痞子衡嵌入式:IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞
大家好,我是痞子衡,是正经搞技术的痞子.今天痞子衡给大家分享的是IVT里的不同entry设置可能会造成i.MXRT1xxx系列启动App后发生异常跑飞问题的分析解决经验. 事情缘起恩智浦官方论坛上的一 ...
- Java 9天入门(黑马程序员) 课程收尾 ------学生管理系统 (9.13)
1 实现功能 2 结构概述 分为两个包,各自一个类 Student.java 为学生类,目的是储存学生信息 StudentManager.java 是主程序的代码 3 Student.java 的代码 ...