[发明专利]一种保障异步通讯中消息顺序性消费的方法在审
申请号: | 202111144387.4 | 申请日: | 2021-09-28 |
公开(公告)号: | CN113900835A | 公开(公告)日: | 2022-01-07 |
发明(设计)人: | 张鹤鸣 | 申请(专利权)人: | 四川新网银行股份有限公司 |
主分类号: | G06F9/54 | 分类号: | G06F9/54 |
代理公司: | 成都智言知识产权代理有限公司 51282 | 代理人: | 濮云杉 |
地址: | 610094 四川省成都高*** | 国省代码: | 四川;51 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 保障 异步 通讯 消息 顺序 消费 方法 | ||
本发明属于通讯技术领域,具体涉及一种保障异步通讯中消息顺序性消费的方法。包括以下步骤:步骤1:生产端准备需要发送的消息内容,并且定义该消息类型,将消息类型放入消息属性中;发送给消费端;步骤2:消费端基于消息类型对消息直接处理或按照最新的消息进行处理,或者是按照消息的先后顺序进行处理,保证了消费端按照该生产端的固定顺序进行消费;防止发生严重的数据错误的问题。
技术领域
本发明属于通讯技术领域,具体涉及一种保障异步通讯中消息顺序性消费的方法。
背景技术
目前,大型互联网公司较多的采用分布式系统,分布式系统的特点是各个模块单独部署,实现复杂业务的解耦。通常来讲,分布式系统更加灵活,但是往往也会存在其他的问题,其中,最为麻烦的问题之一就是不同的系统之间如何进行调用的问题。调用根据实时性的不同,分为同步调用和异步调用。
关于同步调用和异步调用的优缺点也是显而易见的,异步调用可以同事处理大量的请求,降低系统间流程的依赖性,避免系统阻塞情况的发生;正因为上述优点,异步调用被大量应用。但是异步调用也存在以下弊端,其中便有通讯的顺序性,因异步调用的延时特性,发送者发送时按照固定的顺序将消息发送到了消息队列,但是因为分布式系统存在多个消费者,消费者内部亦有多线程的情况,因此消费者未必会按照发送者的固定顺序进行消费。在此场景下,极有可能因为消息消费的失序,导致严重的数据错误问题。
发明内容
本发明公开了一种保障异步通讯中消息顺序性消费的方法,拟解决背景技术中提到的消费者未按照发送者的固定顺序进行消费,则可能因为消息消费的失序,导致严重的数据错误的问题。
为解决上述技术问题,本发明采用的技术方案如下:
一种保障异步通讯中消息顺序性消费的方法,包括以下步骤:
步骤1:生产端准备需要发送的消息内容,并且定义该消息类型,将消息类型放入消息属性中;发送给消费端;
步骤2:消费端基于消息类型对消息进行处理。
本发明的生产端预先定义消息类型,消费端将生产端发送的数据包进行解析,得到消息类型,并基于消息类型进行处理消息,保证了消费端按照该生产端的固定顺序进行消费;防止发生严重的数据错误的问题。
具体的,所述消息类型包括无顺序要求的异步通讯场景类型、以最近发送的消息为准的处理场景类型、按消息发送顺序处理的场景类型。
优选的,所述步骤1包括:
步骤1.1:生产端准备需要发送的消息内容、需要投递的消息队列以及当前业务场景对应的消息类型;
步骤1.2:生产端将步骤1.1中准备的数据作为入参,并将步骤1.1中确定的消息类型放入消息内容的消息属性中;
步骤1.3:在消息发送方法内,首先对入参数据进行校验,将步骤1.1准备的消息内容放入消息体中。
优选的,当步骤1.1中确定的消息类型为无顺序要求的异步通讯场景类型时,所述步骤1还包括以下步骤用于续接步骤1.3:
步骤1.4:将消息体与消息属性组装为完整的消息并发送到队列中;完成消息发送;
对应的,所述步骤2包括以下步骤:
步骤2.1:多个消费端接收并消费队列中的消息内容;解析得到消息体、消息属性;
步骤2.2:消费端基于消息属性确定当前消息类型为无顺序要求的异步通讯场景类型,则无需管消息的顺序问题,直接进行接下来的消费处理;消费端完成消息处理。
优选的,当步骤1.1中确定的消息类型为以最近发送的消息为准的处理场景类型时,所述步骤1包括以下步骤用于续接步骤1.3:
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于四川新网银行股份有限公司,未经四川新网银行股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/202111144387.4/2.html,转载请声明来源钻瓜专利网。
- 上一篇:换流变压器潜油泵更换装置
- 下一篇:锂电手持式套丝机及套丝方法