[free] 来自 cloudamqp 的 rabbitmq 服务

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

来源广告邮件

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()
  • 云计算
    79 引用 • 91 回帖 • 1 关注
  • RabbitMQ

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

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

相关帖子

欢迎来到这里!

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

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

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

    1 回复
  • alanfans via macOS
    作者

    有利有弊