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

产品推广网站排名建设个人网站详细点

产品推广网站排名,建设个人网站详细点,创建公司网站难吗,wap网站 视频教程目录 一、消息中间件介绍 1.1 消息中间件的作用 二、RabbitMQ 2.1 核心概念 2.2 生产者发送消息过程 2.3 消费者接收消息过程 2.4 RabbitMQ 为何要引入信道(channel) 2.5 消费模式 一、消息中间件介绍 消息队列中间件#xff08;message queue middleWare, MQ#xff09;指…目录 一、消息中间件介绍 1.1 消息中间件的作用 二、RabbitMQ 2.1 核心概念 2.2 生产者发送消息过程 2.3 消费者接收消息过程 2.4 RabbitMQ 为何要引入信道(channel) 2.5 消费模式 一、消息中间件介绍 消息队列中间件message queue middleWare, MQ指利用高效可靠消息传递机制进行与平台无关的数据交流并基于数据通信来进行分布式系统的集成。通过提供消息传递和消息排队模型它可以在分布式环境下扩展进程通信。 一般有两种传递模式点对点模式和发布订阅模式。点对点的模式是基于队列的消息生产者发送消息到队列消费者从队列中接收消息队列的存在使得消息的异步传输成为可能。发布订阅模式定义了如何向一个内容节点发布和订阅这个内容节点称为主题topic主题可以认为是消息传递的中介消息发布者将消息发布到某个主题消息订阅者从主题中订阅消息。 消息中间件将消息路由给应用程序B这样消息可以完全存在于两台不同的计算机上。消息中间件负责网络通信如果网络不可用消息中间件会存储消息直到连接可用。 1.1 消息中间件的作用 解耦生产者和消费者完全解耦双方都感知不到对方的存在。 冗余存储有些情况数据处理会失败消息中间件可以把数据进行持久化直到他们已经被完全处理。通过这种方式规避数据丢失的风险。 扩展性因为消息中间件解藕了应用的处理过程所以提高消息入队和处理的效率很容易。 削峰在访问剧增的情况下应用仍然需要继续发挥作用但这种突发的流量并不常见如果以处理峰值的标准来投入资源无疑是巨大的浪费使用消息中间件支撑突发的流量不会因为超负荷请求而完全奔溃。 可恢复性当系统的一部分组件失效时不影响整个系统。降低了应用间的耦合性系统恢复后还能继续处理消息。 顺序保证大多数场景下顺序处理数据很重要大部分消息中间件支持一定程度上的顺序性。 缓冲在任何重要的系统中都会存在需要不同处理时间的元素消息中间件通过一个缓冲层来帮助任务最高效率的执行写入消息中间件的处理尽可能的快。该缓冲层有助于控制和优化数据流经过系统的速度。 异步通信很多时候不需要立即处理消息消息中间件提供了异步处理机制。 二、RabbitMQ RabbitMQ 是一个开源的消息中间件Message Broker遵循 Advanced Message Queuing Protocol (AMQP) 标准协议。它允许应用程序通过发送和接收消息来进行异步通信从而实现系统之间的松耦合和解耦合。RabbitMQ 支持多种操作系统广泛应用于分布式系统架构中尤其是在微服务、异步处理、负载均衡、峰值负载处理、消息队列、事件驱动架构等领域。 rabbitMQ整体上是一个生产者与消费者模型主要负责接收、存储和转发消息。整体结构架构图如下 生产者投递消息的一方。创建消息然后投递到 RabbitMQ 中。消息一般包含两部分消息体和标签label。消息体称为 payload标签用来表述这条消息比如一个交换器的名称和一个路由键。生产者把消息给 RabbitMQRabbitMQ 根据标签把消息发送给感兴趣的消费者。 消费者接收消息的一方。消费者消费一条消息的时候只是消费消息的消息体payload。在消息路由的过程中消息的标签会丢弃存入到队列中的消息只有消息体消费者也只会消费消息体。 Broker消息中间件的服务节点。一个 RabbitMQ Broker 可以简单地看作一个 RabbitMQ 服务节点或者 RabbitMQ 服务实例。 2.1 核心概念 队列用来存储消息RabbitMQ 中消息只能存储在队列中。多个消费者可以订阅同一个队列这时队列中的消息会被平均分摊轮询。 交换器生产者将消息发送给交换器由交换器将消息路由到一个或者多个队列中。如果路由不到会返给消费者或者直接丢弃。 RoutingKey路由键生产者将消息发送给交换器的时候一般会指定一个 RoutingKey用来指定这个消息的路由规则而这个 RoutingKey 需要与交换器类型和绑定键bindingKey联合使用才能生效。RoutingKey 与 bindingKey 的值其实是同一个但代表的意义不同 BindingKey通过绑定将交换器和队列关联起来在绑定的时候一般会指定一个绑定键BindingKey这样 RabbitMQ 就知道如何正确将消息路由到队列了。 RabbitMQ 中常用的交换器有四种fanout、direct、topic、headers 这四种。AMQP 协议中还提到另外两种system 和自定义。四种常用交换器如下 fanout交换器把所有发送到该交换器的消息路由到所有与该交换器绑定的队列中。 direct交换器把消息路由到那些 BindingKey 和 RoutingKey 完全匹配的队列中。 topic交换器与 direct 相似也是将消息路由到 BindingKey 和 RoutingKey 相匹配的队列中但这里的匹配规则有些不同。有. * # 三个符号。 headers交换器交换器不依赖于路由键的匹配规则而是根据发送的消息内容中的 headers 属性进行匹配。性能较差应用不多。 2.2 生产者发送消息过程 RabbitMQ 中生产者Producer发送消息的过程可以概括为以下几个步骤 生产者连接到 broker建立一个连接connection开启一个信道channel生产者声明一个交换器并设置相关属性如交换器类型、是否持久化。生产者声明一个队列并设置相关属性生产者通过路由键将交换器和队列绑定起来生产者发送消息至 broker其中包括路由键交换器等信息相应的交换器根据接收到的路由键查找匹配的队列如果找到则将从生产者发来的消息存入相应的队列中。如果没找到则根据生产者的配置选择丢弃还是回退给生产者关闭信道关闭连接 2.3 消费者接收消息过程 消费者消费消息的过程如下 消费者连接到 broker建立一个连接connection,开启一个信道channel消费者向 broker 请求消费相应的队列中的消息可能会设置相应的回调函数及一些准备工作。等待 broker 回应并投递相应队列中的消息消费者接收消息消费者确认ack接收到的消息。RabbitMQ 从队列中删除相应已经被确认的消息关闭信道关闭连接。 2.4 RabbitMQ 为何要引入信道(channel) 客户端和 broker 建立的连接是 TCP 连接一旦连接建立起来客户端紧接着可以创建一个AMQP 信道RabbitMQ 处理的每条 AMQP 指令都是通过信道完成的。 我们可以完全通过 connection 来完成工作为什么要引入信道呢一个应用程序中有很多线程需要从 RabbitMQ 中消费或者生产消息那么必然需要建立很多连接。然而对于操作系统而言建立和销毁 TCP 连接是非常昂贵的开销如果遇到业务高峰性能随之显现。RabbitMQ采用类似 NIO 的做法选择 TCP 复用不仅可以减少性能开销同时也便于管理。 每个线程把持一个信道所以信道复用 connection 的 TCP 连接。同时 RabbitMQ 可以确保每个线程的私密性。就像拥有独立的连接一样。当每个信道流量不是很大时复用单一的connection 可以在产生性能瓶颈情况下有效节省 TCP 资源。但是当信道本身的流量很大时这时多个信道复用一个 connection 就会产生性能瓶颈进而使整体的流量被限制。此时就需要开辟多个 connection将这些信道均摊到这些 connection 中。 2.5 消费模式 RabbitMQ 的消费方式分为两种推模式和拉模式。 在推模式中可以通过持续订阅的方式来消费消息。在投递模期间RabbitMQ 会不断的推送消息给消费者当然推送的个数还是会受到 Basic.Qos 的限制。如果只是想从队列获得单条消息而不是持续订阅可以选择拉模式。如果要实现高吞吐量消费者应使用推模式。 关于 RabbitMQ 的基础支持就介绍到这里下篇文章将带你了解其高阶应用欢迎关注。 往期经典推荐 走进 Mybatis 内核世界理解原理释放更多生产力-CSDN博客 一文掌握Java动态代理的奥秘与应用场景-CSDN博客 领航分布式消息系统一起探索Apache Kafka的核心术语及其应用场景-CSDN博客 深入剖析Kafka生产者揭秘消息从发送到落地的全过程-CSDN博客 Kafka消息流转的挑战与对策消息丢失与重复消费问题_kafka发送消息生产者关闭了-CSDN博客
http://www.zqtcl.cn/news/453388/

