APP下载

基于微服务架构和中台技术的非学历培训平台建设

2022-03-19刘则芬

安徽开放大学学报 2022年1期
关键词:非学历中台架构

刘则芬,齐 梅,樊 浩,李 升

(安徽开放大学,合肥 230022)

一、引言

安徽开放大学非学历培训业务已成为学校发展的重要支撑。近几年,基于安徽专技在线平台培训的非学历教育年平均人次均超过50万。该平台建设时主要针对公需科目培训,按照注册50万人,在线2万人设计的。现有平台存在以下问题:(1)业务代码复杂且量大,业务之间的耦合度非常高,导致平台的维护难度大、维护成本高;随着业务复杂度的增加,给培训管理工作带来许多不便,增加很多工作量。(2)平台顶层设计的局限性,起初设计的单一培训模式已经无法满足多样化的培训需求,平台在可扩展性、可移植性以及灵活性等方面存在问题。(3)系统错误隔离性差,任何一个业务模块出现错误,可能造成整个系统宕机,且问题定位难度大,更新部署后可能会出现新的问题,导致功能更新速度慢。(4)系统启动慢,一个进程包含了所有的业务逻辑,涉及的启动模块多,导致系统的启动周期过长,用户体验满意度不高。随着非学历培训业务的不断拓展,培训内容、培训领域不断扩大,培训形式、合作方式及培训政策等复杂多样,为了更好地应对各种变化,需要构建一套业务中台,形成较为稳定的业务层,基于业务中台快速搭建小前台,在业务操作中快速满足业务变化的需要。而目前的培训平台使用传统的单体式架构,将所有业务模块都打包在一个应用里面运行,各个模块耦合严重,存在开发效率低、代码维护难、部署不灵活、稳定性和扩展性不高等问题。

为了解决现阶段非学历培训平台出现的问题,本文提出了基于微服务架构和数据中台的非学历培训平台,将多种培训业务系统中具有共同性和通用性的功能提取、剥离,形成符合非学历教育培训特点的服务共享层,从而将高度耦合的业务功能分解到各个分散的微服务中,以实现对业务系统的解耦。使用数据中台技术,通过数据采集、清洗、计算、存储、分析等,构建非学历数据服务层,打破业务和数据孤岛,满足智能化、数字化的现代培训业务需求。

二、微服务架构及应用现状

微服务架构是一种将一个单一应用程序开发为一组小型服务的方法,每个服务运行在自己的进程中,服务间通信采用“轻量级通信机制”[1-2]。这些服务围绕业务能力进行构建并且可通过自动部署机制独立部署,这些服务共用一个小型的集中式管理,可用不同的语言开发,使用不同的数据存储技术[3],从而能够很好地解决单体式架构出现的问题。目前该技术在各个领域应用广泛,韩笑等人利用微服务架构对新闻制作系统进行了优化和实现,提升了系统可扩展性、灵活性以及开发效率[4];曹斌等人采用微服务技术对系统进行重建,使HIS系统更易修改,扩展性更强[5];洪柏桦等人使用微服务架构能够对线上的课程进行有效管理,满足用户的个性化需求[6];吴雨渲等人通过使用微服务架构解决了个人健康管理系统在实际应用过程中产生的问题,使系统更具有可扩展性和容错性,节约了开发和维护成本[7];李京辉使用基于微服务架构和中台技术满足了智慧营区综合管控需求,提升部队指挥决策、管理服务水平和生活服务水平[8]。使用微服务架构将业务拆分能够使项目复杂度降低,单个微服务启动快,灵活应对业务的变化,提高项目的可扩展性。本文将微服务架构应用到非学历培训平台上,结合中台技术,实现更小粒度的分库+读写分离模式架构,以提升平台性能和可靠性。下面给出了详细设计。

三、基于微服务和中台技术的非学历平台设计

(一)总体架构

