很多人曾问过我,什么是高可用,你对高可用的理解是什么样子的,往往我会反问三个问题∶
1、高可用 = 100%可用 ?
2、高可用= 真可用?
3、高可用的"可用"受众体是谁?你是否也做到了让所有人都喜欢你?
其实上面三个问题,是我们对高可用的一个初步思考。我对这三个问题的看法如下∶
如果所有服务、配置、环境、环节等等都100%可用了,那一定是高可用,或者你称之为全可用,我也举双手赞成,但是这压根就是个伪命题,我相信这个世界上没有做不到的事,但是这个世界上真的所有的事都能在百分百的掌控中吗? 你所能掌控的其实都只是基于你认知的掌控,你做的再完美,也无法掌控你认知之外的事。所以没有人可以做的"全可用",哪怕只是单点的"全可用"。
这个时候可能有人要怼我∶"那xxx家的xxx 系统,2020年全年无岩机,可用性100%",兄弟,别急,先思考下你们两表述的"岩机"是不是站在同一世界的"宕机",另外牢记"幸存者偏差"这个词,一会我们再来好好探讨这个问题。
所以:个人观点∶高可用 ≠ 100%可用
这个问题其实特别的有意思,我们先聊聊什么是"真可用",见名知意,所谓的"真可用"其实就是真正的可用。例如问题1所说的100%可用,指的就是100%"真"可用,是指站在任何维度、任何细节上看都是100%可用。这里借用《佛典》中的一句话"一花一世界,一叶一菩提",任何一个很小的点,都孕育了无数个微观世界和可观赏维度,不论在哪个细节点上去追求极致的"真可用",其实就是佛家所说的"着相",会入魔的。
故而 高可用 ≠ 真可用,永远不要花99.99%的精力和财力去追求0.01%的极致,哪怕你把0.01的点深挖出来更庞大的体系,这也是非常危险的行为,因为有可能"着相"了。互联网时代,我们该纠结的是怎么提升效率,怎么拿0.01%的精力和财力,去实现99.9%的业务价值,我们真正的衣食父母是业务。
ps∶本篇文章,我就不展开讲高可用是啥,和怎么衡量与实现,我会在后续的文章中陆续分享出来。有句话叫"自古深情留不住,向来套路得人心",高可用其实类似古时候的"奇门遁甲"一—"你所看到的, 都只是我想让你看到的",我们所研究的"高可用"本质就是玄学+奇门遁甲,本质上跟麻衣神相、寻龙分金没啥区别,换句话说就是"江湖骗子"、成则孔明,败则骗子,哈哈哈,所以我们的口号是∶踏踏实实做人,老老实实"行骗"。(ps∶玩笑而已,人无信不立,我们都要本本分分做人,踏踏实实做事,玄学分五行八卦、两仪四象,其实高可用亦分三维六脉)
这其实是个很尖锐的问题,就像我们永远无法做到让所有人都喜欢一样,我们也永远无法做到真正的一碗水端平,所以取舍再所难免,那么在取舍中,就必须要明白直接干系人是谁,需求与伪需求,风险的管控、级别的定义等等。
因此,对于Iaas高可用的受众是基础设施使用者,对于paas高可用的受众是依赖paas能力的研发人员,对于saas/faas高可用的受众很可能就是市场客户。所以对于我们当前站在什么位置,这个位置面对的高可用受众是谁,一定要有清晰的认识,不要试图让所有人说你好,因为你要付出的代价可能是你无法预估的,结果往往可能比你预期的更糟。
曾经我接到过这样一个产品需求∶"在地下室无网的情况下,要保证我们的商城app可以正常的使用和下单"。
我吐槽过这个需求很多年,直到我开始深入研究高可用之后,我学会了沉默,不管是缓存银弹、异步队列还是静默重试,我们不都是借用工具、手段、策略去保障受众群体的正常使用嘛,那站在产品的角度提出这样的需求又何错之有。归根结底是客户需求与产品体验、商业价值与成本的矛盾之间的博弈关系,技术只是实现商业价值的手段,在技术领域没有什么是绝对做不到的,无非是这样的场景、这样的时间下对这样的受众群体来说价值的大小,而这个价值的大小是需要站在商业价值和公司发展的视角下去考量的。
高可用 ≈ 特定时间+特定场景+特定受众+特定视角下的100%"伪"可用
后续文章更加精彩...转载请标明出处,谢谢!
附言:
从2015年毕业开始,到此刻整整7个年头,从安卓App、Framework、Java、中间件、高可用、容器化、云原生、Devops一路折腾过来,最终发现技术其实并不是我想要的路,想起当初一位前辈曾跟我说过,当初选择技术是因为技术薪资高,而现在还做技术是因为只会技术了。很庆幸在2022年这个疫情频发、互联网降温、资本寒冬、裁员潮不断的特殊年份里,找到了自己该去的路,想明白了自己想要成为什么样的人,一路过来,也在不断的思考自己想成为什么样的人, 想要什么样的生活,还记得我加入阿里的第一周,我在内网发了一篇帖子,大致内容是:“我不知道我将来要过什么样的生活,去哪个城市做什么工作,我只是知道我自己不想要什么,我不想要那种循规蹈矩,安安分分,平平淡淡的日子,不想要那种一眼就可以看到死的生活。”,所以很遗憾在2021年的年底,在所有人不理解,只有媳妇支持我的情况下,毅然选择在带完2021年双11大促后,离开了曾欣然向往的阿里,开始了自己的逐梦之旅。也很庆幸在2021年底遇见了我当下的企业和老板,今天是入职的第8个月零1天,我个人有个习惯,喜欢每年去反思一下,刚过去的一年我成长了多少,是否还在自己规划的路上鼎力前行,当我回看2022这半年多,我发现这大半年的成长,的确很大,虽然前行的途中也遇到了很多的苦恼、不解和曲折,不过依旧没有改变的是----所有你遇到的都是最好的安排。
曾经心心念念的想出一本高可用方向的书,所以很多的想法、观点、实践都没有对外发布过(只限于工作交流、还有私下的一些好友会),可能也正是这次的年中复盘,彻底的想明白了自己想要的是什么,即使真的花时间去写了一本属于自己、属于我和Roy(在高可用方向上从0-1的最佳拍档,在此也非常感谢Roy在无数个夜晚听我倾诉未来规划,一直鼓励支持着我)的高可用的书,无非是对自己曾经2年多的高可用方向研究画上个句号罢了,那并不是我想要去的路,所以索性借着许久不曾更新的博客,分享一下高可用方向上的一些心得和方法论吧。
最后,愿岁月无尘、现世安好!