一、改版原因:
1.数据结构混乱,对外输出结构不明确
2.代码结构不规范、项目没有分层
3.缓存数据缺乏维护
4.数据处理、项目运行情况缺乏监控,找问题难
5.页面操作不友好
6.项目不稳定,很难进一步扩展业务和加入新思路
二、处理方案
1.重建人工打标签表结构
考虑人工打标签存在数据量大,查询次数不多,插入速度缓慢。用关系型数据库作为
磁盘数据源,编写按规律分表的多工具类
2.业务分离(7个小模块或项目)
(1)数据库交互层
(2)策略引擎
(3)数据反馈层,供外部接口调用,和数据处理反馈包含订阅功能
(4)数据录入管理、数据生成依据
(5)部分数据的定时处理
(6)前台页面
(7)监控 数据运行情况统计、数据异常报警、检测
3.技术实现:
交互通用技术:数据传输(dubbo或jmi,mq)、maven、通用util jar包
(1)数据库交互层
mysql、mybatis、jpa数据处理通用接口、
(2)策略引擎
redis、多线程、运算逻辑
(3)数据反馈层,供外部接口调用,和数据处理反馈包含订阅功能
过滤器、监听器、逻辑处理
(4)数据录入管理、数据生成依据
逻辑处理
(5)部分数据的定时处理
mq、quartz
(6)前台页面
Jqgrid、bootstrap css、ztree、jquery
(7)监控
用户信息、redis、logstash、quartz、
(8)用户访问机制
Shiro、监听过滤、签名
运维技术:两台机器集群热备