RabbitMQ兼容性验证

RabbitMQ是实现了高级消息队列协议(AMQP)的开源消息代理软件(亦称面向消息的中间件)。RabbitMQ服务器是用Erlang语言编写的,而集群和故障转移是构建在开放电信平台框架上的。所有主要的编程语言均有与代理接口通讯的客户端库。

RabbitMQ是一套开源(MPL)的消息队列服务软件,是由 LShift 提供的一个 Advanced Message Queuing Protocol (AMQP) 的开源实现,由以高性能、健壮以及可伸缩性出名的 Erlang 写成。

rabbit主要特性

  • 可伸缩性:集群服务
  • 消息持久化:从内存持久化消息到硬盘,再从硬盘加载到内存

一、安装启动

安装rabbit源仓库

yum install loongnix-release-rabbitmq-38

安装相关依赖

yum install   socat logrotate  erlang

安装rabbitmq软件包

yum install rabbitmq-server

启动rabbitmq服务

systemctl start rabbitmq-server
systemctl status rabbitmq-server

开启管理页面插件
rabbitmq-plugins enable rabbitmq_management

[root@bogon opt]$ rabbitmq-plugins enable rabbitmq_management
Enabling plugins on node rabbit@bogon:
rabbitmq_management
The following plugins have been configured:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch
Applying plugin configuration to rabbit@bogon...
The following plugins have been enabled:
  rabbitmq_management
  rabbitmq_management_agent
  rabbitmq_web_dispatch

started 3 plugins.

二、测试

  • 用python脚本产生消息

安装pika模块:pip3 install pika

[root@bogon ~]# pip3 install pika
WARNING: Running pip install with root privileges is generally not a good idea. Try `pip3 install --user` instead.
Collecting pika
  Downloading https://pypi.loongnix.cn/root/pypi/+f/89f/5e606646caebe/pika-1.3.1-py3-none-any.whl (155kB)
    100% |████████████████████████████████| 163kB 887kB/s 
Installing collected packages: pika
Successfully installed pika-1.3.1

编写产生消息脚本send.py

 cat <<  EOF > send.py
#!/usr/bin/env python
import pika
connection = pika.BlockingConnection(
            pika.ConnectionParameters(host='localhost'))
channel = connection.channel()
channel.queue_declare(queue='hello')
channel.basic_publish(exchange='', routing_key='hello', body='Hello World!')
print(" [x] Sent 'Hello World!'")
connection.close()
EOF

执行脚本产生消息
[root@bogon ~]# python3 send.py
[x] Sent ‘Hello World!’

  • 用python脚本接收消息

编写接收消息的脚本 receive.py

cat <<  EOF >  receive.py

#!/usr/bin/env python
import pika, sys, os

def main():
        connection = pika.BlockingConnection(pika.ConnectionParameters(host='localhost'))
        channel = connection.channel()
        channel.queue_declare(queue='hello')

        def callback(ch, method, properties, body):
            print(" [x] Received %r" % body)

        channel.basic_consume(queue='hello', on_message_callback=callback, auto_ack=True)

        print(' [*] Waiting for messages. To exit press CTRL+C')
        channel.start_consuming()

if __name__ == '__main__':
    try:
        main()
    except KeyboardInterrupt:
        print('Interrupted')
        try:
            sys.exit(0)
        except SystemExit:
            os._exit(0)
EOF

执行脚本接收信息
[root@bogon lqw]# python3 receive.py
[*] Waiting for messages. To exit press CTRL+C
[x] Received b’Hello World!’
[x] Received b’Hello World!’

访问控制台查看,帐号密码全输入guest即可登录

rabbitmq登录
登录后界面
登录后的界面

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值