合理搭建非学历培训平台整体架构,构建一体化的培训流程,从根本上决定了安徽开放大学非学历培训业务的服务规模和实现水平。非学历培训平台使用Spring Cloud框架来搭建微服务,制定开放、规范的技术标准,实现业务系统的建设不再以沉重的单体应用系统为单位,而以解耦后重构的微应用为单位。将若干具有独立功能的微服务,组合成为能够满足某个场景使用需求的微应用,大大提高培训业务信息建设的灵敏度和迭代升级速度。通过梳理和细化各类非学历教育教学管理过程,将具有共同性的或通用性较高的业务功能,统一剥离出来,形成业务中台,使学习过程业务功能颗粒化,业务流程组装模块化。数据中台将平台不同数据源的业务数据进行加工处理,为各种业务提供统一的数据支持服务。

基于微服务架构和中台技术的非学历培训平台总体架构从下至上分为四层:网络通信层、基础设施层、中台服务层、应用系统层。外加两个方面的支撑保障体系。分层设计使平台更好地支撑各类综合业务,将系统划分成相互独立且功能单一的多个微服务。系统的总体架构如图1所示。

图1 系统总体架构

1.网络通信层

该层是非学历培训平台建设的基础,为各系统建提供通信链路及数据传输通道,使用的是校园有限网络、WIFI无线网络、4G/5G移动网络等通信技术。

2.基础设施层

该层包括服务器、存储、安全等建设内容,建立基础运行环境,从数据传输、计算、安全等方面,确保系统安全可靠、稳定高效、简单实用。通过搭建私有云和采用公有云混合服务模式,建立一个稳定可靠、性能良好、资源利用率高、可伸缩性强的混合云计算基础架构,为整个系统提供计算资源和存储资源的虚拟化分配、调度和管理服务。

3.中台服务层

中台服务层为平台提供数据、消息、认证等标准和规范。通过数据中台和业务中台的建设,为非学历培训的各种业务进行抽象,形成一系列可支撑应用的共性业务服务和数据支撑服务。

4.应用系统层

建设应用系统统一展示的门户,实现信息的集中化访问。该层是各类服务和应用的主要入口,包括共用资讯、应用入口、统一身份认证,以及聚合数据展示,各业务系统所提供的非学历培训用户界面、用户交互逻辑、业务服务展示。其主要功能有面向各级各类学习者、教师和管理者提供的教学、管理、数字化资源和大数据分析等一系列应用服务。

5.支撑保障体系

包括保障网络传输和业务系统信息安全体系,以及保障软硬件等基础设施和应用系统稳定运行的信息化运维服务体系。该体系为非学历平台的高效运行提供有效的保障。

(二)系统逻辑结构

根据非学历培训的业务需求,其主要由云基础设施平台、数据中台、业务中台、前台应用系统、后台应用系统及标准规范和运维体系、信息安全保障体系等构成。系统的逻辑结构如图2所示。

图2 系统逻辑架构

1.云基础设施平台

通过搭建私有云和采用公有云混合服务模式,建立稳定可靠、性能良好、资源利用率高、可伸缩性强的混合云计算基础框架,为平台提供计算服务、数据库服务、存储服务、文件服务、日志服务、网络服务、大数据服务以及容器服务。

2.数据中台

数据中台是为了创新驱动快速变化的前台和稳定可靠驱动变化周期相对慢的后台之间的矛盾而存在的,其支持以用户为中心的持续规模化的创新,并持续提高企业对用户的响应力。数据中台通过现有的数据抽取、转换、清洗等手段,以业务为导向,形成高准确性、权威性的非学历培训数据仓库,并对数据分析和展示端提供通用的、标准化的数据服务,使数据能够充分在各个业务环节和部门实时流通,有效解决培训业务系统中目前存在的数据孤岛、数据不一致和数据维护混乱等问题。数据中台主要包括数据资产、数据集成、数据计算、数据服务、数据展示、数据搜索等服务,以及面向业务的数据资产。

3.业务中台

