首页 > Web开发 > 详细

大型网站技术架构(二)模式和核心

时间:2015-10-05 02:04:13      阅读:295      评论:0      收藏:0      [点我收藏+]

一 模式?
分层?
应用、服务、数据。就是业务的水平切分。?

分割?
不同业务模块独立。业务的垂直切分。?

分布式?
应用,计算,存储?

集群?

缓存?
本地缓存、分布式缓存、反向代理、CDN(注意:不光可以做缓存,也有加速的功能)?

异步?
需要使用Q,改造业务来支撑。?
可以提高系统可用性,加快网站相应速度,消除并发访问高峰。?

冗余?
冷备、热备、灾备?

自动化?
自动部署,自动化测试,自动代码管理,自动安全检测,分布式配置管理,自动化监控,自动化失效转移,自动化失效恢复,自动化降级,自动化资源分配.....?

安全?
不安全,一切都白搭?

二 核心要素?
性能?
google的日PV是35亿,日均IP是3亿。QQ最大在线数1.4亿(2011),从2009到2013,0.5、9.36、52、191、350,“双十一”交易额狂涨.?
响应时间、并发数、吞吐量(TPS,QPS,HPS)、操作系统负载?
性能测试(最佳运行点)、负载测试(最大负载点)、压力测试(系统崩溃点)、稳定性测试?
前端优化、应用优化、存储优化?
可用性?
7×24,?
提供服务时间:99%,网站年度不可用时间小于88小时?
提供服务时间:99.9%,小于9小时?
提供服务时间:99.99%,小于53分钟?
提供服务时间:99.999%,小于5分钟
?
应用:失效转移(负载均衡)、session共享?
服务:分级管理、超时设置、异步调用、服务降级、幂等性设计?
数据:CAP原理、一致性(强、用户、最终)、备份、失效转移?
软件保证:发布(飞行中的飞机更换引擎)、自动化测试、预发布验证、自动化发布(火车发布模型)、灰度发布
监控:用户行为日志、服务器日志、客户端行为日志、性能日志、报警、失效转移、自动降级?
伸缩性?
定义:?
指系统能够通过增加(减少)自身资源规模的方式增强(减少)自己计算处理事务的能力。如果这种增减是成比例的,就被称作现性伸缩性。在网站架构中,通常指利用集群的方式增加服务器数量、提高系统的整体事务吞吐能力。?
架构:不同功能进行物理分离、单一功能通过集群规模?
应用:?
负载均衡1)HTTP重定向负载均衡;2)DNS域名解析负载均衡;3)反向代理负载均衡;4)IP负载均衡;5)数据链路层负载均衡;?
负载均衡算法:轮询(Round Robin)、加权轮询、随机、最少连接、源地址散列(IP_HASH)?
缓存:一致性HASH + 虚拟节点?
关系数据库:proxy、读写分离?
NOSQL数据库:HBase?

扩展性?
定义:?
指对现有系统影响最小的情况下,系统功能可持续扩展或提升能力。表现在系统基础设施稳定不需要经常变更,应用之间较少耦合,对需求变更可以敏捷响应。它是架构设计层面的开闭原则。架构设计考虑未来功能扩展,当系统增加新功能时,不需要对现有系统的结构和代码进行修改。?
分布式消息队列?
分布式服务?
可扩展的数据结构:NoSQL?
开放平台?

安全

大型网站技术架构(二)模式和核心

原文:http://bobohenda.iteye.com/blog/2247233

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!