云服务器价格_云数据库_云主机【优惠】最新活动-搜集站云资讯

域名注册_上海建设安全协会网站_哪个好

小七 141 0

帮助构建Cloudflare,第3部分:大胆、多样性和变革

这是一个由六部分组成的系列文章的第三部分,基于我在意大利特伦托的一次演讲。从头开始在这里。之后云出血,很多事情都变了。我们开始远离内存不安全的语言,如C和C++(现在有更多的去生锈)。任何机器上的每一次SIGABRT或崩溃都会给我发一封电子邮件,给负责的团队发一条消息。我不让团队把这些问题留给溃烂。制造1.1.1.1 Cloudbleed是个糟糕的时期。让我们谈谈美好的时光。我们的公共DNS解析程序1.1.1.1的发布。这次发射是一个重要的Cloudflare质量的故事:大胆。谷歌早在几年前就推出了8.8.8.8版本,并在一个公共DNS解析程序的市场上一鸣惊人。他们的地址很容易记住,他们的服务很快。但我们认为我们可以做得更好。我们认为我们可以更快,我们认为我们可以更难忘。Matthew要求我们获得地址1.1.1.1,并在几个月内启动一个安全的、隐私保护的公共DNS解析程序。哦,而且比其他人都快。我们做到了。我们这样做的部分原因是我们与世界各地不同群体建立了良好的关系。我们做到这一点的方法是始终如一地对待我们的经营方式,并雇用有着既定关系的人。这在一定程度上是一个关于多样性如何重要的故事。如果我们是那种歧视老工程师的人,那么很多Cloudflare就不会建成了。稍后我将回到多元化和包容性的话题上。通过人际关系和分享,我们得到了1.1.1.1的地址。通过我们的架构,我们能够成为最快的。多年来,我们一直在说Cloudflare是为互联网上的每个人准备的。每个人,任何地方。我们把钱花在了我们的嘴上,在全世界建立了165个数据中心。我们的目标是与每一个使用互联网的人保持在10毫秒之内,当你在任何地方时,你很容易成为最快的人。或者至少如果你有一个可以快速更新软件并在任何地方运行的架构,这是很容易的。Cloudflare在全球的每台机器上运行一个软件栈。与我们的竞争对手相比,这种架构带来了巨大的差异,使我们能够快速、廉价地进行扩展。Lee Holloway(该公司的原始架构师)与一个小团队合作,构建了一个基于开源组件(如Postgres和NGINX)的服务,该服务有一个用于缓存的软件栈WAF,DDoS抵御和其他功能。它被一个分布式键值存储绑定在一起,以便在几秒钟内将配置发送到我们在世界各地的每台机器。在Postgres中有一个大型的客户数据库和大量的PHP来创建公共数据库cloudflare.com网站尽管我们不断地改变我们的软件,这种架构仍然存在。在Cloudflare早期,我认为网络中应该有一些特殊的机器来执行特殊的任务(比如DDoS缓解)。事实上,我想建造那些机器,因为从技术上讲,开发这种大型、复杂、低延迟的软件是非常令人兴奋的。但是李和马修告诉我我错了:一个简单的建筑可以更容易地扩展。我们已经扩展到25Tbps的网络容量,每台机器都在做每一件事。所以,让架构正确,并确保您的构建是出于正确的原因。一旦你可以像这样缩放,添加1.1.1.1就很容易了。我们把这个软件推广到每台机器上,经过测试并公之于众。一夜之间,它就成了最快的公共DNS解析程序,现在仍然如此。它的大部分内容都被重写了。我们已经抛弃了马修·普林斯早期用PHP编写的所有代码,我们已经开始抛弃我用Lua和Go编写的代码。这是很自然的,如果你回头看你五年前写的代码,你觉得它仍然适合你的目的,那么你要么在愚弄自己,要么不去发展。‌增长的代价是重写似乎软件使用中的每一个数量级的变化都需要重写。遗憾的是,你不能从最终的代码库和最终的体系结构开始,但现实是,为今天的挑战构建所需的软件太难了,所以你不用担心明天。当您的服务增长10倍时,很难预测您实际需要什么。而且,该软件的规模已经扩大到数千或数百万的客户。每个都有少量的记录。这是因为我们典型的客户是一家小型企业或拥有博客的个人。我们是为数以百万计的人而建的,后来出现了一家公司,它拥有一个拥有数百万子域的单一域名。我们的软件马上就坏了。它的设计并不是为了应付这种特殊的客户,所以,我们必须立即建立一个创可贴,并开始重新设计处理DNS记录的软件。我可以给你讲10个类似的故事。但教训是清楚的:你不知道在前面会期待什么,所以继续前进直到你到达那里。但要做好迅速改变的准备。帮助构建Cloudflare第1部分:我是如何在这里工作的第2部分:最困难的两周第3部分:大胆、多样性和变革(你在这里)第4部分:公众参与第5部分:人:发现、培养和学习让Go第6部分:Cloudflare的首席技术官做什么?