使用LVS集群架设高可扩展的网络服务

  • 1,686 views
Uploaded on

2009年在系统架构师大会上讲的

2009年在系统架构师大会上讲的

More in: Technology
  • Full Name Full Name Comment goes here.
    Are you sure you want to
    Your message goes here
  • 请问章老师,34 页提到的1U双机负载均衡器是宝德双子星系列-PR1760TN吧?
    Are you sure you want to
    Your message goes here
No Downloads

Views

Total Views
1,686
On Slideshare
0
From Embeds
0
Number of Embeds
0

Actions

Shares
Downloads
96
Comments
1
Likes
13

Embeds 0

No embeds

Report content

Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
    No notes for slide

Transcript

  • 1. 使用LVS集群架设高可 扩展的网络服务 章文嵩 LVS开源项目2009系统架构师大会 Page 1
  • 2. 议程  引言  LVS集群技术  使用LVS架设可扩展的网络服务  LVS用户和评价  LVS硬件平台  小结2009系统架构师大会 Page 2
  • 3. Internet  Internet的飞速发展  网络流量迅猛增长(90年代每年100% 、00到08每年 60~90%、未来4年的CAGR 40%)  越来越多的关键性业务在网上开展  很多网站收到前所未有的工作负载  Google每天处理几亿搜索请求  Yahoo! 每天收到34亿次的网页访问(2007.10)  视频分享网站  社交网络网站等等  Slashdot / Digg等效应2009系统架构师大会 Page 3
  • 4. 架设网络服务的需求  渐进的可扩展性(Incremental scalability)  24x7的可用性( 24x7 availability)  可管理性(Manageability)  价格有效性(Cost-effectiveness)2009系统架构师大会 Page 4
  • 5. 可能的解决方案  单服务升级  升级过程复杂、成本高、单一故障点  服务器集群 ---- 架设网络服务的有效结构  集群系统的冗余性 --- 高可用性  分而治之 --- 高性能、高吞吐率  结点数目可以动态调整 --- 高可扩展性  高性能/价格比2009系统架构师大会 Page 5
  • 6. 议程  引言  LVS集群技术  使用LVS架设可扩展的网络服务  LVS用户和评价  LVS硬件平台  小结2009系统架构师大会 Page 6
  • 7. Linux Virtual Server 集群项目  Linux虚拟服务器项目的目标  提供一个基本的框架,使用一组高性价比的 商品化服务器建立高可扩展的、高可用的网 络服务  Linux虚拟服务器项目于1998年5月创建  http://www.LinuxVirtualServer.org/2009系统架构师大会 Page 7
  • 8. LVS集群的软件框架2009系统架构师大会 Page 8
  • 9. IP Virtual Server  在Linux内核中实现  三种IP负载均衡技术  通过网络地址转换实现虚拟服务器  通过IP隧道实现虚拟服务器  通过直接路由实现虚拟服务器  十种负载调度算法  支持IPv4和IPv6 IPVS是先进的第四层交换系统2009系统架构师大会 Page 9
  • 10. 网络地址转换(NAT)方式2009系统架构师大会 Page 10
  • 11. IP隧道方式2009系统架构师大会 Page 11
  • 12. 直接路由方式2009系统架构师大会 Page 12
  • 13. 负载调度  内核中的连接调度算法  Round-Robin Scheduling  Weighted Round-Robin Scheduling  Least-Connection Scheduling  Weighted Least-Connection Scheduling  Locality-Based Least-Connection Scheduling  LBLC with Replication Scheduling  Source Hashing Scheduling  Destination Hashing Scheduling  Shortest Expected Delay  Never Queue2009系统架构师大会 Page 13
  • 14. 负载调度  动态反馈负载均衡算法2009系统架构师大会 Page 14
  • 15. 集群调度器的状态同步  连接状态同步线程(内核线程)  UDP 多目广播2009系统架构师大会 Page 15
  • 16. KTCPVS - 内核中七层交换  内核线程  多个可加载的调度模块2009系统架构师大会 Page 16
  • 17. 议程  引言  LVS集群技术  使用LVS架设可扩展的网络服务  LVS用户和评价  LVS硬件平台  小结2009系统架构师大会 Page 17
  • 18. 通用的负载均衡服务架构  负载均衡网络服 务的三层架构  Load balancer  Server cluster  Shared storage2009系统架构师大会 Page 18
  • 19. 架设模块  Load balancer  四层交换, 七层交换  Server  HTTP, HTTPS, FTP, SMTP, POP3, IMAP4, 大多数TCP和UDP网络服务  Shared storage  数据库、数据库集群系统、网络文件系统、 分布式网络文件系统、 ...2009系统架构师大会 Page 19
  • 20. 系统的高可用性  Server failover  ping, service detection, etc  Load balancer failover  state synchronization  heartbeat2009系统架构师大会 Page 20
  • 21. Web集群2009系统架构师大会 Page 21
  • 22. Cache集群2009系统架构师大会 Page 22
  • 23. 邮件集群2009系统架构师大会 Page 23
  • 24. Media集群  Real Media Service  Windows Media Service  QuicktimeM edia Service  Flash Media Server2009系统架构师大会 Page 24
  • 25. Media集群(续)  小规模的media集群系统  5~7 media服务器结点  基于Linux的NAS存储 (CIFS/NFS, 日志文件 系统, 高达几个TBytes存储容量)  大规模的media集群系统  10+ media服务器结点  光纤通道存储2009系统架构师大会 Page 25
  • 26. DNS集群2009系统架构师大会 Page 26
  • 27. MySQL集群 LVS Picture taken from MySQL web site2009系统架构师大会 Page 27
  • 28. Building SNS using LVS Scalable Network Service Global Load Balancing Cache Cache Cache Cache Edge Cluster Cluster Cluster Cluster Web Web Web Application Cluster Cluster Cluster Memcached Memcached Memory Cache File File Storage Database Database Storage Storage Cluster Cluster Cluster Cluster2009系统架构师大会 Page 28
  • 29. 议程  引言  LVS集群技术  使用LVS架设可扩展的网络服务  LVS用户和评价  LVS硬件平台  小结2009系统架构师大会 Page 29
  • 30. 一些用LVS集群的大型站点  腾讯、百度、新浪、网易、搜狐、携程、 酷6、优酷等等  abc.com  real.com  sourceforge.net & linux.com  UK National JANET Web Cache  empas.com  EDS.com  Dell.com2009系统架构师大会 Page 30
  • 31. LVS用户的评价  “ We tried virtually all of the commercial load balancers, LVS beats them all for reliability, cost, manageability, you-name-it” Jerry Glomph Black, Director, Internet & Technical Operations, Real Networks, Seattle Washington, USA http://marc.theaimsgroup.com/?1=linux-virtual-server&m=95385809030794&w=2  “I can say without a doubt that lvs toasts F5/BigIP solutions, at least in our real world implementations. I wouldn’t trade a good lvs box for a Cisco Local Director either” Drew Streib, Information Architect, VA Linux Systems, USA http://marc.theaimsgroup.com/?1=linux-virtual-server&m=95385694529750&w=22009系统架构师大会 Page 31
  • 32. 议程  引言  LVS集群技术  使用LVS架设可扩展的网络服务  LVS用户和评价  LVS硬件平台  小结2009系统架构师大会 Page 32
  • 33. LVS硬件平台  任何跑Linux的硬件平台都可以运行LVS  LVS的负载均衡和报文转发对CPU速度要 求低  可以用低功耗的硬件平台运行LVS  Intel ATOM CPU 1.6GHz, 功耗2~3W  Gigabit Ethernet2009系统架构师大会 Page 33
  • 34. LVS硬件平台 1U双机负载均衡器2009系统架构师大会 Page 34
  • 35. LVS硬件平台 万兆负载均衡器  万兆网卡,如Intel 10G Ethernet Adapter  基于multi-core Intel® Xeon处理器的系 统,如2个双核64bit Xeon系统或者四核 Xeon的系统  多队列(Multiqueue)的支持2009系统架构师大会 Page 35
  • 36. 议程  引言  LVS集群技术  使用LVS架设可扩展的网络服务  LVS用户和评价  LVS硬件平台  小结2009系统架构师大会 Page 36
  • 37. LVS的特点  LVS扩展了Linux内核来支持三种负载均衡技术  十种负载调度算法  高可扩展性 (可支持高达100个结点)  高可用性  支持大多数TCP和UDP网络服务,不需要对客 户端和服务器作代码修改  IPVS代码已经被收录到官方的 Linux内核2.4和 2.6中  支持IPv6 (Linux kernel 2.6)2009系统架构师大会 Page 37
  • 38. 与其他商品化产品的比较  更多的IP 负载均衡技术  多种负载调度算法  调度器间的状态同步  一个稳定可靠的代码库,一个很大的用户 群  稳定性在真实世界的大型应用中得以证明2009系统架构师大会 Page 38
  • 39. 行动起来吧!  组建高可扩展的网络服务是挺复杂的,也 是花费高昂的  LVS可以使得这项工作变得容易起来  LVS已经被证明非常稳定,也被越来越多 站点和系统部署2009系统架构师大会 Page 39
  • 40. 相关信息  The Linux Virtual Server Project (http://www.LinuxVirtualServer.org)  wensong@linux-vs.org2009系统架构师大会 Page 40
  • 41. Q & A Thanks!2009系统架构师大会 Page 41