diff --git a/container/conclusion.md b/container/conclusion.md index 6c19e8b1..a980c755 100644 --- a/container/conclusion.md +++ b/container/conclusion.md @@ -1,8 +1,8 @@ # 7.9 小结 -本章,笔者从 Google 内部容器系统演进作为开篇,从网络、计算、存储、调度等方面展开,深入分析了 Kubernetes 的设计原理和应用。希望能让你在学习 Kubernetes 这个复杂而庞大的项目中抓到主线,领悟到它的核心设计理念。 +本章,笔者从 Google 内部容器系统演进作为开篇,从网络、计算、存储、调度等方面展开,深入分析了 Kubernetes 的设计原理和应用。希望能让你在学习 Kubernetes 这个复杂而庞大的项目时,抓住其核心主线,理解其设计理念。 -在笔者看来,Kubernetes 的核心设计理念有两点: +在笔者看来,作为基础设施的 Kubernetes,它的设计理念有两个核心: - 其一,从 API 到容器运行时的每一层,都为开发者暴露可供扩展的插件机制。通过 CNI 插件把网络功能解耦,让外部的开发社区、厂商参与容器网络的实现;通过 CSI 插件建立了一套庞大的存储生态;通过 Device Plugin 把物理资源的支持扩展到 GPU、FPGA、DPDK、RDMA 等各类异构设备。依托这种开放性设计,Kubernetes 社区出现了成千上万的插件,让运维工程师可以轻松构建出功能强大的基础架构平台。从这一点讲,这也是 CNCF 基于 Kubernetes 能构建出一个庞大生态的原因。所以说,Kubernetes 并不是一个简单的容器编排平台,而是一个分量十足的“接入层”,是云原生时代真真正正的“操作系统”。 - 其二,在开放性的底层之上,Kubernetes 将接触的方方面面统一抽象为“资源”。所有的“资源”使用 YAML 文件描述,一个 YAML 文件即可表达一个复杂基础设施的最终状态,并且自动地对应用程序进行运维和管理。这种设计**隐藏了底层细节、屏蔽底层差异,以一种友好、一致且跨平台的方式,向业务工程师“输送”底层基础设施能力**,正是 Kubernetes 设计哲学的精髓所在。 diff --git a/http/conclusion.md b/http/conclusion.md index f9661873..9a9d7448 100644 --- a/http/conclusion.md +++ b/http/conclusion.md @@ -1,18 +1,5 @@ # 2.9 小结 -网络优化是一个端到端的系统性工作,遵循二八原则。即 80% 的性能损耗在 20% 的处理流程上。所以优化的前提是分析出导致 80% 性能损耗的 20% 的处理流程到底在哪里。 - 本章,我们详细分析了 HTTPS 的请求过程,讲解了其中域名解析、内容压缩、SSL 层加密、网络拥塞控制等主要的环节的原理和优化操作。相信你对于构建足够快的网络服务,有了足够的认识。 -虽然 HTTPS 让传输更加安全,但很多服务赶鸭子上架式使用 HTTPS 往往都会遇到:请求变慢、服务器负载过高、证书过期不及时更新问题。 - -构建高可用架构的第一步是保证从客户端到服务端的请求是通畅无阻的,也就是域名解析不能失败。如果域名解析失败了,那么后端无论是两地三中心,还是别的什么高可用设计,都无法发挥作用。 - -经过本章的学习,相信你已经掌握构建足够快的网络服务,低延迟的(尽可能快)、可靠的(避免请求失败)、安全的(使用 TLS1.3 协议 + ECC 证书,即快又安全),还要充分利用带宽(弱网环境下,榨干带宽,提高网络吞吐)。 - -参考文档: -- DNS 服务器类型,https://www.cloudflare.com/zh-cn/learning/dns/dns-server-types/ -- 《A Question of Timing》,https://blog.cloudflare.com/a-question-of-timing/ -- 《从流量控制算法谈网络优化 – 从 CUBIC 到 BBRv2 算法》,https://aws.amazon.com/cn/blogs/china/talking-about-network-optimization-from-the-flow-control-algorithm/ -- 《BBR: Congestion-Based Congestion Control》,https://research.google/pubs/bbr-congestion-based-congestion-control-2/ -- 《What Is HTTP/3 – Lowdown on the Fast New UDP-Based Protocol》,https://kinsta.com/blog/http3/ \ No newline at end of file +总体而言,构建“足够快”的网络服务,首先要保证域名解析不能失败,然后请求要足够快(使用 QUIC、Brotli 压缩)、足够安全(使用 TLS1.3 协议 + ECC 证书,即快又安全)、还要充分利用带宽(榨干带宽,提高网络吞吐)。最后,技术无法解决的(海外网络),那就得花钱(CDN、边缘节点加速、建当地数据中心)。