大型网站系统规划

数据库

1、读写分离,主库用于写数据,从库用于读数据

2、分库,根据业务内容,将数据分布到不同的库里

3、使用memcached等高速缓存保存查询结果,避免直接读表

4、合理使用hibernate的ehcache

5、事务性操作,比如并发减少库存数,可以使用乐观锁,尽量少用悲观锁

6、优化sql语句

程序结构

1、使用多线程

2、使用并发框架,如Disruptor

3、响应式、事件式开发,如NIO

4、基于消息机制

5、可能用到多数据源

6、可能用分布式事务

负载均衡

最前端可用LVS,分发到多个nginx,nginx再次分发到webserver

相关推荐