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

做公众号时图片的网站外贸饰品网站

做公众号时图片的网站,外贸饰品网站,星辰云二级域名分发,做网站需要写程序目录 一、如何实现单个队列的并行消费二、 如何保证消息的严格顺序 本文来源:极客时间vip课程笔记 一、如何实现单个队列的并行消费 如果不要求严格顺序,如何实现单个队列的并行消费?关于这个问题,有很多的实现方式,其…

目录

    • 一、如何实现单个队列的并行消费
    • 二、 如何保证消息的严格顺序

本文来源:极客时间vip课程笔记

一、如何实现单个队列的并行消费

  • 如果不要求严格顺序,如何实现单个队列的并行消费?关于这个问题,有很多的实现方式,其中实现的思路之一是这样的。
  • 比如说,队列中当前有 10 条消息,对应的编号是 0-9,当前的消费位置是 5。同时来了三个消费者来拉消息,把编号为 5、6、7 的消息分别给三个消费者,每人一条。过了一段时间,三个消费成功的响应都回来了,这时候就可以把消费位置更新为 8 了,这样就实现并行消费。
  • 这是理想的情况。还有可能编号为 6、7 的消息响应回来了,编号 5 的消息响应一直回不来,怎么办?这个位置 5 就是一个消息空洞。为了避免位置 5 把这个队列卡住,可以先把消费位置 5 这条消息,复制到一个特殊重试队列中,然后依然把消费位置更新为 8,继续消费。再有消费者来拉消息的时候,优先把重试队列中的那条消息给消费者就可以了。
  • 这是并行消费的一种实现方式。需要注意的是,并行消费开销还是很大的,不应该作为一个常规的,提升消费并发的手段,如果消费慢需要增加消费者的并发数,还是需要扩容队列数。

二、 如何保证消息的严格顺序

  • 我们多次提到过,主题层面是无法保证严格顺序的,只有在队列上才能保证消息的严格顺序。
  • 如果说,你的业务必须要求全局严格顺序,就只能把消息队列数配置成 1,生产者和消费者也只能是一个实例,这样才能保证全局严格顺序。
  • 大部分情况下,我们并不需要全局严格顺序,只要保证局部有序就可以满足要求了。比如,在传递账户流水记录的时候,只要保证每个账户的流水有序就可以了,不同账户之间的流水记录是不需要保证顺序的。
  • 如果需要保证局部严格顺序,可以这样来实现。在发送端,我们使用账户 ID 作为 Key,采用一致性哈希算法计算出队列编号,指定队列来发送消息。一致性哈希算法可以保证,相同 Key 的消息总是发送到同一个队列上,这样可以保证相同 Key 的消息是严格有序的。如果不考虑队列扩容,也可以用队列数量取模的简单方法来计算队列编号。
http://www.dtcms.com/a/526327.html

相关文章:

  • 网站建设h5iis 网站显示建设中
  • 宝德科技专业嘉兴网站建设手机网站开发屏幕尺寸一般是多少
  • 教做凉拌菜的视频网站制作网页的方法
  • 上饶建网站公司国家开发银行助学贷款网站
  • 网站优化的作业及意义什么是网站什么是网页
  • C++引用陷阱:从内存泄漏到悬空引用,容易踩的坑
  • QT项目代码解释
  • 宛城区网站推广国际电商怎么做
  • 网站竞价 英文男女做暖网站是什么
  • STM32单片机PWM驱动无源蜂鸣器模块C语言程序
  • 光通信|高效动态的自由空间-光纤CVB通信
  • 柳州网站建设33展示型网站解决方案
  • 网站优化排名网站天猫网站建设论文
  • 建站平台在线提交表格功能百度官网认证申请
  • 建浏览器网站制作谷歌网站提交
  • 重庆市建设网站首页多合一建网站
  • 网站不被百度收录域名后缀html是怎样的网站
  • 嵌入式开发 | C语言 | 单精度浮点数解疑--为什么规格化数中指数位E不能是E=0 或 E=255?
  • TensorFlow框架中神经网络模型设计流程
  • 每日一个C语言知识:C 输入 输出
  • Shiro反序列化漏洞提权渗透实战:原理+复现(CVE-2016-4437)
  • 百讯科技网站建设做图标去什么网站找
  • 做网站服务器电脑配置医院网站建设合同范本
  • icp备案域名网站备案信息网站联盟的基本流程
  • 男和男人怎么做那个视频网站苏州的网络企业
  • 一个网站开发的流程二次开发创造作用
  • 网站怎么做认证免费网站备案号码
  • 西安网站开发的未来发展东莞企业官方网站建设
  • 11. Python 列表: 元素增操作详解
  • 記錄js中的冒泡事件