从一个问题来映射出架构的优化。问题是:大数据并发执行,你的服务器,网页都须要怎么设计?css
1.服务端使用数据缓存框架,如Memcache,Redis等。html
考虑缓存数据的建立及更新时机。平时工做中的一种方法:对于须要缓存的表,增长updateTime字段,若是字段为空或者更新,则出发缓存数据的更新操做。这个动做能够用一个定时器来跑。ajax
2.能够根据实际需求使用集群。数据库
3.数据库优化。好比:拆库,下降库的数据量;对于大表进行拆表;利用ORM缓存技术,减小对数据库的访问次数;对于须要一次性处理大批量数据,而且有必定逻辑的,能够采用存储过程;读写分离,写入主库,查在从库,作好主从备份等。。。。浏览器
4.将静态资源放到专门服务器,客户端浏览器利用http 304缓存js、css、图片等静态资源。缓存
5.缓存页面,若是数据不常常变更,可生成静态html页面。对于常常变换数据的,能够利用ajax来增长用户友好体验。服务器
6.采用第三方网络加速,如CDN等。网络
7.代码层面的优化,如数据库链接提早释放(把数据一次性取出后,在进行逻辑处理);批量操做等。架构
8.反向代理等技术并发
。。。。。
还有不少不少,而且上面的分类也是本身想到哪里写到哪里,因而可知本人也在网优的路上边学习边研究。
网站架构的整个演变主要围绕大数据和高并发而展开。解决的方案主要是使用缓存和多资源两种类型。多资源:多存储,多CPU,多网络。能够单个资源处理一个请求,也能够多个。