作者 周元昊
,译者自2017年开年以来,致力于推进云端本地服务开发的开源基金会CNCF(Cloud Native Computing Foundation,云端原生计算基金会)名下新增管理了三个项目,它们分别是:提供服务发现、错误处理及服务可见性的透明代理服务网格Linkerd,跨语言高性能的RPC框架gRPC以及快速且可配置的云端原生DNS服务器CoreDNS。
CNCF是一个开源Linux基金会,它致力于推进云端原生应用和服务的开发。在CNCF的纲领中描述了云端原生系统应该包含的属性:基于容器的打包,即在软件容器中运行应用和进程,并以隔离单元的形式进行应用部署;动态管理,即通过一个中央管理进程对各个组件进行动态调度及管理;微服务导向,使用低耦合的服务,并通过服务端点等显示地描述其中所需的依赖。
正如纲领中所描述的任务、角色以及价值观,CNCF名下已经管理了多个云端原生技术项目,包括最初的谷歌容器管理调度平台Kubernetes。自基金会创立以来,它还收纳了:专注于时间序列数据、灵活查询以及为客户端依赖及第三方数据消费提供广泛集成选项的开源监控解决方案,Prometheus;对厂商无关的分布式追踪开源标准,OpenTracing;用于创建统一日志层的开源数据收集器,Fluentd。从2017年开年以来基金会又新接纳了三个处于不同发展进度的项目:Linkerd(起步期),gRPC和CoreDNS(起步期)。
Linkerd是一个提供弹性云端原生应用服务网格的开源项目。其核心是一个透明代理,可以用它来实现一个专用的基础设施层以提供服务间的通讯,进而为软件应用提供服务发现、路由、错误处理以及服务可见性等功能,而无需侵入应用内部本身的实现。Linkerd是由Buoyant的创立者William Morgan和Oliver Gould于2015年创建的,它的原型是Twitter所构建的一个基于scala的可扩展RPC系统Finagle。
gRPC是一个由谷歌创建的现代化高性能开源远程过程调用(RPC)框架。目前它正被多个谷歌云产品和对外API所使用。CoreOS的分布式键值存储etcd就使用了gRPC进行点对点通讯。Docker的便携式容器运行时containerd也通过gRPC暴露其功能,同时containerd本身也被捐献给了CNCF。在gRPC中可以使用Protocol Buffers来定义服务的接口,Protocol Buffers是一个强大的二进制序列化工具和语言。gRPC也和诸多语言进行了集成,并可以自动生成特定语言的客户端和服务端接口。
CoreDNS的前身是SkyDNS,它的主要目的是构建一个快速灵活的DNS服务器,让用户可以通过不同方式访问和使用DNS内的数据。它被设计为Caddy网络服务的一个服务器插件。CoreDNS的每个特性都可以被实现为可插拔的中间件,如,日志、基于文件的DNS以及多种后端技术,进而可以拼接多个插件来创建定制化的管道。CoreDNS已经得到扩展,可以直接被Kubernetes访问服务数据,并以KubeDNS的形式提供给用户使用。
CNCF项目的额外信息可以在基金会网站查看。CNCF还将在2017年3月29-30日于德国柏林举办CloudNativeCon和KubeCon。
查看英文原文:Cloud Native Computing Foundation (CNCF) Adds Linkerd, gRPC, and CoreDNS to Growing Portfolio
转自 http://www.infoq.com/cn/news/2017/03/cncf-growing-portfolio