. 为了解决SC(总部系统)与DC(各省系统)之间巨量数据(亿级别)的处理。通过Redis+线程池+M
Q+Grpc的方式完成性能、告警的等数据拆分、同步、修改,并且支持暂停、恢复功能。实测将每次千
万级数据同步处理由三个小时降低到四分钟。
2. 为了解决模块安全解耦,保证设备配置有很好的拓展性和可维护性。运用命令模式+构造器模式,将请
求和行为拆分。在两个服务间通过命令码执行,达到一个命令可以并发执行不同型号网元的同一或不同
配置操作,实测由 50 Qps(每秒并发数)提升至 1000 Qps。
3. 为了解决巨量数据的查询、备份等问题。负责SC(总部系统)下的巨量数据的SQL语句优化、索引优
化、分库分表,主从备份,并对热点数据实现Redis的主从备份、读写分离、双写一致。实测一个省数
据的查询速度由10s降低到3s。
4. 负责通过Arthas或者日志,线上排查堆、栈内情况、GC情况、并且调节参数,远程解决客户环境线上
出现的相关问题。设计实现JMX+E-chars监控服务器的性能、状态、配置的可视化图表展现模块。
5. 为了提高服务之间消息传递速度,负责优化服务间RPC通信方式,通过引入RxJava实现消息异步发
送、并发发送,实测服务间通信时间优化40%。
6. 负责编写公共工具,整合PDFBox至框架,定制了自己的通用操作模板,简化繁琐的使用过程继承,大
幅提升了项目开发效率。
7. 为了解决消息队列代码冗余,维护升级RabbitMQ模块,通过自定义注解优化了MQ开发流程,设置死
信队列+定时任务解决单网元时候消息的堆积、过期