中国田径协会专业人员管理系统
该系统主要用于管理全国田径相关专业人员的的注册、报名、参赛、以及专业田径运动员成绩相关数据平台。系统分为运动员、教练员注册模块。国家级、一级、二级、三级裁判管理模块、运动员报名模块、后备人才管理模块、俱乐部管理平台、全国田径赛事监管平台以及运动员参赛成绩管理平台等模块。
整个系统采用springcloud+nacos分布式微服务框架搭建,数据库使用的是Mysql,为使数据库设计高并发高可用,我们对数据库做了分布式集群,负载均衡,部署方式采用主从部署,同时,由于涉及到不同平台的数据信息,系统采用多数据源模式,像运动员历年成绩信息数据,因数据体量庞大(一年比赛产生的数据在500w以上),因此,在每一年进行年度升级时会设置历史表进行归档,以及对这一类数据量大的表进行分库分表。
在项目一期时,我主要负责运动员、教练员注册系统的开发工作,当时,项目框架使用SpringBoot,数据库使用Mysql,缓存采用Redis,和其他模块的数据交互主要使用RabbitMq消息队列。
运动员注册系统主要模块包括:
1.系统管理(包括系统设置、注册年份管理、注册阶段设置、个人信息设置;用户角色管理、单位信息、项目信息管理)。
2.运动员管理(包括运动员首次注册、确认注册、统计模块等;主要功能包括、运动员扫描身份证注册、提交注册、生成协议书、登记表模板;审核模块、运动员退役、禁赛、暂停、取消注册,复出、解除禁赛、放弃运动员及审核、交流、双重注册、保留单位注册权及审批,导出各种模板的运动员数据等)
3.教练员管理(包括教练员首次、确认注册,统计模块等:主要功能包括教练员注册,提交注册,资格证书上传,教练员审核、教练员退役、禁赛、复出、解除禁赛;导出各种模板教练员数据等)
在项目上线一年后,因需求变更以及数据量的增加,现有系统架构已无法满足客户需求,因此我们团队计划将整个系统重构为SpringCloud分布式微服务+Nacos来配置和管理微服务,我参与了整个系统的重构过程,在重构过程中主要面临的问题在于,各个系统间耦合问题严重,首先需要分离各个系统间的数据关联,部分数据表需重新设计,部分表分库分表后,对原有代码需要进行二次迭代开发;网关的统一配置,各系统角色权限的重新配置等;