59 透明通讯的涅槃(上):通讯的成本

你好,我是周志明。接下来这三节课,我们来学习目前最新的服务通讯方案:服务网格。

Kubernetes为它管理的工作负载提供了工业级的韧性与弹性,也为每个处于运行状态的Pod维护其相互连通的虚拟化网络。不过,程序之间的通信不同于简单地在网络上拷贝数据,一个可连通的网络环境,仅仅是程序间能够可靠通信的必要但非充分的条件。

作为一名经历过SOA、微服务、云原生洗礼的的分布式程序员,你必定已经深谙路由、容错、限流、加密、认证、授权、跟踪、度量等问题在分布式系统中的必要性。

在“远程服务调用”这个小章节里,我曾以“通信的成本”为主题,给你讲解了三十多年的计算机科学家们,对“远程服务调用是否可能实现为透明通信”的一场声势浩大的争论。而今天,服务网格的诞生在某种意义上,就可以说就是当年透明通信的重生,服务网格试图以容器、虚拟化网络、边车代理等技术所构筑的新一代通信基础设施为武器,重新对已经盖棺定论三十多年的程序间远程通信中,非透明的原则发起冲击。

今天,这场关于通信的变革仍然在酝酿发展当中。最后到底会是成功的逆袭,还是会成为另一场失败,我不敢妄言定论,但是作为程序通信发展历史的一名见证者,我会丝毫不吝啬对服务网格投去最高的期许与最深的祝愿。