【技术实现步骤摘要】
一种分布式系统消息时序保障的方法、系统及电子设备
本专利技术涉及通信
,尤其涉及一种分布式系统消息时序保障的方法、系统及电子设备。
技术介绍
在运营商的相关在线业务受理系统架构设计时,为了提升系统的灵活扩展性,系统部署架构通常考虑分布式或集群方式部署,即分布式系统或集群系统,同时基于系统解耦、流量削峰等目的,系统间集成一般会采用异步消息的方式进行实现。以电信运营商业务受理为例,消息同步过程中需要重点考虑客户创建消息、订购消息和支付消息能够按照严格的时序进行,否则会出现系统异常,如订购消息落地客户不存在、支付消息落地时订单不存在或客户不存在,为解决上述问题,目前,其分布式系统常采用如下方式:1)在业务量较小的情况下,一般会使用一个消息主题、一个消息生产者、一个消息消费者即可保证时序的生产和写入。但是此种方案存在处理能力弱、单点故障等问题。2)在业务量较大的时候,会采用部分消息中间件的局部时序的特性,保证消息主题中的局部消息能够有序生产和消费,但需依赖于多种类型的消息中间件,不便于大面积推广使用,适 ...
【技术保护点】
1.一种分布式系统消息时序保障的方法,其特征在于,包括如下步骤:/nS1、预设M个消息生产者,使各消息生产者从消息数据库中分别获取以时间先后排序的待生成消息列表,其中M为正整数,且M≥2;/nS2、在消息中间件中预设有M个消息主题,使各所述消息生产者将所述待生成消息列表中的消息依次写入相对应的消息主题;/nS3、使各所述消息主题将接收到的消息再分别发送至相对应的各消息消费者,且使各所述消息消费者根据所接收到的消息调用相对应的应用业务服务。/n
【技术特征摘要】
1.一种分布式系统消息时序保障的方法,其特征在于,包括如下步骤:
S1、预设M个消息生产者,使各消息生产者从消息数据库中分别获取以时间先后排序的待生成消息列表,其中M为正整数,且M≥2;
S2、在消息中间件中预设有M个消息主题,使各所述消息生产者将所述待生成消息列表中的消息依次写入相对应的消息主题;
S3、使各所述消息主题将接收到的消息再分别发送至相对应的各消息消费者,且使各所述消息消费者根据所接收到的消息调用相对应的应用业务服务。
2.根据权利要求1所述的一种分布式系统消息时序保障的方法,其特征在于,所述消息消费者包括消息消费主线程和N个消息业务处理线程,其中,N为正整数,且N≥2;
S3具体包括如下步骤:
S30、使各所述消息主题将接收到的消息分别发送至相对应的消息消费主线程后,所述消息消费主线程将接收到的消息再发送至相对应的消息业务处理线程;
S31、各消息业务处理线程根据接收到的消息调用相对应的应用业务服务。
3.根据权利要求2所述的一种分布式系统消息时序保障的方法,其特征在于,S30中还包括如下步骤:
S301、使所述消息消费主线程判断接收到的消息所对应的业务处理线程是否为空闲状态,若是,则继续执行S30,若否,则继续执行S301。
4.根据权利要求3所述的一种分布式系统消息时序保障的方法,其特征在于,S301中还包括如下步骤:
S3011、使所述消息消费主线程判断接收到的消息所对应的业务处理线程不是空闲状态时,则继续判断接收到的消息所对应的业务处理线程的消息缓冲区是否为空闲状态,若是,则将所述消息缓冲进所述消息缓冲区,若否,继续执行S301。
5.根据权利要求2至4任一项所述的一种分布式系统消息时序保障的方法,其特征在于,S1具体为:
以M作为除数对业务实体对象的唯一标识进行取余后得到第一余数,根据所述第一余数将消息...
【专利技术属性】
技术研发人员:罗新华,
申请(专利权)人:北京思特奇信息技术股份有限公司,
类型:发明
国别省市:北京;11
还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。