大型网站架构设计系列-我的总结如下:
1、 数据结构和产品架构设计,这是基础!
2、 角色分开,各司其职(web服务器,缓存服务器,负载平衡,数据库等)
3、 HTML静态化(用缓存服务器也可)
4、 图片服务器分离,且使用lighttpd等轻量级服务器
5、 数据库集群和库表散列
6、 缓存。
a)架构方面的缓存
,对Apache比较熟悉的人都能知道Apache提供了自己的mod_proxy缓存模块,也可以使用外加的Squid进行缓存,这两种方式均可以有效的提高Apache的访问响应能力。
b)网站程序开发方面的缓存,Linux上提供的Memcached是常用的缓存方案,不少web编程语言都提供memcache访问接口,php、 perl、c和java都有,可以在web开发中使用,可以实时或者Cron的把数据、对象等内容进行缓存,策略非常灵活。一些大型社区使用了这样的架构。各种语言基本都有自己的缓存模块和方法。
7、 镜像。有很多专业的现成的解决架构和产品可选。也有廉价的通过软件实现的思路,比如Linux上的rsync等工具。(多个服务器,youtube就是用rsync同步的)
8、 负载均衡。
a) 硬件四层交换。比如Alteon、F5等,这些产品很昂贵,但是物有所值,能够提供非常优秀的性能和很灵活的管理能力。
b) 软件四层交换
。可以使用Linux上常用的LVS来解决,LVS就是Linux Virtual Server,他提供了基于心跳线heartbeat的实时灾难应对解决方案,
提高系统的鲁棒性,同时可供了灵活的虚拟VIP配置和管理功能,可以同时满足多种应用需求,这对于分布式的系统来说必不可少
c) 一个典型的使用负载均衡的策略就是,在软件或者硬件四层交换的基础上搭建squid集群
,这种思路在很多大型网站包括搜索引擎上被采用,这样的架构低成本、高性能还有很强的扩张性,随时往架构里面增减节点都非常容易。
9、常用方式。前层的反向代理加速—Web Server—Cache Server—DB
。而负载均衡的方式也使用了如DNS轮循或部分硬件负载均衡设备来承担大流量.(DIY也未尝不可,一台1U的IA32硬件设备, 板子需要是为fw,switch设计的, 使用FreeBSD?作系统, 主要是FS和slab的改写会是技术活)。做Web 加速和代理的软件如Lighttpd, Nginx,HAproxy
.(可以不用考虑了,配置不好,不能很好的表现)压缩工具BMDiff 和 Zippy(google就用了这两种技术,主要用于压缩网页数据,压缩比达到10:1——估计是存档数据,不是运算数据)
10、 选择ISP注意其地区带宽分布是否平衡一致;区域DNS是否优化等
11、 其他:
a) 缓存,包括CND还是比较昂贵的,在确定缓存时要根据不同内容的访问频度进行划分,特别是注意观察缓存的命中率,如果不能达到50%以上就有问题了
b)log是所有性能调试的起点,从development log到production log,从rails log到web server log,不同的log有不同的侧重点,学会分析log,每个log都可能为你提供解决问题的蛛丝马迹。另外,要熟练使用benchmark结合log做 profiling,当real time远大于db time + rendering time的时候,这点尤其重要。
分享到:
相关推荐
1-知识结构.png1-知识结构.png1-知识结构.png1-知识结构.png1-知识结构.png1-知识结构.png1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统架构师1-知识结构.png软考:系统...
软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-架构-1.png软考高级:10-...
大型网站技术架构:核心原理与案例分析-李智慧.pdf大型网站技术架构:核心原理与案例分析-李智慧.pdf
IMT-2020(5G)推进组于2013年2月由我国工业和信息化部、国家发展和改革委员会、科学技术部联合推动成立,组织架构基于原IMT-Advanced推进组,是聚合移动通信领域产学研用力量、推动第五代移动通信技术研究、开展国际...
高软-系统架构设计师-考点整理 高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高软-系统架构设计师-考点整理高...
电子书:构筑大语言模型应用-应用开发与架构设计 ----- 毕业设计,课程设计,项目源码均经过助教老师测试,运行无误,欢迎下载交流 ----- 下载后请首先打开README.md文件(如有),某些链接可能需要魔法打开。 -----...
传媒与互联网:新经济系列报告2--女性经济篇:解锁“她经济”.pdf
| :----: | :-----: | :--: | :---: | :---: | :---: | :-------: | :---: | :----: | :---: | | Spring | MyBatis | Solr | Dubbo | Netty | Kafka | Zookeeper | Nginx | Tomcat | Redis | ## Java - JAVA基础 ...
电子行业RISCV:异构IoT时代全新架构-3-西南证券-43页.pdf
JAVA-ACE-架构师系列视频课程- RocketMQ(下)订单实战视频课程 适用人群: 高级java工程师、java架构师 共23课时共9小时33分钟更新时间:2017-04-05 课程目标 RocketMQ(下)订单实战主要讲解rmq的分布式实战项目...
IMT-2020(5G)推进组于2013年2月由我国工业和信息化部、国家发展和改革委员会、科学技术部联合推动成立,组织架构基于原IMT-Advanced推进组,是聚合移动通信领域产学研用力量、推动第五代移动通信技术研究、开展国际...
深度学习:从理解到设计--以初中数学学科为例.pdf
计算机行业新基建系列之二:金融基础架构篇-0309-中信建投-24页.pdf
云计算:体系架构与关键技术-图文.doc
本书讨论了大型网站的演化过程,大型网站架构设计可以借鉴和遵循的模式。大型网站架构设计的核心要素以及使大型网站满足这些要素的实现方案。是各位技术人员立志成为架构师不可多得的好书。开卷绝对有益!
大规模分布式存储系统:原理解析与架构实战-书签扫描PDF版
深入理解Nginx:模块开发与架构解析-陶辉 pdf
大型网站技术架构:核心原理与案例分析 本书作者是阿里巴巴网站构建的亲历者,拥有核心技术部门的一线工作经验,直接体验了大型网站构建与发展过程中的种种生与死,蜕与变,见证了一个网站架构从幼稚走向成熟稳定的...
海外系列研究之二:变革与反击----欧洲传统汽车强国电动化一触即发.pdf