分布式处理问题
1、Session共享
2、主键Id生成
3、数据库的压力:
3.1、分库:当前主库、当前从库和历史库
当前主库:一个月的所有数据,一般不是准确的一个月,当前库最好是保留35天的数据,主要业务数据库,一天200万订单,35天=7000万订单,可以说是亿级别;
当前从库:一个月内的所有数据从库,用于不那么实时性强的数据查询,比例统计,监控等;
历史库:对一个月外的数据进行迁移;
3.2、任务模型
MySQL的表当数据量达到一定量时,后期数量的增加,急速增倍的的耗性能;
比如订单Order表,对于数量大字段复杂的表,操作表很消耗性能,数据又不能删除,那么采用中间任务表,插入订单时同步插入一个任务,再由多线程取任务,根据任务字段的业务表主键orderId取数据就高效很多了,可以把完成的任务删除,保持任务表的字段少、数据量小的特点、并且好建立索引。
3.3、分页数据查询优化,limit 1000000, 20,limit原理,页数越大越耗性能;
3.4、MySQL调优,sql优化
4、nginx负载
5、分布式服务器日志管理ELK
6、jvm调优
7、tomcat apr
8、使用memcached或者redis缓存
9、对账使用MongoDB
10、