- 1、本文档共17页,可阅读全部内容。
- 2、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。
- 3、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 4、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 5、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 6、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 7、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 8、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
基于SP-MC网络模型分布式交易系统设计与实现
基于SP/MC网络模型分布式交易系统设计与实现
摘 要:本文提出了基于SP/MC的网络模型。描述了一种基于该模型的分布式交易系统的设计和实现。介绍了该系统的总体设计架构和分布式结构,然后描述了系统如何实现各种分布式特性及一些通用服务的实现,如:异构系统接入,负载均衡,延迟重连。最后通过多次实测数据,展现了基于SP/MC网络模型的性能和基于该模型的交易系统性能。
关键词:单生产者-多消费者网络模型;分布式交易系统;网络模型
中图分类号:TP3
随着NFC技术的普及和移动APP的兴起,移动支付即将迎来高速增长期;通过技术改造和系统优化,使得移动支付系统在可靠性,可用性和性能方面都有不同程度的提升,现已具备处理每秒万笔交易的能力。高效的网络通信框架和系统分布式化是解决海量客户请求的两个关键技术。
现有高性能网络通信框架在事件分发和通知的实现主要使用Reactor模式实现[1],事件分发后对后续数据的处理没提供相应的模型(一般由用户自己实现)。生产者消费者模型是最早用于经济领域的模型,之后被引入计算机领域中用于解决并发和同步问题,如:该模型在多核并行计算中的应用[2,3],该模型可以作为多核环境下的编程范型[4]。生产消费者模型(P/C)的本质是通过引入缓冲区在一定时间内缓解生产者和消费者之间的速率不匹配问题。在一定前提条件下,通过调整缓冲区大小,生产者和消费者的比率等方式都可提高P/C模型的效率。交易系统的后台业务逻辑复杂,数据处理操作与接收数据请求相比耗费时间更多,符合P/C模型(单生产者多消费者模型,即SP/MC模型)的应用场景以解决系统中临界资源的共享管理。
分布式系统的高可靠,高可用和横向扩展能力是解决大量客户请求的有效手段[5]。分布式系统多实例部署结构,提高了可用性和系统吞吐量。多实例之间互为热备,也加强了系统的可靠性。分布式系统可简单通过系统实例的简单增加即可满足前段请求剧增的需求。因此,交易系统的分布式化是大交易系统改造的趋势。
本文提出了基于SP/MC的网络模型。描述了一种基于该模型的分布式交易系统的设计和实现。介绍了该系统的总体设计架构和分布式结构,然后描述了系统如何实现各种分布式特性及一些通用服务的实现,如:异构系统接入,负载均衡,延迟重连。最后通过多次实测数据,展现了基于SP/MC网络模型的性能和基于该模型的交易系统性能。
1 基于SP/MC的网络模型
生产者和消费者模型(P/C Model)可以适用于多种应用,是一种解决并发问题的经典范型[6-9]。根据P,C数目不同,P/C模型衍生出四种类型:单生产者-单消费者(SP/SC),单生产者-多消费者(SP/MC),多生产者-单消费者(MP/SC),多生产者-多消费者(MP/MC)。
1.1 SP/MC模型
生产者和消费者之间对数据的处理是独立进行,但是其交换数据使用了共享资源,一般使用队列作为缓存,两者对队列的存取是并发进行,因此,需要使用一些同步方式保护共享资源。当队列中数据满的时候,生产者无法再生产,必须等待消费者,消费者取出队列数据时发出事件通知生产者,才可继续生产数据;同理,当队列为空时,消费者必须等待生产者,生产者生产数据并发出事件通知消费者,才可继续处理数据。文献[10]提出了常用P/C模型的描述,如图1所示,P和C之间使用队列(Queue Buffer)实现,共享资源队列使用Monitor方式同步。Monitor除提供了对buffer提供互斥锁序列化读写操作,还提供一种事件通知机制。P写入数据至Buffer前,先判断Buffer是否满,满则等待;如果Buffer不满则添加数据,添加数据后使用semaphore通知C。C从Buffer中读取数据前,先判断Buffer是否为空,空则等待;如果Buffer不空则获取数据,获取数据后通知P。
生产者的能力与消费者的能力比例影响了选择的模型。如果P和C的能力相近时,使用SP/SC比较合适;当生产者能力较强时,使用SP/MC比较合适;当消费者能力较强时,宜选用MP/SC模型;MP/MC是如上三种模型的普适性抽象。通过实验验证了MP/MC模型随着CPU的增加,效率有明显提高。但是,P和C的数目也不是越多越好,P和C数量的增加导致系统资源的开销和系统调度负载的增加,影响系统的整体效率。由于实际系统的业务和环境的差异,M的取值的预先确定是个难题,一般基于经验结合多次实验结果综合考虑后确认[11]。
1.2 基于SP/MC网络模型
交易系统的网络通信子系统可抽象为一个P/C模型。系统外部客户端发起大量并发请求,系统接收请求后,将各种请求交付给不同的请求处理服务程序进行数据接收,数据解析,数据处理等操作,最后将处理结果写入网卡返回给客户
您可能关注的文档
最近下载
- 特定场景自动驾驶,快速上行赛道值得关注_2022-05-自动驾驶.pdf
- 部编版一年级上册语文古诗、日积月累、课文背诵训练.docx VIP
- 插花与花艺设计(花道——插花技艺养成)智慧树知到期末考试答案章节答案2024年云南林业职业技术学院.docx
- AP宏观经济学知识点梳理(中英结合).pdf VIP
- 重力二阶效应分析PDelta分析.pdf VIP
- AP微观经济学知识点梳理(中英结合).pdf VIP
- 2022年托福历年真题题目汇编(含答案).pdf
- 北京-EU5-产品使用说明书-EU5-BJ7000C5D3-BEV-北汽新能源EU5车型用户手册V3.pdf
- 液氯(氯气)和氯乙烯生产企业以及过氧化企业安全风险隐患排查指南.docx VIP
- 《城市规划设计计费指导意见》2017修订版.docx
文档评论(0)