乔新亮的 CTO 成长复盘
乔新亮
彩食鲜副总裁兼 CTO、前苏宁科技集团副总裁、TGO 鲲鹏会荣誉导师
9321 人已学习
立即订阅
登录后,你可以任选2讲全文学习
推荐试读
换一换
01 | 职业生涯发展规划:每五年登上一个新台阶
02 | 到底该怎么理解工作与薪资的关系?
07 | 管理者最重要的三个任务(一):组织调整到位
课程目录
已完结/共 29 讲
开篇词 (1讲)
开篇词 | 削弱运气的价值
对个人认知的复盘 (6讲)
01 | 职业生涯发展规划:每五年登上一个新台阶
02 | 到底该怎么理解工作与薪资的关系?
03 | 看透本质:研发出了生产事故,到底要不要罚钱?
加餐(一)| 大学毕业,我要不要留在一线城市互联网公司?
加餐(二) | 工作遇到不懂的问题:何时可以求助,如何正确提问?
加餐(三)| 选择决定上限,努力决定下限
对管理工作的复盘 (10讲)
07 | 管理者最重要的三个任务(一):组织调整到位
08 | 管理者最重要的三个任务(二):加强组织协同效率
09 | 管理者最重要的三个任务(三):激发团队活力
10 | 管理的人性哲学:金刚之怒,菩萨慈悲
11 | 全局思维和持续完善体系的建立,让团队持续成长
12 | 管理战略上的聚焦和放弃:有舍才有得
13 | 风险管理:世界是脆弱的,持续管理风险非常重要
14 | 需求做不完,应该怎么办?(初/中级管理者篇)
15 | 需求做不完,应该怎么办?(高级管理者篇)
加餐(一) | 如何通过演讲分享,打造自己的影响力?
对专业成长的复盘 (10讲)
17 | 架构决策,是技术管理者最重要的能力
18 | 架构设计,专业分工和协作精神的体现
19 | 产品思维,契约精神是基础,洞察人性才能成就卓越
20 | 高可用设计,让产品没有后顾之忧
21 | 高性能设计,一切都围绕着契约精神
22 | 扩展性设计,看透业务的本质
23 | 考虑限制,让自己的产品不入险地
24 | 监控设计,让一切都有迹可循,尽在掌控
25 | 异常设计,让错误无处遁形
26 | 上云设计,融合云计算的未来
结束语 (1讲)
结束语 | 做时间的朋友
编辑手记 (1讲)
编辑手记 | 我被老乔洗脑了
乔新亮的 CTO 成长复盘
15
15
1.0x
00:00/00:00
登录|注册
开通超级会员可免费学习本课程,还可解锁海量内容免费学特权。

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

你好,我是乔新亮。这一讲,我想和你聊聊,关于高可用设计的那些事儿。
一提起高可用设计,很多同学立刻就会想到“冗余设计”、“故障转移”等关键词。确实,在大部分与高可用相关的分享里,这两个词往往会被重点强调。
所谓“冗余设计”,是指要通过集群来替代单点服务,做好冗余备份。单点架构是高可用的大敌,“把鸡蛋放在不同的篮子里”是高可用最朴实、最有效的设计思路之一;“故障转移”则是为了缩短故障时间,保证故障发生时,业务可以快速恢复。
如果你对高可用设计了解得更多,可能还会给出如 “CAP 理论”、“异地多活”、“双机架构”一样的更多概念,并且详细解释应用方法。
像这样面对问题,能立刻在大脑知识地图中检索并给出应对举措或方案,是一个优秀的特质,能帮助你通过许多高难度面试。但不知你有没有想过,为何自己在面试中对答如流,在实际工作中却仍然会遇见许多高可用难题呢?为什么还是无法主导一家大型企业整体架构的高可用设计呢?
问题或许是多方面的,比如企业现阶段的发展状况特殊,缺乏实战机会,导致个人资历不够;或者相关部门不太配合,组织人员能力差,代码 Bug 太多,让你一想就气不打一处来……
以上原因都有可能,也都客观存在于很多公司。但我认为,最重要的原因是,缺乏对高可用设计自顶向下的、比较通透的理解和认知,因而在实践中常常迷失在技术细节里,难以窥见架构的全貌。
确认放弃笔记?
放弃后所记笔记将不保留。
新功能上线,你的历史笔记已初始化为私密笔记,是否一键批量公开?
批量公开的笔记不会为你同步至部落
公开
同步至部落
取消
完成
0/1000字
划线
笔记
复制
01 | 职业生涯发展规划:每五年登上一个新台阶
02 | 到底该怎么理解工作与薪资的关系?
07 | 管理者最重要的三个任务(一):组织调整到位
08 | 管理者最重要的三个任务(二):加强组织协同效率
18 | 架构设计,专业分工和协作精神的体现
23 | 考虑限制,让自己的产品不入险地
开通超级会员免费畅看本课程
开通会员
该文章仅可免费阅读部分内容,如需阅读完整文章,请开通超级会员或单独购买本课程。
登录 后留言

