湖北省教育管理平台(2020.05 - 2024.03)
项目介绍:湖北省教育考试平台包括基础数据库系统、数据交换平台、应用支撑平台、网上巡查系统、监考人员分配系统、缺考及违纪行为上报系统、试卷跟踪管理系统、保密室监控管理系统、身份认证管理系统、标准化考点管理系统、工作人员管理系统、移动 APP 客户端、可视化辅助决策系统、应急指挥系统、考生服务微信端等约16个大小子系统,同时利用数据交换系统对接网上报名系统、统计分析系统、诚信档案系统、综合办公系统等4个子系统。
使用技术:SpringCloud、SpringCloudAlibaba、Nginx、Nacos、netty、WebSocket、Mysql、Redis、MongoDB、RocketMQ、kafka、flink、spark、hadoop、hive、hbase、Sentinel、ELK、Prometheus+Grafana、Vue、Git、JenKins、Jemeter
项目架构:
1.采用SpringCloud Alibaba技术体系构建微服务架构,根据实际业务场景对服务进行拆分;
2.以阿里开发支撑注册/查询实例TPS达到13000以上的Nacos作为项目的注册和配置中心,在业务量增加时,通过对网关和Nacos注册中心的平滑扩展来提高TPS;
3.系统终端数据采集使用 netty,数据传输遵循 JT808标准协议和部分自定义协议;
4.大数据存储、建模、分析使用kafka+flink+spark+hadoop+hive+hbase等技术;
5.基于阿里巴巴的DATAV实现统计分析数据动态可视化;
6.基于websocket基于实现后台和前端之间的消息通讯;
7.视频实时流使用的是28181/2017协议网关+UDP 媒体服务器(支撑RTMP和RTSP);
8.数据库使用的 mycat+mysql主从分布式集群技术,内存数据库使用了redis、MongoDB;
9.基于分布式调度框架XXL-JOB解决传统定时任务同时请求数据库引起的脏数据问题;
10.使用Keepalived + Nginx保证访问入口高可用,防止服务器单点故障的发生;
11.基于Redis Cluster搭建高可扩展、高可用、支撑海量并发的缓存集群;
12.采用Redis + JVM堆内存构建支撑万级流量的多级缓存架构提升访问性能;
13.基于阿里开源的Sentinel组件对核心服务限流、熔断、降级处理,保证系统的高可靠性;
14.基于高性能的Elasticsearch、Logstash、Kibana构建平台级日志系统快速定位问题;
15.基于Prometheus + Grafana技术构建可以实时观察服务器情况的监控平台;
16.基于Git 配合Jenkins 拉取项目完成实现项目自动化构建与快速部署到服务器上,集群节点采用docker部署。
职责描述:
1.根据项目的需求调研和业务需要,规划了团队的规模和职责,按需引进相关人员;
2.主导了项目的需求分析和业务架构设计,制定研发人员开发计划;
3.确定业务需要的技术栈,设计了项目的技术架构;
4.制定了微服务的基本性能要求指标,编写了核心通用功能模块代码;
5.项目阶段性任务的质量控制和评审;
6.使用多级缓存架构、缓存预热、异步化、消息丢失一致性确保方案等多种手段开发安全稳定、支撑高并发访问的身份认证服务、压测结果达到3000/qps;
7.为了解决netty高并发的问题,Netty集群采用SLB+netty的方式,长链接信息以缓存的方式放到redis中;
8.为了实现音视频流在高并发高负载高吞吐率情况下的流畅性,音视频推拉流服务采用了三级架构方式,每个级别上和每个节点上的流媒体和网关指令服务就近对接相关的音视频设备,以便提高系统架构的负载均衡、可靠性;
9.基于Redission框架实现分布式锁,使用布隆过滤器+缓存空对象双重保障机制解决缓存穿透问题;
10.使用mycat对千万数据身份认证服务进行分库分表,使用阿里的Canal组件实现用户无感知的数据平滑迁移;
11.应用TCC的思想对项目中出现的分布式事务问题进行解决、确保项目数据稳定、可靠,不出现混乱;
12.对系统服务层、中间件、数据层、JVM层链路的性能调优,提升系统响应速度和服务质量。