大规模网站架构介绍_第1页
大规模网站架构介绍_第2页
大规模网站架构介绍_第3页
大规模网站架构介绍_第4页
大规模网站架构介绍_第5页
已阅读5页,还剩53页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、大规模网站架构email: yuanzhenhua.startPHPfacebook,yahooJavataobao,163Pythongoogle.NETMySpace语言不是可伸伸缩性的的关键,架构才是关键键网站架构构的目标标高可用性性(HighAvailability)可伸缩性性(Scalability)高性能(HighPerformance)事务传统的事事务(ACID)原子性(Atomicity)一致性(Consistency)隔离性(Isolation)持久性(Durability)CAP原原则Consistency 一致致性Availability可可用性PartitionTole

2、rance分分区耐受性在任意时时刻,只只有两项项能同时时成立不要浪费费精力可可能突破破上面限限制可用性一致性分区耐受受性新的事务务策略-BASE策略略避免分布布式事务务基本可用用(BasicallyAvailable)软状态(Softstate)选择最终一致致(Eventuallyconsistent)数据库读读写分离离MySQLProxy(数数据库读读写分离离)load balancingfailoverqueryanalysisR/WSplitting数据库Shard水平分区区垂直分区区ShardingvsPartition垂直分区区userblogAppDAL水平分区区user 33%u

3、ser 33%AppDALuser 34%水平分区区DAL(数据访访问层)对应用透透明的使使用数据据库的水水平分区区及垂直直分区DALProxy(实现1)应用DAL服服务器器useruserDALAPI(实现现2)应用DALuseruser两种实现现方式独立的DALProxy服服务器MySQL:AmoebaPostgreSQL:PL/Proxy(Skype)DALAPIJava:HibernateShard,Ibatis Shard,HiveDBPython: Pyshardsshard改变变数据库库设计尽量避免免join数据冗余余/反范范式数据冗余余 forshardshardbeforec

4、omment(id,blog_id,content)shardaftercomment(id,blog_id,content,user_id)数据分区区策略水平分区区2 *N(如定单单,购买买者与网网店各一一份)N /n(按日期或或ID范围分区区)hash(N) %n(按hash分)查找表垂直分区区按功能分分(论坛,博博客)消息队列列(MessageQueue)程序解耦耦隔离消息的可可靠传输输(物理理存储中中转消息息)ACBMQMQ消息总线线应用场景景耗时操作作邮件发送送/短消息发发送日志程序解耦耦(A挂了,但但B继续可以以使用)MQ产品品开源RabbitMQ(Erlang)ActiveMQ(

5、JAVA)商业IBMMQWebLogicMQ回顾CAP及BASE可用性一致性分区容忍忍性负载均衡衡DNS负负载均衡衡反向代理理负载均均衡直接路由由.failoverDNS负负载均衡衡简单缺少灵活活性(DNS缓缓存)反向代理理负载均均衡负载均衡衡软件nginxHAProxyapachehttpdLVS(网络第四四层工作作)F5(硬件,四四层/七层)LinuxVirtual Server(LVS)网络地址址转换(NAT):VS-NATIP隧道道方式:VS-TUN直接路由由方式:VS-DR其它工作作模式Virtual ServerviaNAT(VS-NAT)用地址翻翻译实现现虚拟服服务器。地址转转换

6、器有有能被外外界访问问到的合合法IP地址,它它修改来来自专有有网络的的流出包包的地址址。外界界看起来来包是来来自地址址转换器器本身,当外界界包送到到转换器器时,它它能判断断出应该该将包送送到内部部网的哪哪个节点点。优点点是节省省IP地址,能能对内部部进行伪伪装;缺缺点是效效率低,因为返返回给请请求方的的流量经经过转换换器。Virtual ServerviaIPTunneling(VS-TUN)用IP隧道技术术实现虚虚拟服务务器。这这种方式式是在集集群的节节点不在在同一个个网段时时可用的的转发机机制,是是将IP包封装在在其他网网络流量量中的方方法。为为了安全全的考虑虑,应该该使用隧隧道技术术中的

7、VPN,也可使使用租用用专线。 集群群所能提提供的服服务是基基于TCP/IP的Web服务、Mail服务、News服务、DNS服务、Proxy服务器等等等Virtual ServerviaDirect Routing(VS-DR)用直接路路由技术术实现虚虚拟服务务器。当当参与集集群的计计算机和和作为控控制管理理的计算算机在同同一个网网段时可可以用此此法,控控制管理理的计算算机接收收到请求求包时直直接送到到参与集集群的节节点。优优点是返返回给客客户的流流量不经经过控制制主机,速度快快开销少少。高可用性性使用双机机热备故障时切切换至备备份机工具(Linux-HA)heartbeat缓存让数据更更靠近

8、用用户本地缓存存节点有状状态,状状态更新新需要同同步至其其它服务务器可以使用用组播方方式通知知数据改改变需要通知知的服务务器过多多会存在在性能问问题比远程缓缓存更高高性能慎用,不不具备可可伸缩性性ShareNothingArchitecture无共享架架构数据缓存存(memchched)动态内容容缓存浏览器缓缓存数据缓存存分布式memchched基本满足足大部分分性能要要求动态内容容缓存页面片段段缓存静态化内内容反向代理理缓存squid巨巨无霸Varnish反向代理理缓存Varnish 缓存存tomcatNginx负载载均衡静态资源源分离img,js,css使用单单独的服服务器处处理请求求ap

9、achehttpdtomcat浏览器静态资源源静态资源源动态请求求动态请求求动态请示示动态请示示现实网站站图片存存储分析析http:/img3.cache.http:/http:/http:/图片服务务器的域域名不同同多台机器器保存相相同的图图片(img3,img2子域名)同一页面面不同图图片随机机生成不不同的子子域名进进行负载载均衡CDN?ContentDeliveryNetwork浏览器优优化节省带宽宽:js,css的静态gzip压缩http header:Content-Encoding:gzip浏览器缓缓存http header:Etag,Last-Modified小图片,css,js合并js混淆淆工具Sessioncookie(强烈推推荐)集中式session memcached(推推荐)session复制(过多服服务器复复制存在在性能问问题)分布式文文件系统统MogileFSAutomaticfilereplicationNosinglepointoffailure自动化总结CAP原则BASE策略异步(MessageQueue)数据库数据的水水平切分分及垂直直切分数据库读读写分离离避免分布布式事务务

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论