基于PaaS和ESB的分布式集群框架服务平台
摘 要:设计了一种分布式集群框架服务平台。它提供平台级服务,通过ESB集群消息总线进行交互。平台上能够发布多种业务应用或服务产品,充当了基础资源和上层业务应用的桥梁和纽带。随着所集成的系统数目增多,该平台的负载均衡技术、失效转移技术和集群技术等特性效果就更加突出。
关键词: PaaS;ESB;分布式;集群;负载均衡;失效转移
中图分类号:TP311.52 文献标识码:A 文章编号:1009-3044(2014)25-5912-05
A Distributed Clustering Framework Service Platform Based on PaaS and ESB
ZHAO Jing
(The First Research Institute of the Ministry of Public Security, Beijing 100048, China)
Abstract:Design a distributed clustering framework service platform. It provides platform level service, interacting by ESB message bus. Through this platform, we can release a variety of business applications and services products, and it serves as the bridge and the link to the foundation resources and the upper business application. As the number of system integration increasing, the platform of the load balancing technology, the failover technology and the cluster technology is sure to feature such as the effect is more prominent.
Key words:PaaS; ESB; distributed; colony; load balancing; failover
1 概述
1.1 背景
随着社会经济及科学技术的飞速发展,计算机网络的逐渐普及,各行业纷纷在IT建设方面投入了大量的资金,建立起多种业务系统。目前,在构建这些业务系统时,一般都是采用“独立解决方案”来实施的。系统之间相互独立,“各自为政”,缺乏整合,业务数据交换困难,难以形成有效利用的共享资源。这既不满足企业业务需要,又彼此间不能互联,形成了所谓的“信息孤岛”。因而需要一个能够将现有各种业务系统进行整合的平台,该平台向下根据业务能力需要测算运维基础服务能力、调用安全产品、操作系统以及硬件等其他资源,向上为各业务系统提供调度中心等服务,实时监控整个网络的各种资源、并将这些资源开放给上层资源用户,来满足企业实际工作需要,进而使信息化系统在企业工作中发挥出更大的效益。
1.2 概述
本文设计了一种基于PaaS和ESB的分布式集群框架服务平台。它是基础资源和业务系统的纽带,是一种面向基础设施架构的服务框架,其核心是基础资源平台即服务(PaaS),并将这些异构环境中的服务基于中间件技术进行交互(ESB)。在分布式集群所提供的环境中,各种业务应用能够长时间稳定高效的运行。该平台主要提供集群接口服务、集群共享服务、集群调度服务、集群消息总线、集群自助服务、集群管理服务等,平台服务框架如图1所示。
2 关键技术简介
2.1 PaaS
PaaS(Platform-as-a-Service),平台即服务,是一种把服务器平台作为服务,提供企业进行定制化研发的中间件平台,它能提高Web平台上利用的资源数量,将现有各种业务能力进行整合,向下根据业务能力需要测算基础服务能力,通过IaaS提供的API调用硬件资源,向上提供业务调度中心服务,实时监控平台的各种资源,并将这些资源通过API开放给应用软件用户。
2.2 ESB
ESB(Enterprise Service Bus)是传统中间件技术与XML、Web服务等技术相结合的阐述,用于实现企业应用不同消息和信息的准确、高效和安全传递。它能够支持服务注册以及寻址管理,确保通过企业总线互连的业务流程间的消息正确交付;提供位置透明的路由和定位服务,提供多种消息传递形式,支持广泛使用的传输协议。采用多服务集成方式,支持服务和事件管理。
2.3 负载均衡
负载均衡技术是用于解决大量的并发访问情况下,将数据流量分担到多台节点设备上分别处理,减少用户等待响应的时间,它提供了一种廉价又有效的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。
2.4 失效转移
失效转移(failover)是一种通过集群实现的备份操作模式,当连接的组件由于各类不可预测的原因失效或无法工作时,failover模式能够自动从集群中其他的组件中选择另一个来代替出现故障的组件。对于希望使系统具有更高的故障容忍力,失效转移(failover)是被经常使用的策略。
3 平台功能设计与实现
本文在功能上将着重讲解本平台的集群调度服务、集群消息总线、集群自助服务和集群共享服务等四方面主要功能的设计思路和实现原理。
3.1 集群调度服务
本平台设计了一个集群调度服务器来扮演平台指挥官的角色,它能够做到实时了解平台上所有服务模块和服务节点运行状态,对服务请求按照一定的策略进行均衡分配,避免某个服务模块调用过热或过冷,满足外界对平台服务的需求。具体实现功能如下:
3.1.1 服务节点调度
分布式集群服务框架平台的服务节点可以是虚拟机也可以是实体机,并将服务节点划分成集群接口服务器、集群服务平台、分布式文件系统节点、分布式数据库节点、集群消息总线服务器、集群文件镜像服务器、集群统一鉴权服务器。集群调度服务作为整个平台的调度中心通过注册知道每个服务节点的类型,只有注册的服务节点才能归纳到整个服务平台中来,才能被集群调度服务用于提供服务的一个节点。
3.1.2 服务节点检测
服务节点注册完毕后,调度服务对每个服务节点连接状态进行实时监控。如发现与服务节点已经失去连接,即对注册信息进行冻结,外部暂时访问不到该服务节点上的服务,同时服务节点也会接受到断开连接的通知进行重新连接;如果在规定时间内服务节点没有重新连接到调度服务器,调度服务器将删除该服务节点的注册信息,超时后服务节点再次连接到调度服务器后就是重新注册的。
3.2 ESB集群消息总线
分布式集群框架服务平台内部模块之间的通讯通过设计实现一种ESB集群消息总线功能来完成。消息总线将各个服务模块按照统一的消息协议连接起来,并在服务模块之间传递消息,它扮演着一种消息路由的角色,拥有一套完备的路由机制来决定消息传输方向。在通信中使用TLS (Transport Layer Security)协议作为通信通道的加密方法,保证通信的安全。
3.2.1 消息总线负载均衡
图2给出了该平台集群消息总线负载均衡技术的工作原理。在消息客户端和消息服务器之间,部署一个重定向服务器,如果消息客户端希望和消息服务器建立连接,首先向重定向服务器发出连接请求,重定向服务器根据预先配置策略(包括轮询、权值、负载状况等策略)决定返回最优的消息服务器地址,然后,消息客户端可以根据返回的消息服务器地址,建立与消息服务器的直接连接,并进行消息的传输。通过重定向服务器可以解决大量的并发访问情况下,将数据流量分担到多个消息服务器上分别处理,增加系统的处理能力,减少用户等待响应的时间。
图3 消息总线失效转移工作原理
3.2.2 消息总线失效转移
图3给出了平台集群消息总线失效转移技术的工作原理,消息客户端使用failover模式配置一组消息服务器地址组成消息服务器集群,failover协议首先根据策略从集群中选择一个最优的消息服务器并与之建立连接,在消息传输过程中,如果该消息服务器出现故障,能够自动从其他的消息服务器地址中选择另一个来代替出现故障的消息服务器,实现消息连接的自动迁移,有效保证了系统的稳定性和可靠性。
3.2.3 消息总线传输方式
消息总线为各个模块之间的交互提供了一个松耦合的实现方案,例如:在展现门户、分析服务器、采集服务器中传递的各类命令、通知、报告等即时信息都可以封装为消息通过消息服务器进行传输,传输方式支持消息队列和主题订阅两种模式。其中,消息队列执行路径如图4所示。
3.3 集群自助服务
分布式集群服务框架平台设计了集群自助服务,即服务提供了一种简易的编程规范,开发人员按照该规范编写的程序包就会被平台所接受,并自动发布成接口服务。同时,接口发布者还可以对接口进行开启、关闭、调试、废弃等操作。而且,平台用户还可以对发布的程序包进行版本控制,同时还可以根据每个程序包的版本来对程序包重新上传和发布。在这个过程中,平台做到了对发布服务进行全程可视化管理,收集被授权用户信息和服务调用信息,并以简洁明了的显示方式将这些信息提供给服务发布者,以便服务发布者能对自己的服务进行更好的管理。平台上的服务通过Schema和Contract发布,而不是Class和Type。图5给出了在平台上扩展加载监控组件所需的配置项。
3.4 集群共享服务
平台所提供的集群共享服务,是通过为运维基础服务的内网安全产品开放了以下接口来实现的:用户身份认证服务、用户管理服务、会话管理服务、日志管理服务、访问控制服务、监控服务、数据源管理服务、资源管理服务等。在此给出部分接口相关实体:
可见,集群共享服务是本平台的基础服务,对平台用户、平台服务、平台资源能够进行有效的管理和运作,从而达到了本平台的设计初衷。
4 平台特性
4.1 分布式运作模式
该平台上的服务模块都不是单一的服务节点,而是采用多机组成集群部署来提供服务,并能根据可用网络情况,在多网段进行服务部署。通过分布式运作模式能够允许系统发生部分故障,这些故障应当能被很好地处理而不影响其他不相关的部分或整个系统。具体该平台的容错实现方式如下:在多个节点或网络上提供重复的服务,让冗余性有助于将单节点失败的影响控制在最小范围内,这样就可以显著的提高系统在出现部分故障时的可靠性,使整个平台横向和竖向扩展成为可能。
4.2 弹性部署方式
分布式集群框架服务平台采用弹性部署方式,即默认情况下在三个服务节点上部署同样的服务模块,每个服务模块都具有相对的独立性,服务的调用都依赖调度中心来分配,每个服务模块都有自己独立的运行环境,服务把各自的信息注册到调度中心即可,服务之间没有直接的联系。具体描述为:由分布式集群框架服务平台对每个服务模块访问流量进行实时监控,当平台上的某个服务在某个时间段内访问突然增加,服务平台认定在现有的服务部署状态下不能满足目前的调用需要,服务平台将自动增加该服务模块的部署数量来满足目前的需求,并能在需要的时候恢复原来的部署数量,释放资源,把资源提供给其他需要扩大部署数量的服务。调用负荷持续走低的情况下,集群调度平台撤销掉服务模块个数,释放资源,为其他需要弹性增加服务模块的服务提供硬件资源。服务平台会维持每个服务模块的最小个数,保证正常的调用需求。
服务弹性部署能更好的利用现有硬件资源,满足平台用户的使用要求,保证平台服务的正常使用,动态调节资源,各尽其能,按需分配,最大程度的利用好平台资源。
5 平台性能指标评测
性能Performance用来评测完成服务请求的速度,用响应时间作为度量指标,该平台使用集群调度也使得页面响应速度等更加提升。根据项目需要,通过使用LoadRunner(业界公认的工业级标准性能测试负载测试工具),对该平台的并发和页面响应时间进行了性能测试。录制查询操作脚本,设置应用场景,得到以下性能评测结果:
系统支持并发访问500个(图7) :加载500并发用户操作运行11分41秒,系统没有失败和错误的事务,正确执行了7,777次操作。
系统响应客户端的请求时间小于3秒(图8) :根据一般机构设置梯度,加载50并发用户对万条记录的搜索查询操作,运行12分31秒,平均响应时间为0.025秒。
系统的性能和硬件环境相关,上述结果证明,该平台支持500用户在线操作,页面响应时间小于参考值。
6 总结与展望
本文介绍了一种分布式集群框架服务平台,它提供平台级服务,通过ESB消息总线进行交互,可扩展性强,能够在其上发布多种业务应用或服务产品,同时又能够做到图形化监控、错误告警和可管理资源的远程配置,很好的充当了基础资源和上层业务应用的桥梁和纽带。随着所集成的业务应用子系统数目增多,该平台的负载均衡技术、失效转移技术和集群技术等特性效果就更加突出,各子系统通过使用平台封装好的各种服务接口促进系统间的信息共享和资源整合,形成一体化平台。进而可以灵活地扩展至丰富的应用,具有更加广阔的推广前景,这也将是信息化系统集成和发展的必然趋势。
下一步将继续对调度算法进行优化,提高性能,丰富支持的应用软件类型,满足实际需求。同时增加对平台本身的安全监控,使安全服务基于统一的目录体系,面向不同的应用提供各种不同安全级别的身份认证、资源授权、数据加解密和数字签名等功能。
参考文献:
[1] 白俊,王新,耿昕.中小规模分布式文件系统集群构架的优化方案[J].武汉工程大学学报,2014(1).
[2] 鲍彤,陈维锋,卢磊.基于Hadoop的分布式集群平台构建方法研究[J].信息通信,2013(8).
[3] 樊伟钰,朱晓民.一种PaaS系统的数据监控平台的设计方案[J].电信工程技术与标准化,2013(11).
[4] 徐鹏,陈思,苏森.互联网应用PaaS平台体系结构[J].北京邮电大学学报,2012(1).
[5] 陈亮.负载均衡关键技术研究[D].长沙:中南大学,2009.
推荐访问: 分布式 集群 服务平台 框架 PaaS