设计高性能业务时,可以借鉴以下几个方法:
1.系统能够比较好的水平扩展
2.要有比较好的系统监控,这里包括分布式系统调用链监控,类似阿里的eagle eye
3.当系统中某个接口比较慢时,需要利用监控整理出调用链,发现哪个环节慢,然后进行优化
4.系统应用间调用尽量同机房
5.减少网络调用
6.减少数据库调用,能用缓存就用缓存
7.事务这块,少用分布式事务,因为分布式事务中tm量大是瓶颈,且二阶段事务,准备阶段这部分调用会多很多网络调用。可以参考tcc,即业务发起方作为事务协调者,先做try,所有业务直接做。当然其中会发生不一致,由补偿线程保证。
8.服务化后,n个服务系统连接数据库,每个服务系统都创建一个数据库的连接池。这时数据库会成为瓶颈。看数据库是否能够逻辑拆分。
9.JVM堆,栈大小优化,垃圾回收优化