乔新亮的 CTO 成长复盘
乔新亮
彩食鲜副总裁兼 CTO、前苏宁科技集团副总裁、TGO 鲲鹏会荣誉导师
24236 人已学习
新⼈⾸单¥59
登录后,你可以任选2讲全文学习
课程目录
已完结/共 29 讲
开篇词 (1讲)
结束语 (1讲)
编辑手记 (1讲)
乔新亮的 CTO 成长复盘
15
15
1.0x
00:00/00:00
登录|注册

20 | 高可用设计,让产品没有后顾之忧

监控和处理系统异常
严格检查各个环境下的异常
可以回滚
发布不影响业务
记录发布和变化
保证业务正常响应
保证业务连续性
分布式
集群
trade-off
架构决策
业务的连续性
实现所有元素、连接的高可用
模块间协作
应用模块拆解
终身成长
学以致用
Design For Failure
提高系统抗风险能力
版本发布管理
变化是敌人
熔断服务
降级服务
冗余设计
企业架构设计
元素和连接
架构设计
双机架构
异地多活
CAP 理论
故障转移
冗余设计
结语
高可用,不只是个“设计问题”
解剖高可用设计
高可用设计概述
高可用设计

该思维导图由 AI 生成,仅供参考

你好,我是乔新亮。这一讲,我想和你聊聊,关于高可用设计的那些事儿。
一提起高可用设计,很多同学立刻就会想到“冗余设计”、“故障转移”等关键词。确实,在大部分与高可用相关的分享里,这两个词往往会被重点强调。
所谓“冗余设计”,是指要通过集群来替代单点服务,做好冗余备份。单点架构是高可用的大敌,“把鸡蛋放在不同的篮子里”是高可用最朴实、最有效的设计思路之一;“故障转移”则是为了缩短故障时间,保证故障发生时,业务可以快速恢复。
如果你对高可用设计了解得更多,可能还会给出如 “CAP 理论”、“异地多活”、“双机架构”一样的更多概念,并且详细解释应用方法。
像这样面对问题,能立刻在大脑知识地图中检索并给出应对举措或方案,是一个优秀的特质,能帮助你通过许多高难度面试。但不知你有没有想过,为何自己在面试中对答如流,在实际工作中却仍然会遇见许多高可用难题呢?为什么还是无法主导一家大型企业整体架构的高可用设计呢?
问题或许是多方面的,比如企业现阶段的发展状况特殊,缺乏实战机会,导致个人资历不够;或者相关部门不太配合,组织人员能力差,代码 Bug 太多,让你一想就气不打一处来……
以上原因都有可能,也都客观存在于很多公司。但我认为,最重要的原因是,缺乏对高可用设计自顶向下的、比较通透的理解和认知,因而在实践中常常迷失在技术细节里,难以窥见架构的全貌。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/2000
荧光笔
直线
曲线
笔记
复制
AI
  • 深入了解
  • 翻译
    • 英语
    • 中文简体
    • 中文繁体
    • 法语
    • 德语
    • 日语
    • 韩语
    • 俄语
    • 西班牙语
    • 阿拉伯语
  • 解释
  • 总结

本文深入探讨了高可用设计的重要性和实现方法。作者以生动的例子和实用的解决方案全面阐述了高可用设计的重要性和实现方法。文章强调了高可用设计的敌人是“变化”,并提出了“trade-off”理念,强调在不完美中寻找完美。针对资源不足的情况,文章提出了降级服务和熔断服务的解决方案,以优先保证高可用,其次保证高可靠。此外,文章还强调了对于核心服务的重点关注和管理。总的来说,本文内容丰富,适合对高可用设计感兴趣的技术人员阅读。

仅可试看部分内容,如需阅读全部内容,请付费购买文章所属专栏
《乔新亮的 CTO 成长复盘》
新⼈⾸单¥59
立即购买
登录 后留言

