汤剑 肖长水
摘要:学校使用教务系统很长一段时间,使用途中碰到很多问题,按照软件优化建议配置没有完全解决应用业务服务反应慢、不可用问题,分析问题的原因与业务的特点,结合教务系统的稳定性、安全性、可维护要求,使用haproxy作为负载均衡前端提升业务可用性。
关键词:教务应用;负载均衡;业务分流;haproxy
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2015)22-0069-02
Abstract: Educational systems used in schools for a long time, use a lot of problems encountered on the way.According to the software configuration does not completely solve the optimization suggestions apply business services slow response, not with problems.Analyze the causes and characteristics of the business.Combined with the stability of the system of educational administration, security, maintenance requirements. Use haproxy as the front-end load balancing to improve business availability.
Key words: educational applications; load balancing; service distribution; haproxy
1 问题简述
问题现状:1)学校使用正方教务系统已经很多年,大量的教务业务都依赖于系统,教务系统上的业务信息量及访问量在不断增加;2)随着学校教务管理学分制工作的不断推进,正方系统功能模块的逐步广泛化使用,正方系统上的业务工作流已经比刚启用正方系统的业务量、数据量增加了多倍。正方教务系统上运行的业务面向学校的教务教学管理,频繁使用部门是教务处及各院部的教学管理人员,里面涉及的业务包括课程管理、教室安排、教学进度制定、教学分析、教学项目管理、成绩管理等,非频繁使用的人员包括普通教师、学生,教师的需要来查询课程、录入成绩等,学生需要进行选课、评教、查询课程表、查询成绩。其中教师录入成绩、学生选课、学生查成绩、学生评教是业务访问量比较大的阶段,时间周期一般为持续2周左右,在这个期间经常会出现业务访问很慢或不可访问现像,出现该类现象时教务系统基本处于半挂起状态,教务处及相关业务人员基本不能访问系统,给正常业务运行造成了延误。
2 已存在的解决方法
依据软件供应商的建议增加系统应用服务硬件,在选课、查成绩的高峰时间,在原来的3台应用服务器的基础上增加到5台应用服务器,教务业务利用8台应用服务器及IP提供服务,为优化业务访问的入口体验,采用DNS动态负载的功能将8个IP地址绑定到一个域名,DNS服务器负责域名的解析及域名地址的动态轮询,通过DNS轮询负载后前端通过一个入口访问,后端通过8台应用服务器来平摊应用负载。基于正方系统会产生大量的临时表,该操作会影响数据库性能与容量,在数据库上制定了自动清理和手工检查计划,并作了相应的数据库性能参数的调整。经过调整后选课或查成绩时,单位时间内业务的可访问量得到了提高,应用服务出现无响应的频率得到了降低,数据库的负载基本维护在45-70之间。经过一段时间的观察后,发现应用系统会出现在某时间点突然全无响应、某后端故障后出现整体的间断性的访问故障等问题。
3 改进方向与解决方案
需要解决的问题是保证服务的可用性及重要业务的不间断性,按照业务的服务类型分成三类服务,第一类的分类原则是服务是否处理核心类型,比如教务处及学院的教学科室,对教务系统有着非常严重的业务相关性及依赖性,如果该系统出现会直接影响到业务工作的开展,这类服务可以被概括为第一类服务,一般该类服务的访问方式以正方系统客户端直接访问的形式为主,比较常见的方式有排课、批量导入数据、系统数据清理等。第二类是指有一些服务会对教务业务数据进行修改,如教师要进行信息填报、成绩录入等,从教师及工作人员角度出发会对业务进行修改的服务定义为第二类服务。第三类的服务是以学生为主要参与对象,首先是会对系统数据进行修改,通常之类服务包括了学生的选课、评价等,这类服务的特点是存在一定的周期,当这类服务发生时对系统的要求比较高,但这类服务的时间不长且一般为1周以内,把这类服务定义为第三类服务;其次属于通用类的查询服务,如教师查询课程信息、课程表、申报的信息、学生名单等,如学生查询学期上课信息、教室信息、实验信息、学课成绩、报名情况、交费信息等,这类服务只涉及到读取查询。
分析了服务的几种类型后,考虑关于服务的稳定性问题,教务系统一般服务内外网同时开放,核心的服务即第一类服务以客户端的访问形势存在,考虑到安全性、稳定性及可用性仅在内网开放,其余的服务都是有WEB的访问形势为主,考虑到使用者的范围较广一般采用全网开放的形势存在,为避免WEB访问形式的三类服务故障影响到第一类服务,需要做一些服务的隔离来保证第一类服务的安全与稳定。考虑整体系统的全局稳定性,采用多主机服务形势保障系统的可用性,考虑到到安全性使用一个带恶意访问过滤的前端,考虑应用服务的可维护性使用一个可控的管理平台, 管理平台需要要日志记录记录的功能,使用于问题排查与服务质量提升。基于以上的系统服务分析与功能需求分析,查询资料和评估功能后选择开源软件haproxy来做前端的负载均衡与统一服务管理平台。
3.1业务服务分类的haproxy配置
4 效果分析与思考
通过haproxy作为前端的负载均衡与统一服务管理平台后,使用一段时间后发现整体功能应用访问与管理效率有所提高,用户在访问时的良好体验得到保障,通过使用多后端智能负载实现了应用的不间断服务,通过统一的负载前端实现了访问资源的统一管理。总体表现为提高了系统的整体稳定性,再没有出现因为选课、评教、录成绩、查成绩时导致第一类服务的故障或不可访问;增强了系统的可用性,采用内外网服务分离与安全过滤后,没有出现过恶意攻击导败系统访问不可用;整体系统运行的可管理性及可维护得到了提升。对于现在部署结构存在整体的稳定缺陷,设计与配置高可用的haproxy均衡部署及监控预警机制是下面实验的方向。
参考文献:
[1] 陈正举. 基于HIBERNATE的数据库访问优化[J]. 计算机应用与软件, 2012,29(7):144-149.
[2] 周莹莲,刘甫. 服务器负载均衡技术研究[J]. 计算机与数字工程, 2010,38(4):11-14.
[3] 李坤,王百杰. 服务器集群负载均衡技术研究及算法比较[J]. 计算机与现代化, 2009(8):7-10.
[4] 高昂,慕德俊,胡延苏. Web集群的区分服务与负载均衡策略研究[J]. 电子与信息学报, 2011,33(3):555-560.
[5] 王云晓,.张学诚. 基于.NET的数据库访问优化策略[J]. 计算机与现代化, 2011(12):86-88.