[free] 来自 cloudamqp 的 rabbitmq 服务

本贴最后更新于 2174 天前,其中的信息可能已经时移世改

来源广告邮件

WechatIMG361jpeg

For development or small hobby projects. Not recommended for production due to variable performance.---意思是测试用,不能用于生产

20180628223242png

注册走起

https://www.cloudamqp.com/

20180628205855png
20180628210006png

注册成功

20180628210053png

选 tw

20180628210143png
20180628234206png

服务详情

免费的嘛,有限制

  • Max 100 queues
  • Max 10 000 queued messages
  • Max idle queue time 28 days
  • Max 20 connections
  • Max queue length 10000
  • Messages 1000000

20180628210404png

rabbitmq 管理平台

20180628210618png

测试

安装: pip install pika

交换机,队列设置

20180628225416png

生产者

20180628215116png

面板信息

20180628214732png

消息详情

20180628214811png

消费者

20180628215449png

面板信息

20180628215437png

参考资料:

https://www.cnblogs.com/pangguoping/p/5720134.html
https://www.cloudamqp.com/docs/index.html

代码

# -*- coding:utf-8 -*-
import pika
import sys

username = 'sigmsgvl'   #指定远程rabbitmq的用户名密码
pwd = '9mLB9oxmSJFo07K2vvC-qDnohDKek5fN'
user_pwd = pika.PlainCredentials(username, pwd)
s_conn = pika.BlockingConnection(pika.ConnectionParameters('mustang.rmq.cloudamqp.com',5672,'sigmsgvl', credentials=user_pwd))#创建连接
chan = s_conn.channel()  #在连接上创建一个频道
chan.queue_declare(queue='test',durable=True) #声明一个队列,生产者和消费者都要声明一个相同的队列,用来防止万一某一方挂了,另一方能正常运行
chan.basic_publish(exchange='gd',  #交换机
                   routing_key='hacpai',#路由键,写明将消息发往哪个队列,本例是将消息发往队列hello
                   body='hello hacpai')#生产者要发送的消息
print("[生产者] send 'hello hacpai")
s_conn.close()#当生产者发送完消息后,可选择关闭连接
# -*- coding:utf-8 -*-
import pika
import sys

username = 'sigmsgvl'   #指定远程rabbitmq的用户名密码
pwd = '9mLB9oxmSJFo07K2vvC-qDnohDKek5fN'
user_pwd = pika.PlainCredentials(username, pwd)
connection = pika.BlockingConnection(pika.ConnectionParameters('mustang.rmq.cloudamqp.com',5672,'sigmsgvl', credentials=user_pwd))#创建连接
channel = connection.channel()  #在连接上创建一个频道
channel.queue_declare(queue='test',durable=True) # 声明消息队列,消息将在这个队列中进行传递。如果队列不存在,则创建
# 定义一个回调函数来处理,这边的回调函数就是将信息打印出来。
def callback(ch, method, properties, body):
    print(" [x] Received %r" % body)
# 告诉rabbitmq使用callback来接收信息
channel.basic_consume(callback,
                      queue='test',
                      no_ack=True)
 # no_ack=True表示在回调函数中不需要发送确认标识
print(' [*] Waiting for messages. To exit press CTRL+C')
# 开始接收信息,并进入阻塞状态,队列里有信息才会调用callback进行处理。按ctrl+c退出。
channel.start_consuming()
  • 云计算
    78 引用 • 91 回帖 • 1 关注
  • RabbitMQ

    RabbitMQ 是一个开源的 AMQP 实现,服务器端用 Erlang 语言编写,支持多种语言客户端,如:Python、Ruby、.NET、Java、C、PHP、ActionScript 等。用于在分布式系统中存储转发消息,在易用性、扩展性、高可用性等方面表现不俗。

    49 引用 • 60 回帖 • 362 关注
  • 消息队列
    40 引用 • 52 回帖 • 2 关注

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...
  • 88250

    云服务确实方便,成本也能降低不少,初衷都是少折腾技术,多开展业务。

    1 回复
  • alanfans
    作者

    有利有弊