最难问题

机关视图报表

问题描述

1、机关视图报表,分为4个图表区域,前台调用4次接口才能显示完整的页面

2、学习记录表、考试记录表,数据量均超过30w,在代码层进行数据处理效率不高

3、多个地区部、代表处同时进行数据汇聚,调用接口直接报超时

4、查询机关视图统计数据,需要调用多个外部微服务接口查询地区部、代表处关联字段等信息,比较耗时

解决方案

1、实现方案设计,采用“先汇聚,后查询”策略

系统每天10:05清空历史汇聚数据,汇聚新的统计数据到地区部、代表处数据表,汇聚逻辑在SQL层实现

2、汇聚采用异步方式,提升汇聚效率

采用@Asyn注解,配合线程池技术,实现多个地区部、代表处同时进行数据汇聚

3、汇聚过程中调用多个其他微服务接口时,采用CountDownLatch实现

提升调用外部微服务接口效率

4、采用1个接口返回4个图表区域数据,减少前台接口调用次数

查询接口性能提升了4倍

修复物理多租微服务引擎的证书和密钥文件替换问题单

cse-engine-manager工程大量使用vert.x异步编程,一开始对vert.x异步编程语法有点陌生,修复问题单感觉无从下手,后来在CSDN、博客园找了几篇深入理解vert.x的文章,通过几个例子掌握了compose链式调用的语法,改了代码之后,在测试环境验证了物理多租微服务各功能接口正常,及时完成了问题单修复

浙ICP备11005866号-12