也谈[关于大型网站技术演进的思考--存储的瓶颈]
一大早看到各大技术网站转载了这篇文章,本菜鸟也对大型分布式网站的性能优化比较感兴趣,就总结了一下博主的文章,也欢迎大家板砖,交流...
1. 关于分布式session stick 问题,可以把session放在额外的存储里,如memcache,或者做持久化,推荐前者
2. 做单点登录,专门用一台服务器负责身份认证或授权以及job的分发与管理,然后做重定向到worker机(兼有负载均衡的功能)
3. 关于主从数据库问题,定期把data porting或者sync到从数据库中,warm data 放在主数据库中,cold data放在从数据库中. 此外,可以建立分区表(分为垂直分区和水平分区,水平分区使用较为广泛)
4.除了基本的对RDBMS做索引维护sql调优(尽量避免全表扫描),还可以使用nosql来代替sql,因为有天然的聚集索引
5.使用乐观并发代替悲观并发,并建立cache机制(读写比大于10:1就可以考虑cache,但是要避免滥用),尽量减少数据库访问,在sql server中有cache dependency
6.数据库读写分离(需要考虑同步时间差的问题)
7.增加数据库的吞吐量及硬件优化(这个属于傻笨黑粗的办法)
8.使用CDN,把一些静态资源放在CDN节点上
未完待续,欢迎板砖...