DSP功能微服务化系统技术方案

技术编号:23890147 阅读:54 留言:0更新日期:2020-04-22 06:07
本发明专利技术涉及DSP技术领域,具体涉及DSP功能微服务化系统。包括:应用层、DSP基础架构层、Nginx层、微服务器层和RabbitMQ队列层,当应用层需要创建计划,请求会发送至DSP基础架构层的计划模块内,计划模块会发送到Nginx层的计划Nginx服务器,计划Nginx服务器进行数据处理,根据负载均衡算法将请求分配到微服务器层中相对应的计划微服务服务器中,计划微服务服务器收到请求后会进行业务处理。本发明专利技术通过将DSP基础架构层解耦成计划模块、素材模块和报表模块,将整个系统进行微服务化,使得整个DSP功能微服务化系统功能与职责分离,从而使得DSP系统更具扩展性和重复利用性。

DSP function micro service system

【技术实现步骤摘要】
DSP功能微服务化系统
本专利技术涉及DSP
,具体涉及DSP功能微服务化系统。
技术介绍
传统的互联网DSP广告投放系统的实现都是把整个业务看成一个整体,所有功能模块都集成在一个系统中,是偏向系统开发。传统开发模式下,当访问量逐渐增大,单一应用增加机器带来的加速度越来越小,便造成了整个DSP系统的瓶颈。
技术实现思路
本专利技术的目的是克服现有技术的不足和缺陷,提供一种DSP功能微服务化系统。本专利技术的目的是通过以下技术方案来实现的:DSP功能微服务化系统,包括:应用层、DSP基础架构层、Nginx层、微服务器层和RabbitMQ队列层,应用层:创建计划和/或素材和/或报表请求并将计划请求传输至DSP基础架构层的相对应的模块内;接收微服务器层结果的反馈;DSP基础架构层:DSP基础架构层解耦成计划模块、素材模块和报表模块,计划模块、素材模块和报表模块接收应用层对应的的计划和/或素材和/或报表请求,并将计划和/或素材和/或报表请求发送到Nginx层相对应的Nginx服务器;Nginx层:Nginx层具有分别与计划模块、素材模块和报表模块相对应的计划Nginx服务器、素材Nginx服务器和报表Nginx服务器,Nginx层接收DSP基础架构层相对应计划模块、素材模块和报表模块的数据,分别运用对应的Nginx服务器、素材Nginx服务器和报表Nginx服务器运用负载均衡算法进行数据处理,根据负载均衡算法将请求分配到微服务器层中相对应的计划微服务服务器、素材微服务服务器和报表微服务服务器上;微服务器层:微服务器层包括计划微服务服务器、素材微服务服务器和报表微服务服务器,计划微服务服务器、素材微服务服务器和报表微服务服务器上接收Nginx层对应的数据请求进行处理,并将结果反馈给应用层,当微服务器层处理当前事务的微服务器要和其他微服务器交互时则处理当前事务的微服务器会将消息传输至RabbitMQ队列层;微服务器层还对RabbitMQ队列层传输过来的数据进行处理;RabbitMQ队列层:接受微服务器层传输的消息事件,并将消息事件转发至相应的微服务器。具体的,所述DSP基础架构层采用PHP运行方式运行,所述PHP结合Swoole进行运行。具体的,RabbitMQ队列层内的消息队列进行异步通讯。具体的,所述DSP功能微服务化系统采用MySQL执行分布式事务。本专利技术相比现有技术包括以下优点及有益效果:(1)本专利技术通过将DSP基础架构层解耦成计划模块、素材模块和报表模块,将整个系统进行微服务化,使得整个DSP功能微服务化系统功能与职责分离,从而使得DSP系统更具扩展性和重复利用性。(2)本专利技术通过PHP结合Swoole进行运行,Swoole能让PHP自带Http服务器功能,并且能够常驻进程,从而只需要加载和编译一次代码,减少了每次请求重新加载的开销,提升了PHP的性能。附图说明图1为本专利技术的示意图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。如图1所示,DSP功能微服务化系统,包括:应用层、DSP基础架构层、Nginx层、微服务器层和RabbitMQ队列层,应用层:创建计划和/或素材和/或报表请求并将计划请求传输至DSP基础架构层的相对应的模块内;接收微服务器层结果的反馈;应用层按需组合调用对应服务,无需重复开发运行,降低运行成本。DSP基础架构层:DSP基础架构层解耦成计划模块、素材模块和报表模块,计划模块、素材模块和报表模块接收应用层对应的的计划和/或素材和/或报表请求,并将计划和/或素材和/或报表请求发送到Nginx层相对应的Nginx服务器;处理计划模块、素材模块和报表模块的Nginx服务器均不相同,通过将DSP基础架构层解耦成计划模块、素材模块和报表模块,将整个系统进行微服务化,使得整个DSP功能微服务化系统功能与职责分离,从而使得DSP系统更具扩展性和重复利用性,并且各个模块独立部署,维护成本低。Nginx层:Nginx层具有分别与计划模块、素材模块和报表模块相对应的计划Nginx服务器、素材Nginx服务器和报表Nginx服务器,Nginx层接收DSP基础架构层相对应计划模块、素材模块和报表模块的数据,分别运用对应的Nginx服务器、素材Nginx服务器和报表Nginx服务器运用负载均衡算法进行数据处理,根据负载均衡算法将请求分配到微服务器层中相对应的计划微服务服务器、素材微服务服务器和报表微服务服务器上;通过Nginx层进行负载均衡,将请求分散到各个服务器上,能够有效的降低IO操作带来的阻塞事件,从而应对高并发;微服务器层:微服务器层包括计划微服务服务器、素材微服务服务器和报表微服务服务器,计划微服务服务器、素材微服务服务器和报表微服务服务器上接收Nginx层对应的数据请求进行处理,并将结果反馈给应用层,当微服务器层处理当前事务的微服务器要和其他微服务器交互时则处理当前事务的微服务器会将消息传输至RabbitMQ队列层;微服务器层还对RabbitMQ队列层传输过来的数据进行处理;RabbitMQ队列层:接受微服务器层传输的消息事件,并将消息事件转发至相应的微服务器。整体系统均为采用领域驱动设计的思想建立领域模型,能够完整准确地描述业务领域需求,并驱动系统设计开发工作,有效降低了DSP功能微服务化系统的复杂性,有效提高了DSP功能微服务化系统的可维护性、可扩展性等质量属性。具体的,所述DSP基础架构层采用PHP运行方式运行,所述PHP结合Swoole进行运行,通常的PHP-FPM+Nginx的运行方式,每当一个请求进来都会重新加载源码、编译然后执行,当项目庞大后,每次重新加载代码便成为了性能瓶颈。Swoole能让PHP自带Http服务器功能,并且能够常驻进程,从而只需要加载和编译一次代码,减少了每次请求重新加载的开销,提升了PHP的性能,另一个PHP的性能问题是,由于大多数Web程序都是IO密集型程序,而通常的PHP-FPM是一个请求开启一个线程去处理,当一秒内要同时处理高并发请求时,创建线程的开销会增大;Swoole提供的协程模式,只需要一个进程,通过自身的协程调度来处理并发请求,从而减少了IO的阻塞等待时间和大量线程之间的切换开销,提高了系统应用的性能。具体的,RabbitMQ队列层内的消息队列进行异步通讯。使用RabbitMQ消息队列作为异步通讯因为其能支持路由、可靠性高、安全等特点。比如当计划的出价被修改后,计划服务会发送一条消息到消息队列,素材微服务服务器通过订阅该消息,得知有计划出价被修改后,将该计划下所有的素材价格同步更新。具体的,所述DSP功能微服务化系统采用MySQL执行分布式事务,通过采用MySQL执行分布式事务能够保证接口调用中的数据最终一致性。实施例1:当应用层需要创建计划,则通过http协议调用计划微服务,请求会发送至DSP基本文档来自技高网...

