大规模网站架构-19楼小濠

大规模网站架构-19楼小濠

ID:15359282

大小:1.19 MB

页数:61页

时间:2018-08-02

大规模网站架构-19楼小濠_第1页
大规模网站架构-19楼小濠_第2页
大规模网站架构-19楼小濠_第3页
大规模网站架构-19楼小濠_第4页
大规模网站架构-19楼小濠_第5页
资源描述:

《大规模网站架构-19楼小濠》由会员上传分享,免费在线阅读,更多相关内容在学术论文-天天文库

1、大规模网站架构19楼—小濠XH0507@VIP.QQ.COM互联网营销资料库垂柳社区编辑www.Chuiliu.com垂柳资料库当前容量:2350G(2013.6)•PHP–facebook,yahoo•Java–taobao,163•Python–google•.NET–MySpace语言不是可伸缩性的关键,架构才是关键网站架构的目标•高可用性(HighAvailability)•可伸缩性(Scalability)•高性能(HighPerformance)事务传统的事务(ACID)•原子性(Atomicity)•一致性(Consistency)•隔离性(Isolation)•持久性

2、(Durability)CAP原则•Consistency一致性•Availability可用性•PartitionTolerance分区耐受性•在任意时刻,只有两项能同时成立•不要浪费精力可能突破上面限制可用性一致性分区耐受性新的事务策略-BASE策略•避免分布式事务–基本可用(BasicallyAvailable)–软状态(Softstate)–选择最终一致(Eventuallyconsistent)数据库读写分离MySQLProxy(数据库读写分离)•loadbalancing•failover•queryanalysis•R/WSplitting数据库Shard•水平分区•垂

3、直分区ShardingvsPartitionShardingPartition存储依赖可跨越DB可跨越表空间,不同的物可跨越物理机器理属性不能跨DB存储存储方式分布式集中式扩展性ScaleOut(横向扩展,增加便宜设备)ScaleUp(升级设备)可用性无单点存在单点(DB数据本身)价格低廉适中,甚至昂贵应用场景web2.0网站多数传统应用垂直分区userAppDALblog水平分区user33%AppDALuser33%user34%水平分区DAL(数据访问层)•对应用透明的使用数据库的水平分区及垂直分区DALProxy(实现1)user应用DAL服务器userDALAPI(实现2)

4、user应用DALuser两种实现方式•独立的DALProxy服务器–MySQL:Amoeba–PostgreSQL:PL/Proxy(Skype)•DALAPI–Java:HibernateShard,IbatisShard,HiveDB–Python:Pyshardsshard改变数据库设计•尽量避免join•数据冗余/反范式数据冗余forshard•shardbefore–comment(id,blog_id,content)•shardafter–comment(id,blog_id,content,user_id)数据分区策略•水平分区–2*N(如定单,购买者与网店各一份)

5、–N/n(按日期或ID范围分区)–hash(N)%n(按hash分)–查找表•垂直分区–按功能分(论坛,博客)消息队列(MessageQueue)•程序解耦•隔离•消息的可靠传输(物理存储中转消息)MQMQAC消息总线应用场景•耗时操作–邮件发送/短消息发送•日志•程序解耦(A挂了,但B继续可以使用)MQ产品•开源–RabbitMQ(Erlang)–ActiveMQ(JAVA)•商业–IBMMQ–WebLogicMQ回顾CAP及BASE可用性一致性分区容忍性负载均衡•DNS负载均衡•反向代理负载均衡•直接路由•......failoverDNS负载均衡•简单•缺少灵活性(DNS缓存)

6、D:pythonDjango-1.1.1>nslookupwww.163.comServer:rdev1.rdev.kingsoft.netAddress:10.20.18.10Non-authoritativeanswer:Name:www.cache.gslb.netease.comAddresses:220.181.28.54,220.181.28.212,220.181.28.50,220.181.28.51Aliases:www.163.com反向代理负载均衡•负载均衡软件–nginx–HAProxy–apachehttpd–LVS(网络第四层工作)–F5(硬件,四层/

7、七层)LinuxVirtualServer(LVS)网络地址转换(NAT):VS-NATIP隧道方式:VS-TUN直接路由方式:VS-DR其它工作模式•VirtualServerviaNAT(VS-NAT)–用地址翻译实现虚拟服务器。地址转换器有能被外界访问到的合法IP地址,它修改来自专有网络的流出包的地址。外界看起来包是来自地址转换器本身,当外界包送到转换器时,它能判断出应该将包送到内部网的哪个节点。优点是节省IP地址,能对内部进行伪装;缺点是效率低,因

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。