全部留言(18)

  • 最新
  • 精选
  • huaxiaofeng
    人体就是一个高可用的系统,人的很多器官有两个及以上(冗余设计),少了一个,人体还能够正常的工作,还能继续生活,每个器官也有不同的等级,就好比服务治理中的,核心服务,和非核心服务,核心服务不能挂,挂了就会影响到整个业务,就好比人的心脏,如果停止工作,那整个人就挂了,但是断了一只手,人还是能够生活(服务降级),架构设计可以参考生物学中的很多概念。

    作者回复: 你好, huaxiaofeng 这个比喻太好了,真棒

    2020-12-09
    2
    36
  • 老张
    限流降级熔断,应用高可用的三板斧。 缓存升配扩容,应用高性能的三板斧。 多机异地灾备,机器高可用的三板斧。

    作者回复: 你好,老张 好文采

    2021-02-15
    18
  • glutton
    每天上班的例子,真是太好了,贴切又联系生活,很好理解。 高可用不等于高可靠。 高可用的本质是冗余设计,实例级、机房级、城市级等等;代码逻辑的bug,通过灰度、沙箱、预发布等多环境验证;如果是稳定元素突发事件,那就认命,接纳自己,这个认知也是无比的正确啊。 学以致用,知行合一,方能化为己用。 认知!认知!认知!整个课程,也在反复讲认知,正确的认知,不单单是对技术工作有帮助,也是我们世界观的基础,希望后续还是多讲认知相关的内容,平时也看书啥的,但是没有乔老师讲的这么精辟。 目前公司就是业务连续性高于一切,对于业务连续性,我的一点思考是,业务连续性指:线上业务不间断提供服务;并持续交付新业务。 最后,我看彩食鲜在招人,也有base北京的,去面的话,可能聊到您不?

    作者回复: 你好,glutton 可以啊,大家认知一致,做事简单,欢迎加入,你可以留下联系方式,我来联系你。

    2020-12-09
    2
    8
  • 技术修行者
    非常同意下面的观点: 1. 高可用就是保证业务连续性。 2. 高可用不等于高可靠,高可用会有很多trade-off。 3. 高可用的实现,需要架构自顶向下的进行思考,只单独考虑某个功能或者模块的高可用,并不能保证整个业务链路的高可用。 4. Design for failure很重要,不能服务降级或者熔断的服务风险太大了。

    作者回复: 你好,李潘 总结的特别好

    2020-12-09
    3
  • Geek_4c2596
    乔老师将高并发,高可用,高扩展做了非常深刻而精炼的提炼,直达问题本质。这些本质的认知就如同内功心法,必须得融汇贯通才不至于落入了解一大堆方法,工具但还是做不好架构设计;也不是熟读内功心法就能无招胜有招,而是经过不断的实践,练习之后的闲手拈来不着痕迹。

    作者回复: 你好,Geek_4c2596 都是实战经验总结,没有一点虚头八脑的东西,简单实用,都是触及问题本质的内容。 感谢认可,加油!

    2021-01-14
    1
  • Demon.Lee
    重点:学以致用,学以致用,否则学了也是白学。从小学到大学,没用过的是不是都还给老师了?太真实。

    作者回复: 你好,Demon.Lee 哈哈,加油

    2020-12-11
    1
  • 椿
    讲的非常好,超值的课程!

    作者回复: 你好,😚 46 谢谢

    2020-12-09
    1
  • 大师兄
    非常有价值的课,多次刷,结合项目开展起来。

    作者回复: 你好,大师兄 谢谢,加油,祝工作更上一层楼。

    2021-05-06
  • ubuntuMax
    高可用必须要保证业务可用,这点是全文关键点。其次,对于不完美去接受,然后持续改进,这种态度也值得学习。 最后是真的感觉到做技术管理非常不容易,前路漫漫。

    作者回复: 你好,ubuntuMax 不断成长,享受旅途的快乐

    2021-03-20
  • Bravery168
    这章对高可用的解读很赞,有深度。

    作者回复: 你好,Bravery168 感谢,都是实战中的经验总结,当然也包括当年在IBM体系化学习中的内容。

    2021-03-18
收起评论
显示
设置
留言
18
收藏
沉浸
阅读
分享
手机端
快捷键
回顶部