⾼可⽤和可伸缩架构
李道兵
七⽜云存储
2015-03
啥叫⾼可⽤?
• 狭义:单台机器当机后⽤户⽆感知
• 延伸: 单台设备(主机,⺴卡,交换机,⺴线)失效后
⽤户⽆感知、单个服务异常时⽤户⽆感知
啥叫可伸缩?
当业务量增⻓时,可以简单通过加机器布服务来解
决,那么这个服务就是可伸缩的
你想讲啥?
想填⼀下这张表
⾼可⽤ 可伸缩
⼊⼝层
业务层
缓存层
数据库
⼊⼝层如何做⾼可⽤?
• 使⽤⼼跳技术: Keepalived 就提供这个功能
• ⽐如机器A IP是 ,机器 B 的 IP 是 , 那
么再申请⼀个 IP (我们称之为⼼跳IP), 平时绑
定在机器A上⾯,如果 A 当机,那么 IP 会⾃动绑定
在机器 B 上边.
• DNS层⾯绑定到⼼跳IP即可
keepalived 有什么使⽤限制么?
• 两台机器必须在同⼀个⺴段
• 服务监听必须监听所有IP ,如果仅仅监听⼼跳IP ,那
么从机上的服务(即不持有⼼跳IP的机器)会启动失
败
• 服务器利⽤率下降(混合部署可以改善这⼀点)
两台机器,两个公⺴IP ,DNS上把域名同时定位到
两个IP ,这样算⾼可⽤么?
不算,如果⼀台机器当机,那么就有⼀半左右的⽤
户⽆法访问
业务层如何做⾼可⽤?
业务层不要有状态,状态分散到缓存层和数据库。
只要没有状态,业务层的服务死掉后,前⾯的nginx
会⾃动把流量打到剩下的服务。
友情提醒:不要因为想让服务端⽆状态就直接⽤
cookie session, ⾥边的坑有点⼤,考察清楚后再⽤
⽐较好。
缓存层如何做⾼可⽤?
缓存层分得细⼀点,保证单台缓存当机后数据库还
能撑得住即可。
中⼩规模下缓存层和业务层可以混合部署,这样可
以节省机器。
你这也叫⾼可⽤,明明是祸⽔东引嘛
也有办法,缓存机启⽤主从两台。
主服务活着的时候,主服务读,主从服务都写。
主服务当机后,从服务升级为主服务。主服务恢复后,变成新的从服务。
这个模式也有不少变种,但⼤部分都需要两倍的服务器,⽽且性能下降。
数据库层有什么⾼可⽤⼿段么?
MySQL 有主从模式,还有主主模式都能满⾜你的需
求。
MongoDB 也有 ReplicaSet 的概念,基本都能满⾜
⼤家的需求。
⼩结
⾼可⽤ 可伸缩
⼊⼝层 ⼼跳
业务层 服务⽆状态
缓存层 减⼩粒度
数据库 主从模式
可伸缩
⼊⼝层如何提供伸缩性?这个我知道,直接铺机器,
然后 DNS 加 IP 就可以了吧?
可以,但也有需要注意的地⽅:
尽管⼀个域名解析到⼏⼗个IP没有问题,但是很多浏览器客
户端只会使⽤前⾯⼏个IP ,部分域名供应商对此有优化(⽐
如每次返回的IP顺序随机),但这个优化效果不稳定。
推荐的做法是使⽤少量的 nginx 机器作为⼊⼝,业务服务器
隐藏在内⺴(HTTP类型的业务这种⽅式居多)。另外,也
可以在客户端做⼀些调度(特别是⾮ HTTP 型的业务,⽐如
直播)。
业务层伸缩性如何?
跟应付⾼可⽤⼀样,保证⽆状态是很好的⼿段。加
机器继续⽔平部署即可。
缓存层伸缩性如何?
如果低峰期间数据库能抗住,那么直接下线缓存然
后上新缓存就是最简单有效的办法。
如果扛不住呢?
取决于缓存类型了,可以把缓存分为三类:
1. 强⼀致性缓存:⽆法接受从缓存拿到错误的数据 (⽐如
⽤户余额,或者会被下游继续缓存这种情形)
2. 弱⼀致性缓存: 能接受在⼀段时间内从缓存拿到错误的
数据 (⽐如微博的转发数)
3. 不变型缓存: 缓存key对应的value不会变更 (⽐如从
SHA1 推出来
您可能关注的文档
- 人员选聘技术与实践.pdf
- 企业转制后的成功运作之海外上市及公司治理.pdf
- XX人寿云南分公司五人团队运作.pdf
- 危机公关实践教程.pdf
- 主管晋升体系运作要领—推动晋升.pdf
- XX分公司产说会运作流程.pdf
- 《生产与运作管理》第八章 项目管理.pdf
- 中国平煤神马集团董事会运作研究.pdf
- 生产管理实践.pdf
- 中国私募股权基金的设立丶募集与运作.pdf
- 统编版2025年春季新版七年级下册历史 第21课 明清时期的科技与文化 教案.docx
- 雅安雨城法院书记员招聘考试真题库2025.docx
- 2026届安徽合肥市高考一模高考语文试卷试题(含答案详解).pdf
- 【专题研究】国内外城市更新研究的最新进展.pdf
- 【专题研究】老旧城区改造居民满意度影响因素研究——以遂宁市老旧城区改造为例.pdf
- 【专题研究】关于旧城空间改造理论与创意设计案例的几点思考.pdf
- 西藏拉萨市高三下学期期末物理备考重点详解.docx
- 泾县法院书记员招聘笔试真题2025.pdf
- 2026年春【苏教版】-六年级数学下册-面积的变化.pptx
- 2026年春【苏教版】-六年级数学下册-7.pptx
最近下载
- 英语分级阅读:国家地理《Reading Explorer》A1-A2入门级 REF_unit 1A.pdf VIP
- 社区社会工作教学课件 周沛 易艳阳-第1章 社区概述.pptx VIP
- 急性胰腺炎急诊诊治专家共识(2024).pptx VIP
- 2025年AWS认证SavingsPlans在游戏行业中的应用案例专题试卷及解析.pdf VIP
- FDS火灾模拟软件使用教程.pptx VIP
- 2022版《小学数学新课程标准》的解读与梳理PPT课件.pptx VIP
- 制作一:布绒玩具制作.ppt VIP
- 胃潴留的护理.ppt
- 2026广东省佛山市南海公证处公开招聘公证员助理2人笔试参考题库及答案解析.docx VIP
- 解剖关节学课件.ppt VIP
原创力文档

文档评论(0)