高并发实时重计算系统优化

126 阅读1分钟

系统特点:

CPU密集型(千亿级/s计算量)

IO密集型(10w+qps I/O查询)

优化目标: 

高吞吐(资源有限制下的高吞吐),高性能(ms级响应性能)

高吞吐:

流式化

请求访问采用多次复用的流式化:1、有一定实时性 2、充分利用资源

异步化

密集紧张资源的调用异步化:如重计算(计算占用CPU资源较多)异步化,I/O调用异步化

高性能:

资源缓存

政策体本地缓存,存在I/O瓶颈(redis流量:单实例4.3Gbs),redis查政策体响应时间由100ms降至40ms

计算优化

1、计算顺序:调整计算流程各属性优先级,如能决定最终计算结果的重要流程优先计算,减少不必要计算

2、请求预过滤:调用方能从业务数据上提前过滤掉无效请求/结果固定,提前进行预过滤,不进入计算流程

3、数据预剪枝:重计算通常是由于各计算数据量级叉乘带来(10w10w=>100w),可以根据一些业务特征做数据剪枝.提前剪枝了80%数据A, 80%的数据B->那么整体数据量级(2w2w=>2w),最终带来98%的计算量优化,收益很大

4、数据索引:计算过程中使用不经常改变数据进行结构化索引设置,索引key具有一定区分度且与计算主key相关联,value多为使用的中间计算结果