一、要不要读写分离
数据库读写分离能减轻数据库的压力,从而提高应用整体性能。
但我个人觉得,数据库首先应该保证的是高可用,数据对任何企业来说都是最宝贵的财富。
因此,数据库主备应该比读写分离优先级更高。况且,现在缓存服务已经很普遍了,如果用redis和memcached能解决的,何必再搞读写分离?
二、性能优化从基础做起
1.多线程性能调优
2.JVM性能调优
3.Web容器性能调优
4.数据库性能调优
三、数据库拆分
数据库垂直拆分相对简单,根据业务相似度拆分同在一个库里面的表,程序修改数据源配置。数据表水平拆分比较麻烦,要根据什么规则拆分,拆分后能否满足未来N年的增长需求,都是要考虑的。并且表水平切分后,大大增加了程序开发的复杂度,不到万不得已不使用水平切分。