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

网站维护合同范本在线建站平台免费建网站

网站维护合同范本,在线建站平台免费建网站,郑州微网站建设,群晖 删除 wordpress1. 为什么要保障顺序性现有下面一个场景:用户需要改用户名,但是他连续改了两次,第一次将用户名修改为 aaa,第二次将用户名修改为 bbb,那么最终的用户名应该是 bbb。生产者按顺序发送两条修改用户名请求时,若…

1. 为什么要保障顺序性

现有下面一个场景:

用户需要改用户名,但是他连续改了两次,第一次将用户名修改为 aaa,第二次将用户名修改为 bbb,那么最终的用户名应该是 bbb。

生产者按顺序发送两条修改用户名请求时,若当消费者在接收消息时,没有按照发送的顺序进行消费,即先消费的是 bbb,再消费的是 aaa,那么最终的用户名就是 aaa,这与用户的预期不符。这就体现了消息顺序性的重要性。

2. 会打破顺序性的情况

在没有网络故障、消息丢失的情况下,只有一个生产者与一个消费者时,RabbitMQ 可以保证消息的顺序性,当出现下列情况时,RabbitMQ 就无法保证消息的顺序性:

  • 有多个生产者时,RabbitMQ 就无法保证消息到达服务器的顺序,也就无法保证消息被消费的顺序
  • 有多个消费者时,不同的消费者处理消息的效率可能不同,那么当消息1发送给消费者1,消息2发送给消费者2,消息1需要在消息2之前被消费,若消费者2消费消息的效率大于消费者1,那么消息2就会先被处理完,也就打破了消息的顺序性
  • 若服务器给消费者发送的 ack 丢失或消费者给服务器发送的 ack 丢失,就会导致消息的重新发送,也就不能保证消息的顺序性
  • 当一组需要保证顺序性的消息被路由到不同的交换机上时,由于不同的队列消费速度不同,那么就无法保证消息被消费的顺序性
  • 当消息进入死信队列后,也就无法保证消息被消费的顺序与生产者发送的顺序相同

3. 如何保证消息的顺序性

  • 使用一个队列与一个消费者:一个队列就可以保证消息的先进先出,进而保证消费者消费消息的顺序
  • 分区消费:将一组需要保证顺序性的消息全部放入一个队列中,并使用一个消费者进行消费,这就与第一种方法相同
  • 手动确认:当消息消费结束后,向服务器发送 ack,服务器接收到消息后才会继续发送下一条消息,也就能保证消费者消费消息的顺序性
  • 业务逻辑控制:可以在消息中加入 id 属性,即使消费者接收到的消息不是按照发送顺序的,也可以根据 id 进行排序,也就能保证消费者按照顺序进行消费
http://www.dtcms.com/wzjs/163445.html

相关文章:

  • 门头沟建设委员会网站下载百度app并安装
  • 萝岗高端网站建设拓客渠道有哪些
  • 九江网站推广外贸网站制作公司
  • 做一个平台网站的预算上海优化外包公司排名
  • 温州网站建站模板百度推广全国代理商排名
  • 武汉高端网站制作公司网页制作成品模板网站
  • 潍坊住房和城乡建设部网站seo引擎优化平台培训
  • 建造师信息查询网sem优化师
  • 北京网站建设第一企业产品网络推广
  • 专业网站建设好不好广东知名seo推广多少钱
  • html5开发seo网站推广服务
  • ps做网站logo优化seo厂家
  • 网站建设的功能定位网站是否含有seo收录功能
  • 盐城网站建设服务百度关键词怎么优化
  • 为什么做营销型网站今日军事新闻头条新闻
  • 一个专门做字画的网站做企业网站建设公司哪家好
  • 营销型网站的目标是句容市网站seo优化排名
  • 长沙软件开发公司windows优化大师是官方的吗
  • 为什么做网站结构优化小吃培训去哪里学最好
  • dede title 我的网站长沙关键词优化服务
  • 个人网站模板html外链发布工具
  • 做网站用的字体是什么软文推广哪个平台好
  • 简单企业网站长春网站关键词推广
  • 男女做暖昩视频试看网站谷歌官网首页
  • 河北建设厅网站上不去培训机构排名前十
  • 做网站 php和java杭州营销策划公司排名
  • 做分类信息网站代码网络营销课程学什么
  • 网站企业建设百度一下下载安装
  • 美食网站建设的背景和目的seosem是什么职位
  • 怎么做网站推广找回原来的百度