项目名称:数字校园
开发周期:2021.10-至今
软件环境:SpringBoot + SpringCloud + Mybatis + Mybatis-Plus + Elasticsearch + Redis + Kafka
+ Nginx + Skywalking + Spring Security + Oauth2 + JWT + Sentinel + Flink + Hive + Hadoop +
CDH
项目描述: 构建以云平台为底座的基础平台、以设备为载体的认证核心、以数据价值为驱动
的家校互动,以人为本的立体式校园安全的局校一体化的教育信息化综合方案,覆盖各类中
小校园市场,全面为校园业务发展提供强有力的抓手,基于网页门户及其公众号进行改版,用于承载数字校园产品线产品的使用。同时新增模块
选择功能、基于新版用户中心完成原有常用功能迁移、不断增加和完善教育局功能、不断优
化用户登录流程,为用户提供一站式是服务中心,提升用户使用效率。
主要职责:
1. 参与项目的需求分析,并设计数据库。
2. 参与系统分析需求评审、重构模块的架构规划、设计以及技术选型,构建高可用、高性能、高扩
展的系统架构。
3. 参与设计系统架构方案、以及系统架构搭建。
4. 更换项目架构,开发第三方接入平台,搭建压力测试环境,添加项目中缺少组件并进行适配,重
构全局动态菜单,开发消息服务(支持公众号消息频,微信公众号推送及其短信)。
5. 归寝,考勤分析服务开发,适配不同学校配置考勤规则,分析考勤数据
项目经验
6. 物联网平台开发,可视化设备对接,提供统一对接协议和标准文档
7. 在云平台基础上应市教育局要求开发健康新学年子平台,效果显著并推广到省内部分地市
8. 多节点 ansible 部署脚本编写,并结合项目中嵌入的 xxljob 进行自动化打包部署
9. 日常维护平台稳定,修复平台漏洞,解决和优化用户反馈问题
10. 编写项目关键功能模块文档及其架构设计文档。
11. 主导开发三个课堂产品,通过教学视频云平台的兼容接入能力实现多厂家设备的统一接入(直
播、点播、互动),发挥名校、名师的区域带动作用,解决区域间、校区间教育资源薄弱,学校上
不齐课、上不好课的难题,实现一校带多校、一校带多点,促进教育均衡化发展,提高教育质
量;并具备视频会议与协同办公能力,市、区、县、校多级教育部门可快速实现多方视频会议、
图文共享、协同操作。
12. 主导开发云电脑产品,实现数字校园平台与云电脑与瘦终端一站式接入,租户可一键配置云电
脑、瘦终端与云电脑用户自动绑定,解绑,教师一站式管控,管理员一站式管理,学生通过统一
门户,结合智能学生证一站式上机,实现资源浪费最小化,资源使用率最大化,更好的服务教育
信息化,便捷化,智能化。
技术描述 :
1. 接入层:前端请求统一通过负载均衡器,通过负载算法将请求定向到分布式微服务。
2. 服务层:统一网关认证鉴权,服务调用、服务治理、负载均衡。
3. 存储层:Nosql、Mysql 等,数据库采用 mysql8.0.22 集群,读写分离中间件采用 ProxySQL。
4. 大数据层:使用 Hadoop 分布式系统基础架构,Spark、Flink 计算引擎。
难点解决:
1. 解决项目中硬件设备对接混乱,繁杂等问题,制定统一对接协议,开发统一对接模式系统,根据
不同硬件类型和协议,只需通过管理平台简单配置,即可平滑接入到系统中,无需其他定制化且
复杂开发,硬件设备,终端统一管控。
2. 项目初期,工程框架使用 springboot 版本过低,随着项目微服务增多,项目依赖引入多且及其复
杂,导致工程出现许多应版本问题过低出现的各种漏洞,并且引入依赖版本不统一导致依赖冲
突,针对这一问题,对工程进行分析,并独立对项目进行 springboot 及其 springcloud 实施大
版本升级,和依赖提取统一管控版本,对升级后出现的各种不兼容问题进行一一解决,对新版本
SpringCloud 中,增加了契约验证这一问题进行契约重写,解决项目事实中存在的这一问题,并
测试,成功升级。
3. 由于学校考勤数据量较大,且并发较高,会导致终端传输数据丢失或者分析中出现丢失,针对这
一问题,对接收考勤数据相关服务逻辑进行优化,加入监听 msyql 的 binlog 日志来分析考勤相
关数据,并加入消息队列,缓存等机制,解决这一问题。