谷歌失败案例赏析:那些年在微服务上踩的坑(2)
时间:2019-05-19 09:04 来源:百度新闻 作者:巧天工 点击:次
这是一张寒武纪大爆发的图,寒武纪大爆发是进化史上的一个时期,生物多样性迅速,是多种因素共同作用的结果。我今天早上读了维基百科,以确保我引用的事实是正确的。它与氧气的增加有关,钙的增加使得这些生物能够制造它们的壳。那时的许多事情都发生在大致相同的时间,在 2000 万年间,生物多样性的增长非常迅速。 在谷歌也有类似的东西,业务需要构建一个非常大的架构,这个架构需要围绕软件和认为他们可以尝试一些新事物的文化背景而构造。这就导致了在谷歌类似寒武纪大爆发一样的很多基础设施项目的爆发,许多项目现在已经众所周知,如 GFS-Google 被广泛使用的文件系统, BigTable 是 Cassandra 之前的产品,著名的 MapReduce、Borg 是类似于 Kubernetes-ish 的项目。有人可能会因为我这样的观点生气,但它应该很接近真实的情况,也还有一些没有公开但令我印象深刻的项目。 其实不仅这些重要的项目众所周知,他们撰写的论文也使得这些案例在 Google 之外传播开来。这些项目与 Hadoop 项目之间存在一对一的对应关系,并从开源社区推广。但这带来了一个问题,他们引领谷歌的文化走向崇拜这些项目,人们会认为在一些与大型基础设施结构相似的项目上工作真的很酷。这份清单上的所有内容当然都是必要的,Google 也从中受益匪浅。然而谷歌内部的这些货物崇拜导致人们试图模仿这些系统的设计而不去理解为什么选择这些设计。 这些设计在很多方面看起来很像今天的微服务。这就是为什么我们不把它称为微服务,在结构上它们看起来很像微服务。起初想要创造一种可以水平扩展的东西,想要分解像 RPC 服务发现这样的用户级基础设施,但现在“服务网格”中的内容已被考虑到这些巨大的客户端库中,这些库在今天的谷歌被广泛使用,被称为谷歌 3。在谷歌 3 构建一个 Hello World 的二进制文件,它需要消耗 140 兆字节的二进制文件,且只是为了链接这个用户级别的内核。谷歌 3 为了完成所有这些工作而将其考虑在内,后来也转向了一些看起来有点像 CI、CD 的东西。它开始感觉很像微服务了,但是这样做的决定是出于计算机科学的需求,我认为这是今天大多数组织构建微服务的一个有趣的理由。 (责任编辑:波少) |