学习富国网免费收录优秀网站,为了共同发展免费收录需做上本站友情链接,雪球目录网的工作人员才会审核收录,不做链接提交一律不审核,为了避免浪费时间:收录必看!!!
  • 收录网站:127
  • 快审网站:10
  • 待审网站:102
  • 文章:29796
当前位置:主页 > 网站目录 > 阿里云服务器购买,阿里云账号免费注册

阿里云服务器购买,阿里云账号免费注册

更新时间:2023-09-05 18:09:04 人气指数:
网站标签:

阿里云国际站经销商,主营阿里云,腾讯云,华为云,亚马逊aws,谷歌云gcp,微软云az,免费开户,代充值优惠大,联系客服飞机@jkkddd


严格保序队列

本文介绍如何使用队列实现按顺序发送和消费消息。
背景信息
消息服务MNS提供的队列(Queue)主要的特点是高可靠、高可用、高并发。每个队列的数据都会被持久化三份到阿里云的飞天分布式平台。其中每个队列至少有两台服务器向外提供服务,同时每台服务器都支持高并发访问。这些分布式特性导致了消息服务MNS的队列无法像传统单机队列严格保证消息FIFO,只能做到基本有序。
队列如果同时有多个消息发送者(Sender),由于并发和网络延迟等问题,根本无法获知消息的实际发送顺序和消息到达服务器端的真实顺序。同理,当有多个接收者并发接收消息时,其真正的处理顺序也不可获知。综上所述,只有一个发送者(一个进程,可以是多个线程)、一个接收者时,消息顺序才有意义,也只有在这种情况下才能感知和记录消息的真实发送和接收顺序。
解决方案
基于上述假设,同时为了满足部分用户对于消息消费顺序性的要求,设计了以下方案,确保消息按照用户发送顺序被接收和消费。
消息在发送端进行染色,加上SeqId(例如:#num#)。
消息在接收端进行还原,并根据SeqId排序后返回给上层,同时对于已经接收的消息会有后台线程保证消息不会被重复消费。
为了避免因为发送者或者接收者fail导致SeqId丢失。SeqId会被持久存储到本地磁盘文件,或者其他存储和数据库,例如OSS、OTS或RDS。
注意事项
本文的主要目的是展示顺序消息的解决方案,不建议不加测试直接用于生产环境。
正常情况下,发送端和接收端的SeqId应该和队列中的消息(染色)匹配。当出现删除队列重新创建等操作时,请注意磁盘文件中的SeqId是否和队列中的真实情况相符,同时建议不要往染色的消息队列里发送非染色消息。
队列的消息有效期设置过短或者每条消息的实际处理结果都有可能会对消息有序性造成影响,在您的程序中需要对这些情况所导致的乱序现象进行处理。
示例代码
本文以Python版的方案实现为例,下载地址:有序队列Python示例代码(依赖MNS Python SDK)。其中,主要提供了OrderedQueueWrapper类(ordered_queue.py文件),可以将普通队列包装成有序队列。
OrderedQueueWrapper提供SendMessageInOrder()和ReceiveMessageInOrder()方法:
发送时对消息进行染色。
接收时还原消息,并且按顺序返回给接收者。
另外,send_message_in_order.py和receive_message_in_order.py提供发送者和接收者使用OrderedQueueWrapper的程序示例。
运行方法
配置send_message_in_order.py和receive_message_in_order.py中的配置项g_endpoint、g_accessKeyId、g_accessKeySecret以及g_testQueueName。

运行send_message_in_order.py。


温馨提示:尊敬的[]站点管理员,将本页链接加入您的网站友情链接,下次可以快速来到这里更新您的站点信息哦!每天更新您的[阿里云服务器购买,阿里云账号免费注册]站点信息,可以排到首页最前端的位置,让更多人看到您站点的信息哦。

将以下代码插入您网页中,让网友帮您更新网站每日SEO综合情况

  • 二次结构泵功率-5.5kW-11kW根据工况选 -

    二次结构泵 采用全液压系统控制,质量更可靠性能方面更稳定,智能 DZK3.0系统,YBD技术动力 ,15米软管连续泵送不堵管,施工质量方面可以说相当有保障。有些用户反映不知道如何去

  • 车子洗不干净-洗车机为什么不安排上呢 -

    还在为施工现场现场的车辆冲洗不干净而头疼吗?那一定是 洗车机 还没安装上的,还停留在人工冲洗的话,是很难就满足快速冲洗的需要的。当 洗车机 安排上的时候,就会发现省很多事

  • “华为全新旗舰P9再曝光:终于放心了!” -

    云购网 【科技在线】 华为此前曾计划于3月9日在德国柏林发布新一代旗舰机p9,但因故延期。 到底要看到什么时候呢? 今天,外媒曝光华为发出的新邀请函,邀请大家于年4月6日齐聚一

  • 2023英雄联盟手游阵容怎么选才能提高排位胜率 -

    2023英雄联盟手游阵容怎么选才能提高排位胜率? 首先说建队基石"辅助位,通常每个车队都会希望有个妹子。辅助类型一共分为三种:保护类型,团控类型,坦克类型。 如果辅助是个妹

  • 二级消防工程师的报名流程是怎么样的?-题王网(tiw.cn) -

    二级消防工程师 的报名流程是怎么样的? 题王网(www.tiw.cn)来告诉你。 二级消防工程师是省人社厅与省公安消防部门共同组织的考试,在各省人事考试网报名。先注册报名,再确认消

  • 高级研修班开班 -

    ChatGPT Plus 高级研修班开班的有哪些呢,里面的老师要求看专业的老师们是否有眼光看教学还没有因为他们没有资格参加举办的的专业,所以说师资力量是比较有说服力的。 参加研修班的绝