首页 理论教育 2019软件工程论文专集:系统服务架构设计

2019软件工程论文专集:系统服务架构设计

时间:2023-11-06 理论教育 版权反馈
【摘要】:图4大型OA 系统整体服务器架构部署示意图4)消息队列消息队列是用来临时保存待处理的业务数据的容器。在国企OA 的BPM 系统中,会有频繁的审批被提交,特别是高峰期,审批提交的操作会远远超出BPM处理引擎的处理速度。而BPM 系统由于本身产品授权问题,不可能像其他业务系统一样,简单地通过横向集群扩展部署来提高处理能力,何况后端数据库服务器也是会有性能瓶颈。

2019软件工程论文专集:系统服务架构设计

作为一个数万人的大型国企,真正每天都要在办公室电脑前办公的,访问OA 系统的人员,一般只占不到10%。但随着移动办公的普及,每天会访问OA 系统的人已经超过企业人数的50%。同时,这些人中,80%的人都集中在早间上班和午后2~3 点这两个时间段来访问,此时系统的并发访问压力将很大。针对这种高并发的情况,系统建设时必须通过合理的服务架构设计来解决,如图4所示。整个架构,通过以下几种技术方式来应对高并发的压力。

1)负载均衡设备

当用户访问OA 时,位于最前端的负载均衡设备对访问请求进行分流,根据设定的策略,将不同的访问请求导向到不同的前端服务器上。前端服务器处理这些请求,分解之后再传递到不同的后端业务服务器上进行处理。

2)服务器集群

在大型OA 环境中,一个核心业务服务是不允许单服务器部署的。因为一旦这个服务器出现故障,整块业务都将处于瘫痪,这就是所谓的单点故障。所以,部署服务器集群,一方面可以避免服务的单点问题,同时,多台服务器可以并行同时工作,配合负载均衡,实现处理能力的翻倍提升。

3)数据缓存服务器

数据缓存服务器,就是专门用来缓存业务数据服务器,缓存的数据被存储在服务器的内存中。

通过预热程序或者调度程序,部分业务经常被使用的数据预先从数据库系统读取到缓存服务器上,业务系统查询这些数据时,直接访问缓存服务器上的数据,当访问某些不常用的数据时,才去访问DB 服务器。这种架构设计,将大大加快程序对常用数据的获取速度,同时减少DB 服务器的访问量。(www.xing528.com)

目前主流的缓存服务通过memcache、redis 等NoSQL 产品来实现。但这些技术产品的使用,需要结合具体软件系统的编码框架设计而定。

图4 大型OA 系统整体服务器架构部署示意图

4)消息队列

消息队列是用来临时保存待处理的业务数据的容器。在这个容器中的数据会按照先进先出的队列的方式排列,故名消息队列。

当业务系统存在短时间内服务器端可能接收到大量的处理请求,会超出程序的业务处理的能力时,就应该采用消息队列机制开发系统。将提交的处理请求先有序存储下来,连同数据和操作要求一起打包存储在消息队列中,等待处理器一个个通过异步的方式来处理。消息队列的使用,也是需要在代码架构设计时确定。

在国企OA 的BPM 系统中,会有频繁的审批被提交,特别是高峰期,审批提交的操作会远远超出BPM处理引擎的处理速度。而BPM 系统由于本身产品授权问题,不可能像其他业务系统一样,简单地通过横向集群扩展部署来提高处理能力,何况后端数据库服务器也是会有性能瓶颈。所以支持消息队列技术,是BPM 产品所必须要有的功能特点,它将在大型OA 应用场景下起到非常的大的作用。

免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。

我要反馈