精选留言(16)

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

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

    2020-12-09
    2
    24
  • glutton
    每天上班的例子,真是太好了,贴切又联系生活,很好理解。

    高可用不等于高可靠。
    高可用的本质是冗余设计,实例级、机房级、城市级等等;代码逻辑的bug,通过灰度、沙箱、预发布等多环境验证;如果是稳定元素突发事件,那就认命,接纳自己,这个认知也是无比的正确啊。
    学以致用,知行合一,方能化为己用。

    认知!认知!认知!整个课程,也在反复讲认知,正确的认知,不单单是对技术工作有帮助,也是我们世界观的基础,希望后续还是多讲认知相关的内容,平时也看书啥的,但是没有乔老师讲的这么精辟。

    目前公司就是业务连续性高于一切,对于业务连续性,我的一点思考是,业务连续性指:线上业务不间断提供服务;并持续交付新业务。

    最后,我看彩食鲜在招人,也有base北京的,去面的话,可能聊到您不?

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

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

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

    2021-02-15
    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
    讲的非常好,超值的课程!

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

    2020-12-09
    1
  • tadakey
    家离公司6公里,每天早上步行1小时上班,路上正好听乔老师两节课。获益匪浅,去年第一次听,还是一名研发工程师,半年多过去,成为一线研发团队管理者,再回来听,又有了很多新的体会。感谢乔老师!
    2021-10-13
    1
  • 大师兄
    非常有价值的课,多次刷,结合项目开展起来。

    作者回复: 你好,大师兄

    谢谢,加油,祝工作更上一层楼。

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

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

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

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

    2021-03-18
  • adang
    这节内容我第一时间想到了"风险意识",吴军老师在得到专栏里有一节专门讲了风险意识,生活中风险意识薄弱小到可能经济受损大到可能危及生命,做系统设计也一样,有了风险意识才会思考防御手段和措施。

    作者回复: 你好,adang
    第一要有设计;第二,为失败设计。
    高可用和后面的风险管理是由密切关系的。

    2021-02-19
  • 许凯
    利用可监控、要素的存量和连接关系中的调节回路提高系统的可用性。

    作者回复: 你好,许凯
    谢谢分享

    2021-02-08
  • JianXu
    乔老师,我说一下我的体会吧,这么多年下来我觉得除非形成文化,不然真的要把一件事情最好需要一把手的持续关注,高可用也是如此,不然一把手嘴上说高可用实际不停的逼新功能开发,最后也很难落地。还有您说的慢就是快,我是吃了苦头才有深刻体会的,不少项目我们事后修bug , 更消耗精力的修复bug 产生的脏数据,这些后期投入已经超过我们先期省下来的强化系统的时间了。最后,我想分享一下我今年年初的时候总结的两篇有关高可用,高性能,高可靠的博客,是我对自己在云计算这么多年出了那么多事故的一个总结:

    上篇: https://mp.weixin.qq.com/s/bnhXGD7UhwTxL8fpddzAuw

    下篇:https://mp.weixin.qq.com/s/Xyvfx9mLKqquulnrhFi42Q

    我最近还在思考一个问题,就是早年学开车的时候看过一个叫防御性驾驶的视频,那是一个保命视频。于是我就在想在我们的编码阶段,是不是也要搞一个“防御性编程”,用来兜底。这个我还在整理中,我希望自己能在2021年上半年完成相关系统事故的整理和定稿。

    作者回复: 你好, JianXu
    感谢分享,你说的,其实就是design for failure的设计思想。

    2020-12-27
  • 剑八
    高可用就是出现异常时业务能不中断
    可能是备案

    作者回复: 你好,剑八
    业务连续性,系统可以出问题,业务不能出问题,业务要连续,也就是你说的不中断。

    2020-12-10
  • spark
    高可用是系统弹性能力和余量问题。系统有弹性和余量才能抗风险。人和系统一样,有时候比的是谁有弹性和余量,单讲具体能力大家都差不多。

    作者回复: 你好,spark
    在局部能力差不多的情况下,就要拼资源,是这样的。所以在商场竞争中有时候资本的力量很厉害也是同样的道理。

    2020-12-09
收起评论
16
返回
顶部