4000-9696-28

云原生计算基金会CNCF又迎来优秀毕业生ETCD

2023年07月13日 11:44供稿中心:北大青鸟总部

摘要: 云原生计算基金会CNCF(CloudNative ComputingFoundation)于2020年11月25日正式宣布,ETCD项目毕业。本文将带您了解ETCD与CNCF是什么?

云原生计算基金会CNCF(CloudNative ComputingFoundation)于2020年11月25日正式宣布,ETCD项目毕业了。在介绍今天的主角ETCD之前,我们先来了解下CNCF是什么?只有知道毕业学校多强大?才能感受到它的优秀毕业生多强大啊?正如我们介绍某某某从XXX大学毕业之前,我们都会介绍XXX大学。如果是玩云原生的,对CNCF必然是很了解的,正如生在中国,对于一流大学(如清华大学、北京大学)有了解;但非圈内人对此是不了解的,因此我们先来看看CNCF哈~



CNCF云原生计算基金会是一个开源软件基金会,致力于使得云原生具备普遍性、可持续性,利用开源技术栈使得应用程序按微服务模式部署,将每个微服务打包在自己的容器当中,动态编排管理容器,使得开发人员更快更好的生产服务。

在CNCF大学中提供6个学院、3个行政管理机构,分别是应用定义与开发编排管理运行环境配置管理监控分析无服务平台管理合作伙伴成员构成

「应用定义与开发」学院中主要学习容器平台上应用开发相关知识,聚集了与应用相关的架构和工具,具体包含数据库服务、消息队列服务、应用定义、镜像构建、持续集成和部署等专业;在「编排管理」学院中主要学习容器平台上的编排管理相关知识,聚集了与容器编排管理通用架构和工具,具体提供容器编排与调度、协作与服务发现、RPC远程调用、服务代理、API网关与Servicemesh服务网格等专业;在「运行管理」学院中主要学习容器平台上运行环境相关的知识,提供云原生存储、云原生网络、容器运行环境三个专业;在「配置管理」学院中提供容器平台配置管理相关知识,提供自动化与配置、镜像私库、安全与合规等专业;在「监控分析」学院主要提供容器平台监控相关知识,包含监控、日志追逐、链路追踪等专业;在「无服务」学院,主要聚焦于serviceless、servicemesh等微服务解决方案的探索;在「合作伙伴」「成员构成」「平台管理」主要是做推荐厂商、会员的管理,比如K8S安装工具提供商、白金黄金白银会员等。

每个学院都有自己的优秀毕业生,比如在编排管理专业的Kubernetes、运行环境管理专业的Containerd、监控分析专业的prometheus,如今配置管理专业的ETCD也作为优秀毕业生毕业了。ETCD项目自2013年诞生于CoreOS,在2018年以孵化项目加入云原生计算基金会,2020年以优秀毕业生毕业,它具备什么能力,又是如何一步步成长起来,最终成为优秀毕业生呢?我们一起来看看吧!

ETCD的架构图也非常简单,总体可分为四个部分,HTTPServer以API形式对外提供服务,负责处理来自用户的API请求、与其它ETCD节点轮询心跳保障业务高可用;Store负责处理ETCD支持的功能,比如数据索引、节点状态变更、监控、事件处理等等;Raft提供分布式一致性协议维持集群内各个节点的数据状态一致性,主节点master负责处理所有来自客户端的写操作,当ETCD集群开始初始化时,每个节点都是Follower角色,通过选举Leader角色来成为主节点处理业务,并有Candidate角色随时候选,三个角色一起协同工作,保障ETCD集群的高可用;WAL预写式日志(WriteAheadLog)将所有数据的状态信息、索引信息都先在内存存储起来,并最终通过磁盘持久化存储,保障ETCD既快又准。当用户请求发起之后,先由httpserver转发给store进行具体事务处理,涉及节点改动时交给raft模块进行状态变更、日志处理,同步给到其它etcd节点,最后进行数据提交与同步。



介绍完了原理,我们来看看ETCD的应用场景有哪些?典型的应用场景有键值对存储、服务注册与发现、消息发布与订阅、分布式通知与协调、分布式锁等。要不怎么是优秀毕业生呢?ETCD使用的最多的场景便是服务注册与发现,在Kubernetes也是如此,我们就来重点看看这个场景吧。

在服务注册与发现中,有三个角色,服务注册中心serviceregistry服务生产者producer服务消费者consumer三个角色。producer在启动的时候向registry注册自己的服务名、主机、端口,consumer需要调用对应的服务时直接向registry进行请求,获取对应的实例地址即可。基于ETCD的服务注册与发现,主要是将各个服务在启动时注册到ETCD上(Key-Value键值对模式存储起来),再通过RAFT算法保障每个生产者、消费者的健康状态监控。



ETCD支持的安装模式也有多种,它支持单机安装、二进制安装、源码安装方式,支持集群部署(通过静态指定部署、ETCD动态启动、DNS公共发现启动)。多种多样的安装模式极好的匹配了各种业务使用场景。

目前ETCD已经被许多公司、许多技术组件应用,诸如亚马逊、Google、阿里、百度、头条等互联网巨头纷纷投入生产环境进行使用,诸如Kubernetes、CoreDNS等技术组件也纷纷将其作为底层能力。名副其实,它已经凭借自己的优秀能力成为了CNCF的优秀毕业生了~


标签:
关于我们
公司简介
发展历程
青鸟荣誉
联系我们
加入我们
青鸟课程
BCVE视频特效课程
BCUI全链路UI设计
BCSP软件开发专业
BCNT网络工程师
启能职业教育基础课程
学习客户端下载
青鸟优师
青鸟云课堂
微信 公众号 咨询 顶部 首页
官方新版意见收集

*

官方新版意见收集

提交成功,感谢您的反馈。

我们会认真阅读和考虑每个用户的反馈。