上一篇:python实战之IO多路复用 点击跳转
目录篇:python相关目录篇 点击跳转
下一篇:python实战之Redis 点击跳转
同类篇:python实战之Queue队列模块 点击跳转
目录
- 简单介绍
- RabbitMQ安装
- window7安装
- Linux安装
- 实战
- 最简单的生产者消费者试验
- rabbitMB修改持久化试验
- Publish\Subscribe(消息发布\订阅)
- 试验fanout类型 所有bind到此exchange的queue都可以接收消息
- 试验direct类型
- 试验topic类型:
- RABBITMQ RPC
- 通过rabbitMB 实现RPC模式试验
简单介绍
回顾学的PY threading Queue队列:用于多个线程数据共享同步交互的
如果Python的进程想要和JAVA进程或者PHP进程交互怎么办?
在不同的机器上实现生产与消费,进程都是独立,这个时候如何进行数据交互?
我们需要一个中间代理,就是RabbitMQ 消息队列
1.soctet可以解决两个进程通信
2.disk进行序列化也可以(磁盘太慢了)
3.broker(中间商)
broker(中间商)成熟产品软件:RabbitMQ、ZeroMQ、ActiveMQ...等等
RabbitMQ最火,所以学 RabbitMQ
RabbitMQ安装
RabbitMQ 基于erlang语言开发的,所上必须向装erlang该语言
http://www.erlang.org/downloads(可以下线erlang)
-
window7安装
erlang安装目录
rabbit必须指定目录,默认目录因为空格问题导致问题
加入环境变量:
C:\Program Files\erl7.3\bin;D:\ribbt\rabbitmq_server-3.6.12\sbin
window安装pika模块
-
Linux安装
安装依赖文件:
yum install gcc glibc-devel make ncurses-devel openssl-devel xmlto -y
安装erlang
cd /home/burgess/tools/
[root@python tools]# wget http://erlang.org/download/otp_src_18.3.tar.gz
[root@python tools]# tar -xzvf otp_src_18.3.tar.gz
[root@python tools]# cd otp_src_18.3/
[root@python otp_src_18.3]# ./configure --prefix=/opt/erlang
[root@python otp_src_18.3]# make && make install
[root@python otp_src_18.3]# cd /opt/erlang/
[root@python bin]# /opt/erlang/bin/erl
1>
[root@python bin]# echo "export PATH=$PATH:/opt/erlang/bin" >> /etc/profile
[root@python bin]# export PATH=$PATH:/opt/erlang/bin
[root@python bin]# source /etc/profile
安装RabbitMQ
[root@python tools]# wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.1/rabbitmq-server-generic-unix-3.6.1.tar.xz
[root@python tools]# xz -d rabbitmq-server-generic-unix-3.6.1.tar.xz
[root@python tools]# tar -xvf rabbitmq-server-generic-unix-3.6.1.tar -C /opt
[root@python opt]# ln -s rabbitmq_server-3.6.1/ /opt/rabbitmq-3.6.1
[root@python opt]# export PATH=$PATH:/opt/rabbitmq-3.6.1/sbin
[root@python opt]# echo 'export PATH=$PATH:/opt/rabbitmq-3.6.1/sbin' >>/etc/profile
[root@python opt]# source /etc/profile
[root@python opt]# cd rabbitmq-3.6.1/
[root@python rabbitmq-3.6.1]# cd sbin/
[root@python sbin]# ./rabbitmq-server -detached #启动
添加外网访问账户以及授权
[root@python ~]# rabbitmqctl add_user admin admin #创建用户
[root@python ~]# rabbitmqctl list_users #查看所有用户
Listing users ...
admin []
guest [administrator]
[root@python ~]# rabbitmqctl set_permissions -p "/" admin ".*" ".*" ".*" #授权
Setting permissions for user "admin" in vhost "/" ...
[root@python ~]# rabbitmqctl list_permissions -p / #查看用户权限
Listing permissions in vhost "/" ...
guest .* .* .*
admin .* .* .*
[root@python ~]# rabbitmqctl set_user_tags admin administrator
Setting tags for user "admin" to [administrator] ...
[root@python ~]# rabbitmqctl list_users
Listing users ...
admin [administrator]
guest [administrator]
添加网页访问插件
关闭服务:
[root@iZ25e3bt9a6Z sbin]# ./rabbitmqctl stop