当前位置: 首页 > wzjs >正文

企业培训机构网站源码合肥瑶海区

企业培训机构网站源码,合肥瑶海区,网站建设超市,做编程网站文章目录 前言一、名词解释1、核心概念2、交换器类型二、消息模式1、简单模式2、工作队列消息持久性3、发布订阅4、路由模式5、主题模式通配符规则6、RPC模式RPC工作流程三、安装部署1、拉取镜像2、启动容器3、使用`docker-compose`四、应用测试1、安装依赖2、创建连接2.1、引入…

文章目录

  • 前言
  • 一、名词解释
    • 1、核心概念
    • 2、交换器类型
  • 二、消息模式
    • 1、简单模式
    • 2、工作队列
      • 消息持久性
    • 3、发布订阅
    • 4、路由模式
    • 5、主题模式
      • 通配符规则
    • 6、RPC模式
      • RPC工作流程
  • 三、安装部署
    • 1、拉取镜像
    • 2、启动容器
    • 3、使用`docker-compose`
  • 四、应用测试
    • 1、安装依赖
    • 2、创建连接
      • 2.1、引入依赖
      • 2.2、创建连接参数
      • 2.3、建立连接
    • 3、生产消息
    • 4、消费消息
  • 总结


前言

  官网有云:RabbitMQ是一个可靠且成熟的消息传递和流媒体代理,易于在云环境、本地和本地计算机上部署。支持多种开放标准协议,包括 AMQP 1.0MQTT 5.0。提供了许多选项,定义消息如何从发布者发送到一个或多个使用者。路由、筛选、流式处理、联合身份验证等。通过确认消息传输和跨集群复制消息的能力,确保消息是安全的。

一、名词解释

1、核心概念

  • 生产者(Producer):发送消息到队列的应用程序。
  • 消费者(Consumer):从队列中接收消息的应用程序。
  • 交换器(Exchange):接收来自生产者的消息,并根据绑定规则将消息路由到相应的队列。
  • 队列(Queue):存储消息,等待消费者处理。
  • 绑定(Binding):定义交换器和队列之间的关系。
  • 头交换器(Headers Exchange):使用消息头属性进行路由,而不是路由键。

2、交换器类型

  • 直接交换器(Direct Exchange):根据消息的路由键精确匹配队列。
  • 主题交换器(Topic Exchange):根据模式匹配路由键,将消息路由到一个或多个队列。
  • 扇出交换器(Fanout Exchange):将消息广播到所有绑定的队列,不考虑路由键。

二、消息模式

  RabbitMQ提供6种消息模式:简单模式、工作队列、发布订阅、路由模式、主题模式和RPC模式。

1、简单模式

  最简单的队列。

在这里插入图片描述

  • P:生产者,也就是要发送消息的程序。
channel.queue_declare(queue=queue_name)
channel.basic_publish(exchange='',routing_key=queue_name,body='Hello World!'
)

  参数exchange不指定时,消息会发送的默认的Exchange,此时的routing_key必须是queue_name(队列名称)。

  • C:消费者:消息的接受者,会一直等待消息到来。
channel.basic_consume(queue=queue_name,auto_ack=True,on_message_callback=callback
)

  参数 auto_ack=True 表示自动应答,消费者取出消息后,消息队列将删除此消息。

  • Queue:消息队列。可以缓存消息;生产者向其中投递消息,消费者从其中取出消息。

2、工作队列

  在Worker之间分配任务(竞争消费者模式)。两个消费端共同消费同一个队列中的消息,但是一个消息只能被一个消费者获取。

在这里插入图片描述
  通过 BasicQos 方法设置prefetchCount = 1,如:channel.basic_qos(0, 1, False);。使得每个消费者在同一个时间点最多处理1个消息。prefetchCount只有在手动ackauto_ack=False)的情况下才生效,自动ack不生效。

消息持久性

  使用手动ackauto_ack=False)能够确保消息处理失败或者消费者崩溃时任务不会丢失,但是如果RabbitMQ服务器停止、退出或者崩溃时,队列中的消息将丢失。需要做两件事来确保消息不会丢失:

  • 首先,定义队列时指定队列是持久的(durable=True),如:
channel.queue_declare(queue=queue_name, durable=True)

  如果队列已

http://www.dtcms.com/wzjs/523793.html

相关文章:

  • pt网站怎么做手机如何制作一个网页链接
  • 广州网站优化公司如何互联网广告营销方案
  • wordpress百度云对象存储seo快速排名关键词
  • 城乡建设学校网站自媒体平台排名
  • 有关计算机网站建设的论文山东16市最新疫情
  • 视频网站是动态网站吗今天
  • wordpress a5seo关键词是怎么优化的
  • 用vue.js做网站免费学生网页制作成品
  • 网站建设和优化需要几个人爱站数据
  • 网站建设网站模板百度地图导航
  • 重庆网站制作公司多少钱seo公司排名教程
  • 网站建设银行品牌全案策划
  • 可在哪些网站做链接大数据精准营销案例
  • 官方百度整站快速排名优化
  • 深圳哪个网站好推广一点做seo需要用到什么软件
  • 在别人的网站做域名跳转seo内部优化方案
  • 旅游网站建设的经济评价seo积分系统
  • 怎样在微信公众号里做微网站杭州最好的seo公司
  • 影视网站如何做seosem是什么职业岗位
  • 门户网站的定义汽车品牌推广策划方案
  • 哪个网站做logo设计中国十大营销策划公司排名
  • 北京市建设工程交易服务平台历下区百度seo
  • 做分享衣服网站的初衷是什么意思重庆seo优化推广
  • 怎么做网站寄生虫上海网络推广
  • 小型培训机构网站开发毕业设计如何推广app更高效
  • dw做游戏网站代码网站营销软文
  • 禅城网站建设多少钱今天重大新闻头条新闻
  • 做网站主播要什么条件东莞seo外包平台
  • 网站建设包括哪些东莞seo快速排名
  • 网页设计怎么分析网站啊免费发布推广平台