梳理和细化安徽开放大学非学历教育所有业务,通过分解业务特征,细化业务功能,将具有共同性的或通用性较高的功能,统一剥离出来,高度抽象,形成细粒度化的微服务,统一沉淀至业务中台,为各类型培训业务应用系统提供高复用性,灵活、敏捷的中间层支撑共享服务。通过业务梳理,从非学历培训业务系统中全面归纳、抽取、提炼服务功能,在明确微服务的定义和划分原则的基础上,按照统一标准进行分工开发。提炼的服务按功能分为若干微服务组,每组微服务组包括若干微服务。例如:支撑服务组(包括语音识别服务、智能搜索服务、智能推荐服务、智能客服服务、人脸识别服务等),学习服务组(包括预学习服务、学习记录服务、学习任务单服务等),用户服务组,资源服务组,教务服务组,教学服务组,考核服务组,学习成果服务组,直播服务组,消息服务组等等。

4.前台应用系统

根据非学历培训的业务需求,建立统一门户页面,为所有参加安徽开放大学培训的各类学员、教师、管理人员等提供一个统一门户,统一入口,通过此入口可以登录、注册,进入各类站群业务系统,进入多身份空间,进入统一管理后台。

5.后台应用系统

后台应用系统支持多管理者、多角色、动态可配置的统一后台管理系统,构建系统管理、运营管理、业务管理、数据管理、运维管理等。一个管理员可以一次性管理多个站点,并且可以在多个站点间进行新闻、资源、课程、培训项目、活动相关数据的分享(上报、下发,平级分享)等。

6.标准规范和运维体系

建设统一的数据和协议标准,构建行之有效的运维体系,全面支撑数据中心基础设施、云平台、数据、应用、安全等各方面的运维服务,确保系统安全可靠运行。

7.信息安全防护体系

建设云平台统一的安全防护体系,具备全面软硬立体的攻击防御和安全审计能力。

四、基于微服务架构和中台技术的非学历培训平台的设计与实现

(一)大数据分析平台微服务

非学历培训平台在设计时为了方便学员更好地使用各种客户端,如PC端、移动App、微信小程序、微信公众号、移动端h5网站、支付宝小程序等,采用不同的标准,各系统之间相互独立,数据无法实时更新,信息和资源无法进行实时共享,形成信息孤岛。构建非学历培训平台的用户指标分析体系,包括用户统计、用户行为统计、资源统计、用户行为分析等,构建采集器、日志、数据库等各类结构和非结构化数据源上报引擎,将数据采集上报到非学历教育培训平台的大数据管理模块。通过大数据管理模块,使用统一的标准和口径,对数据进行分析,构建非学历教育培训平台的可视化分析系统和数据大屏可视化展示系统。大数据分析平台的设计如图3所示。

图3 大数据分析微服务平台设计

该模块使用了数据中台技术,利用线上平台、线下活动工具、手工导入等方式采集的数据,使用统一的标准和接口进行计算、存储、开发、可视化展示一站式处理。为平台用户提供统一的查询服务、资源统计服务、标签服务、用户行为分析服务、用户指标分析服务、数据产出服务。大数据分析平台有效解决了不同媒介之间的信息孤岛问题,实现平台的信息和资源的数据共享。

(二)交易中心微服务

交易中心为学员在线付费学习提供一站式在线服务,是整个非学历培训平台建设的重要内容。其服务的对象是参加非学历培训的学员、平台的管理人员和财务人员。交易中心通过对原有的业务流程进行梳理和分解,对重构后的业务流程进行服务重组,将业务流程进行优化,实现创新的服务模式和服务碎片化的管理。交易中心微服务设计的基本思路是:从学员用户的视角,围绕学员在线报名缴费的流程,对业务的流程进行重构。业务流程由用户自主发起,用户可全程把控流程办理的进度。具体实施步骤:根据非学历培训的报名流程对所涉及的业务进行划分,编制交易中心微服务的总体需求,进一步对流程进行细化,对流程进行面向服务的梳理,重构业务流程。交易中心微服务设计如图4所示。

