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

专业的建站公司都具备什么条件磁力搜索引擎哪个好

专业的建站公司都具备什么条件,磁力搜索引擎哪个好,廊坊快速优化排名,南宁手机做网站设计消息模型:主题和队列有什么区别? 两类消息模型 早期的消息队列,就是按照“队列”的数据结构来设计的。 生产者(Producer)发消息就是入队操作,消费者(Consumer)收消息就是出队也就是…

消息模型:主题和队列有什么区别?

两类消息模型

  • 早期的消息队列,就是按照“队列”的数据结构来设计的。
    • 生产者(Producer)发消息就是入队操作,消费者(Consumer)收消息就是出队也就是删除操作,服务端存放消息的容器自然就称为“队列”。
    • 这就是最初的一种消息模型:队列模型。
      在这里插入图片描述
    • 如果有多个生产者往同一个队列里面发送消息,这个队列中可以消费到的消息,就是这些生产者生产的所有消息的合集。
    • 消息的顺序就是这些生产者发送消息的自然顺序。
    • 如果有多个消费者接收同一个队列的消息,这些消费者之间实际上是竞争的关系,每个消费者只能收到队列中的一部分消息,也就是说任何一条消息只能被其中的一个消费者收到。
  • 为了解决这个问题,演化出了另外一种消息模型:“发布-订阅模型(Publish-Subscribe Pattern)”。
    • 在发布 - 订阅模型中,消息的发送方称为发布者(Publisher),消息的接收方称为订阅者(Subscriber),服务端存放消息的容器称为主题(Topic)。
    • 发布者将消息发送到主题中,订阅者在接收消息之前需要先“订阅主题”。
    • “订阅”在这里既是一个动作,同时还可以认为是主题在消费时的一个逻辑副本,每份订阅中,订阅者都可以接收到主题的所有消息。
      在这里插入图片描述

RabbitMQ 的消息模型

  • RabbitMQ 是少数依然坚持使用队列模型的产品之一。
    • 它是怎么解决多个消费者的问题呢?
      • 在 RabbitMQ 中,Exchange 位于生产者和队列之间,生产者并不关心将消息发送给哪个队列,而是将消息发送给 Exchange,由 Exchange 上配置的策略来决定将消息投递到哪些队列中。
      • 同一份消息如果需要被多个消费者来消费,需要配置 Exchange 将消息发送到多个队列,每个队列中都存放一份完整的消息数据,可以为一个消费者提供消费服务。
        在这里插入图片描述

RocketMQ 的消息模型

  • RocketMQ 使用的消息模型是标准的发布-订阅模型。
    • 在生产端,生产者先将消息发送给服务端,也就是 Broker,服务端在收到消息并将消息写入主题或者队列中后,会给生产者发送确认的响应。
    • 如果生产者没有收到服务端的确认或者收到失败的响应,则会重新发送消息。
    • 在消费端,消费者在收到消息并完成自己的消费业务逻辑后,也会给服务端发送消费成功的确认,服务端只有收到消费确认后,才认为⼀条消息被成功消费,否则它会给消费者重新发送这条消息,直到收到对应的消费成功确认。
  • 每个主题在任意时刻,至多只能有一个消费者实例在进行消费,那就没法通过水平扩展消费者的数量来提升消费端总体的消费性能。为了解决这个问题,RocketMQ 在主题下面增加了队列的概念。
    • 每个主题包含多个队列,通过多个队列来实现多实例并行生产和消费。
    • RocketMQ 只在队列上保证消息的有序性,主题层面是无法保证消息的严格顺序的。
  • RocketMQ 中,订阅者的概念是通过消费组(Consumer Group)来体现的。
    • 每个消费组都消费主题中一份完整的消息,不同消费组之间消费进度彼此不受影响。
    • 消费组中包含多个消费者,同一个组内的消费者是竞争消费的关系,每个消费者负责消费组内的一部分消息。
  • 在 Topic 的消费过程中,由于消息需要被不同的组进行多次消费,所以消费完的消息并不会立即被删除,这就需要 RocketMQ 为每个消费组在每个队列上维护一个消费位置
    (Consumer Offset),这个位置之前的消息都被消费过,之后的消息都没有被消费过,每成功消费一条消息,消费位置就加一。
    在这里插入图片描述

Kafka 的消息模型

  • Kafka 的消息模型和 RocketMQ 是完全一样的。
  • 唯一的区别是,在 Kafka 中,队列这个概念的名称不一样,Kafka 中对应的名称是“分区(Partition)”,含义和功能是没有任何区别的。
http://www.yayakq.cn/news/777376/

相关文章:

  • 郑州网站建设喝彩科技中国新闻社海外中心
  • wordpress 文章点赞seo商城
  • 山西网站建设免费邢台网站推广公司
  • 天河网站建设系统cpu游戏优化加速软件
  • 企业网站seo点击软件wordpress 图片展示主题
  • 个人与企业签订网站开发合同广州网络推广外包
  • 湖州城市投资建设集团网站网站开发公司排名
  • 三网合一网站建设方案郑州专业做网站的公司
  • wordpress购买邀请码哈尔滨seo优化
  • 手机网站模板 织梦wordpress淘宝客建站教程视频
  • 网站不能风格营销类网站
  • 网站前端开发得会什么软件做视频周边的网站
  • 网站开发可行性wordpress文章只显示摘要
  • 高能建站系统怎么收费枣庄网络推广公司
  • 深圳网站制作的公司排名如何做英文网站的外链
  • 游戏网站html模板安全的网站建设
  • 我想做网站服务器选用什么创网易邮箱账号
  • 做健康类网站怎么备案wordpress 百度熊掌号
  • 做网站分为哪些功能的网站做网站第一步要学什么
  • 免费做logo设计的网站宁波网络推广有哪些
  • 响应式网站demowordpress 彩色源码
  • 做精神科医院网站费用使用亚马逊云做网站
  • mini主机做网站服务器品牌设计需要做些什么
  • 网络推广网站套餐传奇类网页游戏大全
  • 深圳网站设计营销型concrete5 wordpress
  • 电子商务网站建设与管理读书心得萍乡做网站的公司
  • 从哪里找网站家具设计网站大全
  • 个人站长做什么网站好长沙微信乘车码在哪里
  • 吉林网站建设企业安徽省建设工程信息网招标公告
  • wordpress导航设置企业网站优化是什么