【技术保护点】
1.DSP功能微服务化系统,其特征在于,包括:应用层、DSP基础架构层、Nginx层、微服务器层和RabbitMQ队列层,/n应用层:创建计划和/或素材和/或报表请求并将计划请求传输至DSP基础架构层的相对应的模块内;接收微服务器层结果的反馈;/nDSP基础架构层:DSP基础架构层解耦成计划模块、素材模块和报表模块,计划模块、素材模块和报表模块接收应用层对应的的计划和/或素材和/或报表请求,并将计划和/或素材和/或报表请求发送到Nginx层相对应的Nginx服务器;/nNginx层:Nginx层具有分别与计划模块、素材模块和报表模块相对应的计划Nginx服务器、素材Nginx服务器和报表Nginx服务器,Nginx层接收DSP基础架构层相对应计划模块、素材模块和报表模块的数据,分别运用对应的Nginx服务器、素材Nginx服务器和报表Nginx服务器运用负载均衡算法进行数据处理,根据负载均衡算法将请求分配到微服务器层中相对应的计划微服务服务器、素材微服务服务器和报表微服务服务器上;/n微服务器层:微服务器层包括计划微服务服务器、素材微服务服务器和报表微服务服务器,计划微服务服务器、素材微服务服务器和报表微服务服务器上接收Nginx层对应的数据请求进行处理,并将结果反馈给应用层,当微服务器层处理当前事务的微服务器要和其他微服务器交互时则处理当前事务的微服务器会将消息传输至RabbitMQ队列层;微服务器层还对RabbitMQ队列层传输过来的数据进行处理;/nRabbitMQ队列层:接受微服务器层传输的消息事件,并将消息事件转发至相应的微服务器。/n...

【技术特征摘要】
1.DSP功能微服务化系统,其特征在于,包括:应用层、DSP基础架构层、Nginx层、微服务器层和RabbitMQ队列层,
应用层:创建计划和/或素材和/或报表请求并将计划请求传输至DSP基础架构层的相对应的模块内;接收微服务器层结果的反馈;
DSP基础架构层:DSP基础架构层解耦成计划模块、素材模块和报表模块,计划模块、素材模块和报表模块接收应用层对应的的计划和/或素材和/或报表请求,并将计划和/或素材和/或报表请求发送到Nginx层相对应的Nginx服务器;
Nginx层:Nginx层具有分别与计划模块、素材模块和报表模块相对应的计划Nginx服务器、素材Nginx服务器和报表Nginx服务器,Nginx层接收DSP基础架构层相对应计划模块、素材模块和报表模块的数据,分别运用对应的Nginx服务器、素材Nginx服务器和报表Nginx服务器运用负载均衡算法进行数据处理,根据负载均衡算法将请求分配到微服务器层中相对应的计划微服务服务器、素材微服务服务器和报表微服务服务器上;

【专利技术属性】
技术研发人员:何哲崔光学
申请(专利权)人:上海新数网络科技股份有限公司
类型:发明
国别省市:上海;31

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1