图4 交易中心微服务设计

交易中心微服务通过细粒度划分复杂的业务,将其变成面向用户的最小服务单元,通过一个统一的界面提供给用户,增加用户对非学历培训平台的黏度,提高该平台的使用价值。

(三)微服务实现的技术

1.服务的注册与发现

非学历培训平台微服务的实现使用SpringCloud技术框架,实现对微服务运行中的状态监控、微服务运行异常时的治理策略配置等场景,保障微服务在常见异常场景下的自恢复能力。系统使用Eureka框架实现服务的注册和发现。Eureka是Netflix开发的服务发现框架,主要用于定位运行在AWS域中的中间层服务,以达到负载均衡和中间层服务故障转移的目的。一个Eureka中分为EurekaServer和Eureka Client,其中EurekaServer是作为服务的注册与发现中心,Eurekaclient既可以作为服务的生产者,又可以作为服务的消费者。在应用启动后,将会向EurekaServer发送心跳,默认周期为30秒。如果EurekaServer在多个心跳周期内没有接收到某个节点的心跳,EurekaServer将会从服务注册表中把这个服务节点移除(默认90秒)。Eureka通过心跳检查、客户端缓存等机制,确保了系统的高可用性、灵活性和可伸缩性。

2.服务网关

客户端的微服务请求通过服务网关进行转发,网关为外部服务提供统一入口访问内部微服务,在SpringCloud框架中,SpringCloudZuul封装了Zuul组件,作为一个API网关,负责提供负载均衡、反向代理、动态路由、静态资源处理和权限认证等功能。Zuul的核心就是过滤器,Zuul基于Servlet实现。当服务网关收到客户端请求后,会先进入pre过滤器,在pre过滤器执行完后,接着就到了routing过滤器中,开始路由到具体的业务服务中,并执行业务逻辑后返回,当遇到错误的情况会被错误过滤器拦截。

3.熔断隔离机制

在平台运行的过程中,需要做好容错机制和隔离机制,才能够避免由于资源耗尽而引起的雪崩效应,避免整个系统瘫痪。为此使用了Netflix开源的一款容错框架Hystrix,该构架能够对微服务进行熔断、降级、限流。使用命令模式将所有的外部服务调用包装在HystrixCommand或HystrixObservableCommand对象中,并将该对象放在单独的线程中执行;每个依赖都维护着一个线程池(或信号量),线程池被耗尽则拒绝请求(而不是让请求排队),记录请求成功、失败、超时和线程拒绝;服务错误百分比超过了阈值,熔断器开关自动打开,一段时间内停止对该服务的所有请求;请求失败,被拒绝,超时或熔断时执行降级逻辑,近实时地监控指标和配置的修改。

五、结语

结合安徽开放大学非学历业务培训的特点,使用先进的信息化技术手段,对中台建设规范、微服务进行定义和划分,设计了基于微服务架构和中台技术的非学历培训平台。该平台有效融合了中台技术,促进了各个业务系统的有效融合,实现了统一管理、数据共享以及应用平台的开放性、可扩展性等,平台对原有的业务系统进行了升级、改造、整合,对未来业务系统的扩展留有接口,满足非学历培训业务的个性化需求。非学历培训平台建设业务流程复杂、业务数据量庞大,如何进行恰当的划分培训业务的微服务,是基于微服务架构平台设计的重要课题。下一步将围绕整合非学历相关培训业务,结合分布式、颗粒化、均衡负载等方面做进一步的研究。

猜你喜欢

非学历中台架构
非学历教育进入规范管理新阶段
让非学历教育监管“长牙齿”
新形势下开放大学在非学历继续教育发展中的问题与对策探析
功能架构在电子电气架构开发中的应用和实践
高质量发展视角下的非学历教育实践
关于零售企业“中台”建设的研究
汽车制造企业质量中台研究
以技术开发中心为中台,数字化转型之见解
构建富有活力和效率的社会治理架构
企业内部控制信息化系统架构及实现策略