RabbitMQ 网页展示

本文档提供了详细的步骤说明如何通过命令行工具rabbitmqctl进行RabbitMQ服务器的配置和管理,包括用户角色设置、虚拟机添加及权限分配等关键操作。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1、地址栏输入: ip:15672

       ip:mq服务器的ip

2、设置用户角色:

       rabbitmqctl set_user_tags username tag

        username:用户名

       tag可以为administrator, monitoring, management 

2、添加虚拟机

        rabbitmqctl add_vhost vhost_one

        vhost_one:虚拟机名称

3、设置访问权限

        rabbitmqctl set_permissions -p vhostname username ".*" ".*" ".*"

        vhostname :虚拟机名称

        username :用户名

 

4、可能会用到的指令

删除虚拟机

rabbitmqctl delete_vhost vhost_one

查看虚拟机列表

rabbitmqctl list_vhosts

 

用户管理

添加用户:rabbitmqctl add_user {username} {password} 

删除用户:rabbitmqctl delete_user {username} 

修改密码:rabbitmqctl change_password {username} {newpassword} 

举例: 

rabbitmqctl add_user root root 

rabbitmqctl set_user_tags root administrator 

rabbitmqctl list_users

 

 

### 使用RabbitMQ进行爬虫相关的消息队列处理 #### RabbitMQ在爬虫中的角色 RabbitMQ作为一种高效可靠的消息中间件,在分布式系统尤其是分布式爬虫架构中有广泛应用。具体来说,RabbitMQ能够有效地管理URL抓取请求和其他任务分配工作。通过将待访问的网页链接存入到RabbitMQ队列中,多个爬虫实例可以从同一个队列读取消息并执行相应的页面下载操作[^2]。 #### 实现过程概述 为了构建基于RabbitMQ的分布式爬虫框架,通常会经历以下几个方面的工作: - **初始化设置**:确保已正确部署并启动了RabbitMQ服务及其管理界面插件;同时调整应用程序配置文件来指定连接至本地或远程服务器上的RabbitMQ实例所需的信息。 - **生产者逻辑编写**:负责向RabbitMQ推送新发现或者待解析的目标网址。这部分代码可能位于主控节点上运行的任务调度器内部,它会定期扫描Redis数据库内的种子集合,并挑选合适的条目转换为结构化的JSON字符串形式发送出去。 - **消费者开发**:即各个独立工作的爬虫进程本身。它们监听特定主题下的所有更新事件,一旦收到新的指令便立即响应——发起HTTP请求获取目标资源内容、分析HTML文档结构提取有用信息保存入库等等。值得注意的是这里提到的“消费者”,并非仅指代单一实体而是泛指整个集群里的每一个成员个体。 ```python import pika def callback(ch, method, properties, body): url = json.loads(body.decode()) print(f"Received URL to crawl: {url}") connection = pika.BlockingConnection(pika.ConnectionParameters('localhost')) channel = connection.channel() channel.queue_declare(queue='urls_to_crawl') channel.basic_consume(queue='urls_to_crawl', on_message_callback=callback, auto_ack=True) print('Waiting for messages...') channel.start_consuming() ``` 此段Python脚本展示了如何定义一个简单的回调函数`callback()`用于处理来自名为"urls_to_crawl"队列的数据项。每当接收到一条记录时都会调用该方法打印出所含有的URL地址。 #### 流量控制机制 考虑到网络环境复杂多变可能导致某些时刻瞬时间涌入大量并发请求从而压垮下游组件的情况发生,因此有必要引入合理的限流策略以保护整体系统的稳定性。借助于RabbitMQ内置的支持功能,管理员可以根据实际情况灵活设定每秒允许传递的最大消息数量或者其他更细致粒度级别的限制条件[^4]。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值