相关文章:

  • 北京网站建设116networdpress导航栏下拉菜单
  • 医院网站建设的目标网络服务许可证
  • 市场部做网站工作职责晋江论坛网
  • 网站怎么吸引人网站优化策略分析
  • 河北建设厅网站衡水网站建设培训学校
  • 新网网站空间到期停了 咋续费网站营销推广应该怎么做
  • 网站建设和编辑实训报告安卓版网页制作软件
  • 网站模板框架站长资讯
  • 上海做网站哪家公司2022年国际国内重大新闻
  • 网站建设如何定位网站建设思路方向
  • 手机网站拦截怎么解除网站生成软件免费制作
  • 中国房地产网站茂名住房和城乡建设厅网站
  • 做网站销售工资怎么样网页设计是哪个专业
  • 吉林省住房城乡建设厅网站首页微商城模板包含哪些
  • 优秀个人网站案例wordpress 文章格式
  • 2019年做网站装修平面设计图的制作
  • 潍坊网站建设top淘宝客网站名
  • 怎么给网站做外链网上接效果图平台
  • 电影网站建设教程下载怎么经营团购网站
  • 做网站卖什么建设银信用卡网站首页
  • 大连市城乡建设档案馆网站网上竞价采购网站建设
  • 国际物流公司网站建设浏览器正能量网站免费图片
  • 河南做外贸网站的公司怎么做家庭网站
  • 知名营销类网站互联网软件开发是什么工作
  • 做网站前新闻录入网站模板
  • 网站域名做跳转要收费吗科技信息期刊
  • 登别的网站应怎么做网站推广广告词大全集
  • 漯河城乡建设管理局网站wordpress icon class
  • 买空间哪个网站好广州多少网络科技有限公司
  • 网站的网络推广方案营销型网站建设论文