Soumettre la recherche
Mettre en ligne
高可用和可伸缩架构
•
2 j'aime
•
548 vues
LI Daobing
Suivre
高可用和可伸缩架构
Lire moins
Lire la suite
Internet
Signaler
Partager
Signaler
Partager
1 sur 45
Télécharger maintenant
Télécharger pour lire hors ligne
Recommandé
Q con成都主题演讲【弹性计算】by马介悦
Q con成都主题演讲【弹性计算】by马介悦
drewz lin
new thought about using cloud service ~
雲端新思維(Aws)
雲端新思維(Aws)
Josh Chen
雲計算入門 第2課 - 雲計算的特質:為什麼選擇雲計算?網絡管理的挑戰、硬件管理的挑戰、軟件管理的挑戰、流行的雲應用
2. 雲計算特質
2. 雲計算特質
Sunny NG
How to Start a Business at home using a computer and Internet. Easy to start, Least investment, Solid income earning opportunity.
Customers forlifetime-micro-bpo-15-mins
Customers forlifetime-micro-bpo-15-mins
jayanthudar
1.4亿在线背后的故事
1.4亿在线背后的故事
llkk0914
To study the network key point in cloud enable datacenter. It includes network analysis, design and knobs.
Network Design in Cloud-ready IDC
Network Design in Cloud-ready IDC
Kae Hsu
As an active participant in the Apache Pulsar project, China Mobile has a deep accumulation in Pulsar's research and technical capabilities. In this presentation, we will introduce some practical experience of Pulsar and Pulsar Functions in large volume logging systems.
The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asi...
The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asi...
StreamNative
徐晓 Qq空间技术架构之峥嵘岁月
徐晓 Qq空间技术架构之峥嵘岁月
drewz lin
Recommandé
Q con成都主题演讲【弹性计算】by马介悦
Q con成都主题演讲【弹性计算】by马介悦
drewz lin
new thought about using cloud service ~
雲端新思維(Aws)
雲端新思維(Aws)
Josh Chen
雲計算入門 第2課 - 雲計算的特質:為什麼選擇雲計算?網絡管理的挑戰、硬件管理的挑戰、軟件管理的挑戰、流行的雲應用
2. 雲計算特質
2. 雲計算特質
Sunny NG
How to Start a Business at home using a computer and Internet. Easy to start, Least investment, Solid income earning opportunity.
Customers forlifetime-micro-bpo-15-mins
Customers forlifetime-micro-bpo-15-mins
jayanthudar
1.4亿在线背后的故事
1.4亿在线背后的故事
llkk0914
To study the network key point in cloud enable datacenter. It includes network analysis, design and knobs.
Network Design in Cloud-ready IDC
Network Design in Cloud-ready IDC
Kae Hsu
As an active participant in the Apache Pulsar project, China Mobile has a deep accumulation in Pulsar's research and technical capabilities. In this presentation, we will introduce some practical experience of Pulsar and Pulsar Functions in large volume logging systems.
The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asi...
The Practice of Apache Pulsar for Logging in China Mobile - Pulsar Summit Asi...
StreamNative
徐晓 Qq空间技术架构之峥嵘岁月
徐晓 Qq空间技术架构之峥嵘岁月
drewz lin
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
colderboy17
中国互联网运维高峰论坛
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
guiyingshenxia
Introduce QNAP IoT solution with GPU supported model.
QIoT ,QuAI
QIoT ,QuAI
Stacy Cheng
内部分享,仓促之就
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
babel_qi
Dell
Dell
Vishal Goyal
珠三角技术沙龙珠海场2012年2月移动专场(报名) | TechParty:珠三角技术沙龙 http://techparty.org/2012/02/16/zh-panda-mobile/
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
Zoom Quiet
再谈Android推送实现:《千万级并发在线推送系统架构解析》| 个信互动 叶新江 | Android DevCamp 主题简介: 移动短消息是大家所熟知的一种信息推送方式, 基于信令通道的推送在简单信息的体验方面已经被大家所接受。 在目前移动互联网方面,简单的文字推送已经不够满足需要。这也是移动互联网背景下推送系统的发展的机遇。 本主题就千万级并发在线推送系统如何在低成本下,保证推送的时效性、有效性、内容形式的多样性、以及省电省流量等方面进行一个解析和分享。 讲师信息:叶新江,个信互动(北京)网络科技有限公司 高级副总裁,负责公司研发及工程实施,资深高并发分布式系统架构师。曾任 Microsoft MS中国首席架构师,爱立信广州研发中心(Ericsson CGC)高级系统架构师,卓望数码移动梦网研发主管。并有多年银行金融的技术管理经历。
千万级并发在线推送系统架构解析 | 个信互动 叶新江
千万级并发在线推送系统架构解析 | 个信互动 叶新江
imShining @DevCamp
Cnut 容器大会 京东
Cnut 容器大会 京东
Cnut 容器大会 京东
tommy tommy
Nodejs & NAE
Nodejs & NAE
q3boy
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
Wensong Zhang
taobao,cdn,tfs,cache,lvs,分布式,基础设施,淘宝,阿里巴巴,图片存储,海量数据,集群,架构
Taobao base
Taobao base
mysqlops
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
lovingprince58
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
drewz lin
七牛云存储详解
七牛云存储详解
niuer7
首先,简单介绍淘宝网的系统规模和增长速度,以及对软件基础设施带来的挑战;接着,回顾淘宝图片存储与CDN系统的发展历史,如何从商用系统一步一步走到完全自主的系统,描述自主系统的主要架构与设计思想、性能指标和现有的部署规模,并总结一些经验来指导系统研发;然后,描述淘宝在软件基础设施上的规划,并一一阐述当前主要项目的要点与进展状况,这包括TFS、TAIR、千亿级别的分布式表格系统OceanBase、MySQL优化、面向Java环境的专用计算平台、服务器平台、Linux内核定制与优化、组通讯夸父、CDN和低功耗服务器平台等;最后,总结一下软件基础设施研发的原则和经验。
稳定、高效、低碳 -淘宝软件基础设施构建实践
稳定、高效、低碳 -淘宝软件基础设施构建实践
Wensong Zhang
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
drewz lin
03 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 0611
ikewu83
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
又拍网架构中的消息与任务系统,花瓣网与又拍云的消息与任务处理与又拍是共用的。 又拍网:http://yupoo.com 花瓣网:http://huaban.com 又拍云: http://upyun.com
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Dahui Feng
市场营销作业——开源软件营销策略
开源软件营销策略
开源软件营销策略
linhaicaoyuan
好东西是聪明人下苦功夫做出来的
好东西是聪明人下苦功夫做出来的
好东西是聪明人下苦功夫做出来的
LI Daobing
云存储: 三分开发,七分运维
云存储: 三分开发,七分运维
云存储: 三分开发,七分运维
LI Daobing
Contenu connexe
Similaire à 高可用和可伸缩架构
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
colderboy17
中国互联网运维高峰论坛
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
guiyingshenxia
Introduce QNAP IoT solution with GPU supported model.
QIoT ,QuAI
QIoT ,QuAI
Stacy Cheng
内部分享,仓促之就
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
babel_qi
Dell
Dell
Vishal Goyal
珠三角技术沙龙珠海场2012年2月移动专场(报名) | TechParty:珠三角技术沙龙 http://techparty.org/2012/02/16/zh-panda-mobile/
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
Zoom Quiet
再谈Android推送实现:《千万级并发在线推送系统架构解析》| 个信互动 叶新江 | Android DevCamp 主题简介: 移动短消息是大家所熟知的一种信息推送方式, 基于信令通道的推送在简单信息的体验方面已经被大家所接受。 在目前移动互联网方面,简单的文字推送已经不够满足需要。这也是移动互联网背景下推送系统的发展的机遇。 本主题就千万级并发在线推送系统如何在低成本下,保证推送的时效性、有效性、内容形式的多样性、以及省电省流量等方面进行一个解析和分享。 讲师信息:叶新江,个信互动(北京)网络科技有限公司 高级副总裁,负责公司研发及工程实施,资深高并发分布式系统架构师。曾任 Microsoft MS中国首席架构师,爱立信广州研发中心(Ericsson CGC)高级系统架构师,卓望数码移动梦网研发主管。并有多年银行金融的技术管理经历。
千万级并发在线推送系统架构解析 | 个信互动 叶新江
千万级并发在线推送系统架构解析 | 个信互动 叶新江
imShining @DevCamp
Cnut 容器大会 京东
Cnut 容器大会 京东
Cnut 容器大会 京东
tommy tommy
Nodejs & NAE
Nodejs & NAE
q3boy
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
Wensong Zhang
taobao,cdn,tfs,cache,lvs,分布式,基础设施,淘宝,阿里巴巴,图片存储,海量数据,集群,架构
Taobao base
Taobao base
mysqlops
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
lovingprince58
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
drewz lin
七牛云存储详解
七牛云存储详解
niuer7
首先,简单介绍淘宝网的系统规模和增长速度,以及对软件基础设施带来的挑战;接着,回顾淘宝图片存储与CDN系统的发展历史,如何从商用系统一步一步走到完全自主的系统,描述自主系统的主要架构与设计思想、性能指标和现有的部署规模,并总结一些经验来指导系统研发;然后,描述淘宝在软件基础设施上的规划,并一一阐述当前主要项目的要点与进展状况,这包括TFS、TAIR、千亿级别的分布式表格系统OceanBase、MySQL优化、面向Java环境的专用计算平台、服务器平台、Linux内核定制与优化、组通讯夸父、CDN和低功耗服务器平台等;最后,总结一下软件基础设施研发的原则和经验。
稳定、高效、低碳 -淘宝软件基础设施构建实践
稳定、高效、低碳 -淘宝软件基础设施构建实践
Wensong Zhang
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
drewz lin
03 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 0611
ikewu83
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Joshua Zhu
又拍网架构中的消息与任务系统,花瓣网与又拍云的消息与任务处理与又拍是共用的。 又拍网:http://yupoo.com 花瓣网:http://huaban.com 又拍云: http://upyun.com
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Dahui Feng
市场营销作业——开源软件营销策略
开源软件营销策略
开源软件营销策略
linhaicaoyuan
Similaire à 高可用和可伸缩架构
(20)
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
腾讯 马志强 虚拟化环境下 网络 朋务器 平台的协作经验
QIoT ,QuAI
QIoT ,QuAI
分布式流数据实时计算平台 Iprocess
分布式流数据实时计算平台 Iprocess
Dell
Dell
Zh120226techparty velocity2011-review
Zh120226techparty velocity2011-review
千万级并发在线推送系统架构解析 | 个信互动 叶新江
千万级并发在线推送系统架构解析 | 个信互动 叶新江
Cnut 容器大会 京东
Cnut 容器大会 京东
Nodejs & NAE
Nodejs & NAE
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
Taobao base
Taobao base
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
淘宝软件基础设施构建实践
七牛云存储详解
七牛云存储详解
稳定、高效、低碳 -淘宝软件基础设施构建实践
稳定、高效、低碳 -淘宝软件基础设施构建实践
张松国 腾讯微博架构介绍08
张松国 腾讯微博架构介绍08
03 李实恭-乘云之势以智致远 0611
03 李实恭-乘云之势以智致远 0611
Hacking Nginx at Taobao
Hacking Nginx at Taobao
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
Yupoo! (花瓣网/又拍云) 架构中的消息与任务系统
开源软件营销策略
开源软件营销策略
Plus de LI Daobing
好东西是聪明人下苦功夫做出来的
好东西是聪明人下苦功夫做出来的
好东西是聪明人下苦功夫做出来的
LI Daobing
云存储: 三分开发,七分运维
云存储: 三分开发,七分运维
云存储: 三分开发,七分运维
LI Daobing
分布式存储的元数据设计
分布式存储的元数据设计
分布式存储的元数据设计
LI Daobing
短视频和云存储
短视频和云存储
短视频和云存储
LI Daobing
出了问题不要靠猜
出了问题不要靠猜
出了问题不要靠猜
LI Daobing
如何实现登出按钮
如何实现登出按钮
如何实现登出按钮
LI Daobing
重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务
LI Daobing
从开发到上线 实战持续交付
从开发到上线-实战持续交付
从开发到上线-实战持续交付
LI Daobing
HTTP协议相关的若干安全问题
HTTP协议相关的若干安全问题
LI Daobing
Debian & Packaging
Debian & Packaging
LI Daobing
OAuth: How And Why?
OAuth: How And Why?
LI Daobing
Git 简介
Git 简介
LI Daobing
如何学习Bash Shell
如何学习Bash Shell
LI Daobing
glusterfs 文件系统
glusterfs 文件系统
LI Daobing
Plus de LI Daobing
(14)
好东西是聪明人下苦功夫做出来的
好东西是聪明人下苦功夫做出来的
云存储: 三分开发,七分运维
云存储: 三分开发,七分运维
分布式存储的元数据设计
分布式存储的元数据设计
短视频和云存储
短视频和云存储
出了问题不要靠猜
出了问题不要靠猜
如何实现登出按钮
如何实现登出按钮
重整工具箱-从开源软件到开放服务
重整工具箱-从开源软件到开放服务
从开发到上线-实战持续交付
从开发到上线-实战持续交付
HTTP协议相关的若干安全问题
HTTP协议相关的若干安全问题
Debian & Packaging
Debian & Packaging
OAuth: How And Why?
OAuth: How And Why?
Git 简介
Git 简介
如何学习Bash Shell
如何学习Bash Shell
glusterfs 文件系统
glusterfs 文件系统
高可用和可伸缩架构
1.
⾼高可⽤用和可伸缩架构 李道兵 七⽜牛云存储 2015-03
2.
啥叫⾼高可⽤用?
3.
• 狭义:单台机器当机后⽤用户⽆无感知 • 延伸:
单台设备(主机,⺴⽹网卡,交换机,⺴⽹网线)失效后 ⽤用户⽆无感知、单个服务异常时⽤用户⽆无感知
4.
啥叫可伸缩?
5.
当业务量增⻓长时,可以简单通过加机器布服务来解 决,那么这个服务就是可伸缩的
6.
你想讲啥?
7.
想填⼀一下这张表 ⾼高可⽤用 可伸缩 ⼊入⼝口层 业务层 缓存层 数据库
8.
⼊入⼝口层如何做⾼高可⽤用?
9.
• 使⽤用⼼心跳技术: Keepalived
就提供这个功能 • ⽐比如机器A IP是 1.2.3.4,机器 B 的 IP 是 1.2.3.5, 那 么再申请⼀一个 IP 1.2.3.6(我们称之为⼼心跳IP), 平时绑 定在机器A上⾯面,如果 A 当机,那么 IP 会⾃自动绑定 在机器 B 上边. • DNS层⾯面绑定到⼼心跳IP即可
10.
keepalived 有什么使⽤用限制么?
11.
• 两台机器必须在同⼀一个⺴⽹网段 • 服务监听必须监听所有IP,如果仅仅监听⼼心跳IP,那 么从机上的服务(即不持有⼼心跳IP的机器)会启动失 败 •
服务器利⽤用率下降(混合部署可以改善这⼀一点)
12.
两台机器,两个公⺴⽹网IP,DNS上把域名同时定位到 两个IP,这样算⾼高可⽤用么?
13.
不算,如果⼀一台机器当机,那么就有⼀一半左右的⽤用 户⽆无法访问
14.
业务层如何做⾼高可⽤用?
15.
业务层不要有状态,状态分散到缓存层和数据库。 只要没有状态,业务层的服务死掉后,前⾯面的nginx 会⾃自动把流量打到剩下的服务。
16.
友情提醒:不要因为想让服务端⽆无状态就直接⽤用 cookie session, ⾥里边的坑有点⼤大,考察清楚后再⽤用 ⽐比较好。
17.
缓存层如何做⾼高可⽤用?
18.
缓存层分得细⼀一点,保证单台缓存当机后数据库还 能撑得住即可。 中⼩小规模下缓存层和业务层可以混合部署,这样可 以节省机器。
19.
你这也叫⾼高可⽤用,明明是祸⽔水东引嘛
20.
也有办法,缓存机启⽤用主从两台。 主服务活着的时候,主服务读,主从服务都写。 主服务当机后,从服务升级为主服务。主服务恢复后,变成新的从服务。 这个模式也有不少变种,但⼤大部分都需要两倍的服务器,⽽而且性能下降。
21.
数据库层有什么⾼高可⽤用⼿手段么?
22.
MySQL 有主从模式,还有主主模式都能满⾜足你的需 求。 MongoDB 也有
ReplicaSet 的概念,基本都能满⾜足 ⼤大家的需求。
23.
⼩小结 ⾼高可⽤用 可伸缩 ⼊入⼝口层 ⼼心跳 业务层
服务⽆无状态 缓存层 减⼩小粒度 数据库 主从模式
24.
可伸缩
25.
⼊入⼝口层如何提供伸缩性?这个我知道,直接铺机器, 然后 DNS 加
IP 就可以了吧?
26.
可以,但也有需要注意的地⽅方: 尽管⼀一个域名解析到⼏几⼗十个IP没有问题,但是很多浏览器客 户端只会使⽤用前⾯面⼏几个IP,部分域名供应商对此有优化(⽐比 如每次返回的IP顺序随机),但这个优化效果不稳定。 推荐的做法是使⽤用少量的 nginx 机器作为⼊入⼝口,业务服务器 隐藏在内⺴⽹网(HTTP类型的业务这种⽅方式居多)。另外,也 可以在客户端做⼀一些调度(特别是⾮非
HTTP 型的业务,⽐比如 直播)。
27.
业务层伸缩性如何?
28.
跟应付⾼高可⽤用⼀一样,保证⽆无状态是很好的⼿手段。加 机器继续⽔水平部署即可。
29.
缓存层伸缩性如何?
30.
如果低峰期间数据库能抗住,那么直接下线缓存然 后上新缓存就是最简单有效的办法。
31.
如果扛不住呢?
32.
取决于缓存类型了,可以把缓存分为三类: 1. 强⼀一致性缓存:⽆无法接受从缓存拿到错误的数据 (⽐比如 ⽤用户余额,或者会被下游继续缓存这种情形) 2.
弱⼀一致性缓存: 能接受在⼀一段时间内从缓存拿到错误的 数据 (⽐比如微博的转发数) 3. 不变型缓存: 缓存key对应的value不会变更 (⽐比如从 SHA1 推出来的密码, 或者其他复杂公式的计算结果)
33.
那什么缓存类型伸缩性⽐比较好?
34.
弱⼀一致性和不变型缓存的扩容很⽅方便,⽤用⼀一致性 Hash 即可。 强⼀一致性情况稍微复杂⼀一些。
35.
为什么要⽤用⼀一致性Hash?⽤用简单 Hash 不⾏行么?
36.
如果缓存从 9 台扩容到
10 台,简单 Hash 情况下 90% 的缓存会⻢马上失效,⽽而⼀一致性Hash情况下,只 有 10% 的缓存会失效。
37.
强⼀一致性缓存有什么问题?
38.
1. 缓存客户端的配置更新时间会有微⼩小的差异,在这个 时间窗内有可能会拿到过期的数据。 2. 如果扩容之后裁撤节点,会拿到脏数据。⽐比如
a 这 个key 之前在机器1,扩容后在机器2,数据更新了,但 裁撤节点后key回到机器1,这时候就会有脏数据的问题
39.
有办法解决这个问题么?
40.
要解决问题2⽐比较简单,要么保持永不减少节点,要么节点调整间 隔⼤大于数据的有效时间 问题1可以⽤用如下⽅方法来解决: a. 两套hash配置都更新到客户端,但仍然使⽤用旧配置 b. 逐个客户端改为只有两套hash结果⼀一致的情况下会使⽤用缓存, 其余情况从数据库读,但写⼊入缓存 c.
逐个客户端通知使⽤用新配置
41.
数据库层⾯面如何伸缩?
42.
⽅方法很多,⽂文档也很多,就不细讲了。 1. ⽔水平拆分 2. 垂直拆分 3.
定期滚动
43.
总结 ⾼高可⽤用 可伸缩 ⼊入⼝口层 ⼼心跳
平⾏行部署 业务层 服务⽆无状态 服务⽆无状态 缓存层 减⼩小粒度 ⼀一致性Hash 数据库 主从模式 拆分与滚动
44.
Thanks for your attention
45.
Q&A?
Télécharger maintenant