论云原生架构设计与应用
【摘要】
2019年3月,我单位联合某高校研发了《程序在线评测比赛考试系统》系统以程序代码在线提交自动评测功能为核心,分为题库块、评测机模块、实验作业模块、考试模块、比赛模块、抄袭判定模块、用户管理模块等,支持对接教务平台。在项目中我担任系统架构师,负责架构设计工作。
本文以该系统为例,主要论述了云原生架构在项目中的具体应用。系统以Spring Cloud 微服务框架开发,分为前端 Web 服务、平台保障服务、业务服务三部分。前端 Web 服务由负载均衡与服务器集群结合,实现高并发的前台界面;平台保障服务以 Eureka 为中心,由 API 网关、服务注册中心、监控平台等构成,实现基础服务框架;业务服务划分为多个微服务,基于Docker 容器,协同工作实现具体业务功能。最终系统顺利上线,获得用户一致好评。
【正文】
笔者在一个专为高校建设计算机专业智能教学一体化平台的单位任职,过往成果有《计算机组成原理仿真实验系统》等。2019年3月,我单位联合某大学,以取研发了《程序在线评测比赛考试系统》项目(以下简称为“OJ系统”代原有传统的编程上机考试平台。系统以程序代码的在线提交自动评测功能为核心,主要分为题库模块、评测机模块、实验作业模块、考试模块、比赛模块、抄袭判定模块、用管理模块等。题库模块主要负责试题和测试用例的管理,用户根据试题要求编写程序代码提交到系统,系统将测试用例与程序代码发送给评测机模块,由评测机自动编译、执