每秒一百万个请求:可靠的动态分布式系统

最近,我习惯告诉人们,建立可靠的服务并不难。如果您给我两个Compute Engine虚拟机,一个Cloud Load Balancer,supervisord和nginx,我可以为您创建一个静态Web服务,该服务将永远有效地为静态网页提供服务。

真正的挑战是构建敏捷,可靠的服务。在软件开发的新世界中,旋转大量机器并将软件推向它们很简单。开发成功的产品必须 包括以可预测的方式响应更改,优雅地处理升级并最大程度地减少用户停机时间的能力。这些元素中的任何一个缺失都会导致 不成功 片状且不可靠的产品。我记得很久以前,每天午夜一个小时左右无法访问网站,这是软件升级的安全窗口。我的银行仍然这样做。真的不酷。

幸运的是,对于开发人员而言,我们的基础架构正在不断发展,同时我们对其提出的要求也不断提高。 Kubernetes的设计是从头开始的,以使其易于设计,开发和部署可满足云原生世界苛刻要求的可靠,动态服务。

为了确切地说明我们的意思,我开发了一个容器引擎集群的简单演示,该集群每秒可处理一百万个HTTP请求。老实说,每秒处理一百万个请求并不是一件令人兴奋的事情。实际上,真的非常非常 2013.

什么 令人兴奋的是,尽管我们成功地以每秒不间断的可用性成功处理了每秒一百万个HTTP请求,但我们让Kubernetes执行了将服务零停机滚动升级到软件的新版本的工作。 当我们  仍然 每秒处理一百万个请求.

这仅是由于大量的性能调整和增强已成为可能。 Kubernetes 1.1版本。我为社区为该版本提供的所有功能感到无比自豪。的确,除了可以每秒处理一百万个请求之外,我们还添加了一个自动缩放器,这样您甚至不必在半夜醒来就可以响应负载来扩展服务或记忆压力。

如果您想在自己的集群上进行尝试(或使用负载测试框架来测试自己的服务), 演示在github上可用。和 完整影片 可用。

我希望我已经向您展示了Kubernetes如何使分布式系统的开发人员能够实现规模化的可靠性和敏捷性,并且一如既往,如果您有兴趣了解更多信息,请继续 kubernetes.io 要么 的github 并与我们的社区联系 松弛 渠道。 

"//www.youtube.com/embed/7TOWLerX0Ps"

  • Brendan Burns,Google公司高级软件工程师