知识卡片
用银行储蓄机制类比混合云资源共享池的核心设计思想
内容
微博混合云平台DCP的核心设计思路借鉴了银行的运作机制:储户把钱存进银行,日常并不会一次性把所有存款都提领出来使用,银行可以把这部分暂时闲置的资金拿去做投资;只有在储户真正需要用钱时,才提领一部分,其余部分继续留在银行体系里流转。微博把这套逻辑复刻到了计算资源管理上:内部设立一个运算资源共享池,各个业务线平时不需要满负荷占用自己申请到的全部资源,暂时闲置的资源可以放进这个共享池被其他业务临时借用;同时在共享池之外再接入外部公有云,作为共享池本身也扛不住时的额外弹性来源。这个类比揭示了资源池化设计的一个本质:任何一个足够大的用户/业务群体,其资源需求几乎不可能同时达到峰值——银行敢做储蓄业务是因为不是所有储户会在同一时刻集中取现,微博敢做资源共享池是因为公司内上百条业务线的流量高峰时间点天然是分散的(有的业务高峰在晚上10点到11点,有的在中午),这种”峰值错峰”的统计规律,是支撑资源池化能够在不增加总资源规模的前提下、显著提升整体利用率的根本原因。这个思路对任何管理一批数量众多、需求有波动性的资源(不局限于计算资源,也包括人力、设备、带宽等)的场景都有参考价值:与其让每个使用方都按自己设想的峰值去独立储备资源(对应到银行场景就是”每个储户都把现金锁在自己家里以防万一”),不如建立一个共享池、让暂时闲置的资源可以被临时调配给真正需要的一方,只要使用方的峰值时间点足够分散,共享池就能用远小于”所有人峰值需求之和”的总资源规模,支撑起整体的弹性需求。
参考来源
- 位置:《高可用架构(第1卷)》第4章《容器与云计算》"4.5 微博基于Docker的混合云平台设计与实践"节,"4.5.2 三大基础设施助力微博混合云"(源文件:_epub-src/OEBPS/Text/Chapter4_5_3.xhtml)
- 结论依据:原文说明"微博Docker Container平台的混合云核心设计思想,主要是借鉴银行的运作机制:民众可以把钱存在银行,而需要使用金钱的时候,只需要提领一部分,剩余的存款可由银行拿去进行投资……微博则借鉴银行的这套运作模式,除了在内部设立一个运算资源共享池外,还导入了外部公有云",直接支撑本卡片结论。
- 原始内容:微博Docker Container平台的混合云核心设计思想,主要是借鉴银行的运作机制:民众可以把钱存在银行,而需要使用金钱的时候,只需要提领一部分,剩余的存款可由银行拿去进行投资。而微博则借鉴银行的这套运作模式,除了在内部设立一个运算资源共享池外,还导入了外部公有云。