澳门新葡亰网址下载TiKV 成功晋级 CNCF 孵化项目

by admin on 2020年2月27日

今天,CNCF(Cloud Native Computing
Foundation,云原生计算基金会)技术监督委员会(TOC)宣布已经投票决议通过,正式将
 TiKV 从沙箱项目晋级至孵化项目。

时间: 2019-09-01阅读: 156标签: 开源

TiDB 是 PingCAP 公司基于 Google Spanner / F1 论文实现的开源分布式
NewSQL 数据库。

TiKV 是一个开源的分布式事务 Key-Value 数据库,支持跨行 ACID
事务,同时实现了自动水平伸缩、数据强一致性、跨数据中心高可用和云原生等重要特性,最初由
PingCAP 团队在 2016 年作为 TiDB
的底层存储引擎设计并开发,于 2018 年 8 月被 CNCF 宣布接纳为 CNCF
沙箱云原生项目。

“开源(Open
Source)”,这个在程序员界耳熟能详的词,几乎充斥着我们的整个职业生涯。相信没有一个程序员不知道啥是“开源”,相信没有一个程序员从来没用过“开源”产品。回顾一下,我们所熟知的一些伟大开源项目几乎都出自国外的程序大师或组织。然而,这几年国人也贡献了不少优秀的开源项目与产品,甚至有一些也收到国外同行的认可与赞许。下面我们就在一起盘点下,那些产自中国,走向世界的伟大开源项目吧!

澳门新葡亰网址下载 1

Kylin

  • SQL支持 (TiDB 是 MySQL 兼容的)
  • 水平线性弹性扩展
  • 分布式事务
  • 跨数据中心数据强一致性保证
  • 故障自恢复的高可用

对于 TiKV 的此次晋级,CNCF 首席技术及运营官 Chris Aniszczyk
表示:“社区需要更多支持一致性和可伸缩性的云原生存储选项,TiKV
填补了这个空缺,而不依赖于任何分布式文件系统。自从加入 CNCF
以来,我们看到该项目在中国和国外都取得了令人瞩目的增长。随着它进入孵化阶段,我们很高兴看到该项目持续增长,期待新的贡献者继续添加更多新功能。”

Kylin™是第一个成为Apache顶级开源项目的中国作品。它是一个分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,能够处理TB乃至PB级别的分析任务。它能在亚秒内查询巨大的Hive表,并支持高并发。

澳门新葡亰网址下载 2TiDB架构图

TiKV 最初的设计便采用云原生架构,并很好地融入了现有的 CNCF
生态系统:使用 Prometheus 进行集群监控,使用
gRPC 进行通信,可以部署在 Kubernetes 上,采用
Operator 简化安装、升级和维护。

Kylin的核心思想是预计算(以空间换时间),即对多维分析可能用到的度量进行预计算,将计算好的结果保存成Cube,供查询时直接访问。把高复杂度的聚合运算、多表连接等操作转换成对预计算结果的查询,这决定了Kylin能够拥有很好的快速查询和高并发能力。

TiDB 集群主要分为三个组件:

作为一个基础组件,TiKV 可作为构建其它系统的基石。除了作为分布式 HTAP
数据库 TiDB 的存储引擎,还有更多的存储系统构建于 TiKV 之上,包括三个
Redis-on-TiKV
项目:Tidis、Titan
以及 Titea ,和一个
Prometheus-metrics-in-TiKV
项目:TiPrometheus。TiKV
的生态影响力正在持续扩大。

官方网站:

TiDB Server 负责接收 SQL 请求,处理 SQL 相关的逻辑,并通过 PD
找到存储计算所需数据的 TiKV 地址,与 TiKV 交互获取数据,最终返回结果。
TiDB Server
是无状态的,其本身并不存储数据,只负责计算,可以无限水平扩展,可以通过负载均衡组件(如LVS、HAProxy
或 F5)对外提供统一的接入地址。

2018 年 12 月, TiKV 发布了 2.1 GA
版本。目前,TiKV
汇集了来自三星、摩拜、知乎、饿了么、腾讯云、一点资讯,以及 UCloud
的贡献。并已被银行、金融科技、保险、拼车、游戏等多个行业的领先企业应用在实际生产环境中,比如小米、北京银行、知乎、Shopee、BookMyShow
等。

Rocket

Placement Driver 是整个集群的管理模块,其主要工作有三个:
一是存储集群的元信息(某个 Key 存储在哪个 TiKV 节点);二是对 TiKV
集群进行调度和负载均衡(如数据的迁移、Raft group leader
的迁移等);三是分配全局唯一且递增的事务 ID。

TiKV 的主要特点

2016年11月28日,阿里巴巴宣布将开源分布式消息中间件RocketMQ捐赠给Apache,成为Apache
孵化项目。在孵化期间,RocketMQ完成编码规约、分支模型、持续交付、发布规约等方面的产品规范化,持续听取和反馈社区,覆盖了电子商务、物联网、金融、大数据等众多领域需求,且具备了连接其它顶级开源生态(如Spark、Ignite和Storm等)能力。

PD 是一个集群,需要部署奇数个节点,一般线上推荐至少部署 3 个节点。

  • 跨数据中心高可用

    使用 Raft 和 PD(Placement Driver)来支持跨数据中心高可用。

  • 水平扩展

    通过 PD 和精心设计的 Raft 协议,TiKV
    在水平扩展性方面的表现出色,可以轻松扩展到 200+TB 的数据。

  • 一致的分布式事务

    与 Google Spanner 类似,TiKV 支持外部一致的分布式事务。

  • 协处理器(Coprocessor)支持

    与 HBase 类似,TiKV
    实现了支持分布式计算的协处理器框架,用于支持计算下推操作。

  • 与 TiDB 无缝衔接

    TiKV 和 TiDB
    强强联合,构建了一个具有高水平可伸缩性、支持一致性事务、具备传统关系型数据库和
    NoSQL 最佳特性的、优雅的数据库解决方案。

RocketMQ来自于中国,但已经引起了全世界范围的关注。RocketMQ不仅斩获2015年中日韩开源论坛的CJK
OSS大奖,并且已经进入欧美主流开源门户网站的视野,目前100多家公司和科研机构正在使用RocketMQ,值得一提的是目前美国是RocketMQ全球第二大访问国。

TiKV Server 负责存储数据,从外部看 TiKV 是一个分布式的提供事务的
Key-Value 存储引擎。存储数据的基本单位是 Region,每个 Region
负责存储一个 Key Range (从 StartKey 到 EndKey
的左闭右开区间)的数据,每个 TiKV 节点会负责多个 Region 。TiKV 使用 Raft
协议做复制,保持数据的一致性和容灾。副本以 Region
为单位进行管理,不同节点上的多个 Region 构成一个 Raft
Group,互为副本。数据在多个 TiKV 之间的负载均衡由 PD 调度,这里也是以
Region 为单位进行调度。

TiKV 大事记

2017年9月25日,Apache软件基金会官方宣布,阿里巴巴捐赠给Apache社区的开源项目RocketMQ从Apache社区正式毕业,成为Apache顶级项目(TLP)。自此,Apache
RocketMQ成为国内首个非Hadoop生态体系、国内首个互联网中间件的Apache顶级项目。这意味着中国技术走上国际舞台,在国际开源项目中了有主导权。

无限水平扩展是 TiDB
的一大特点,这里说的水平扩展包括两方面:计算能力和存储能力。TiDB Server
负责处理 SQL 请求,随着业务的增长,可以简单的添加 TiDB Server
节点,提高整体的处理能力,提供更高的吞吐。TiKV
负责存储数据,随着数据量的增长,可以部署更多的 TiKV Server 节点解决数据
Scale 的问题。PD 会在 TiKV 节点之间以 Region
为单位做调度,将部分数据迁移到新加的节点上。所以在业务的早期,可以只部署少量的服务实例(推荐至少部署
3 个 TiKV, 3 个 PD,2 个 TiDB),随着业务量的增长,按照需求添加 TiKV
或者 TiDB 实例

  • 247 contributors

  • 5,120 GitHub stars

  • 54 releases

  • 3,654 commits

  • 743 forks

官方网站:

高可用是 TiDB 的另一大特点,TiDB/TiKV/PD
这三个组件都能容忍部分实例失效,不影响整个集群的可用性。下面分别说明这三个组件的可用性、单个实例失效后的后果以及如何恢复

关于 TiKV 更多信息:

Pulsar

  • TiDBTiDB
    是无状态的,推荐至少部署两个实例,前端通过负载均衡组件对外提供服务。当单个实例失效时,会影响正在这个实例上进行的
    Session,从应用的角度看,会出现单次请求失败的情况,重新连接后即可继续获得服务。单个实例失效后,可以重启这个实例或者部署一个新的实例
  • PDPD 是一个集群,通过 Raft
    协议保持数据的一致性,单个实例失效时,如果这个实例不是 Raft 的
    leader,那么服务完全不受影响;如果这个实例是 Raft 的
    leader,会重新选出新的 Raft leader,自动恢复服务。PD
    在选举的过程中无法对外提供服务,这个时间大约是3秒钟。推荐至少部署三个
    PD 实例,单个实例失效后,重启这个实例或者添加新的实例
  • TiKVTiKV 是一个集群,通过 Raft
    协议保持数据的一致性(副本数量可配置,默认保存三副本),并通过 PD
    做负载均衡调度。单个节点失效时,会影响这个节点上存储的所有
    Region。对于 Region 中的 Leader 结点,会中断服务,等待重新选举;对于
    Region 中的 Follower 节点,不会影响服务。当某个 TiKV
    节点失效,并且在一段时间内无法恢复,PD 会将其上的数据迁移到其他的
    TiKV 节点上

CNCF 的其他孵化项目还包括:gRPC, rkt, CNI, Jaeger, Notary, TUF, Vitess,
NATS, Linkerd, Helm, Rook, Harbor, etcd, Open Policy Agent 和
CRI-O。晋级为 CNCF 孵化项目之后,TiKV
将与其他项目一道,成为与其技术利益一致的、中立的基金会的一部分,享有
Linux 基金会为其提供的治理、市场和社区推广等权益。

Pulsar
是一个分布式的消息发布/订阅传递平台,旨在实现可扩展性和灵活性,并确保无数据丢失。项目于2015年由
Yahoo 开源,2017年6月提交给 Apache 孵化器。

每个 CNCF
项目都有一个相关的成熟度级别:沙箱、孵化或毕业阶段。有关每个级别的技术资格的更多信息,请参阅
CNCF 毕业标准  v1.1
版本。

Pulsar
最初目标是创建一个多租户可扩展的消息传递系统,也正因此,其将服务区和存储层分开的独特架构,已被证明是一个关键的优势。这两层架构使
Pulsar
能够为集群操作提供极为简化的方法,允许运营商轻松扩展集群并替换故障节点,或者提供更高的写入和读取可用性。

(文/开源中国)    

Pulsar 利用 Apache BookKeeper 作为存储组件,目前已被
MercadoLibre、Oath、One Click Retail、STICorp、TaxiStartup、Yahoo Japan
Corporation 和 Zhaopin.com 等企业使用。

官方网站:

SkyWalking

SkyWalking
是一款应用性能监控(APM)工具,对微服务、云原生和容器化应用提供自动化、高性能的监控方案。项目于2015年创建,并于2017年12月进入
Apache 孵化器。经过一年半时间,该项目目前已成为 Apache 基金会顶级项目。

SkyWalking 是观察性分析平台和应用性能管理系统。SkyWalking
是一款国人主导开发的开源应用性能监控系统。SkyWalking是一个开源可观测性平台,用于收集、分析、聚合和可视化来自服务和云原生基础设施的数据。SkyWalking提供了一种简单的方法,可以让你清晰的查看分布式系统、甚至是跨云环境中。它更像是现代化APM(Application
Performance Manager),专为云原生、基于容器和分布式系统而设计的。

SkyWalking
包括指标监控,分布式追踪,分布式系统性能诊断。提供分布式追踪、服务网格遥测分析、度量聚合和可视化一体化解决方案。

官方网站:

Vue

Vue.js是一套构建用户界面的渐进式框架。与其他重量级框架不同的是,Vue
采用自底向上增量开发的设计。Vue
的核心库只关注视图层,并且非常容易学习,非常容易与其它库或已有项目整合。另一方面,Vue
完全有能力驱动采用单文件组件和Vue生态系统支持的库开发的复杂单页应用。

Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件。

Vue.js
自身不是一个全能框架——它只聚焦于视图层。因此它非常容易学习,非常容易与其它库或已有项目整合。另一方面,在与相关工具和支持库一起使用时,Vue.js
也能完美地驱动复杂的单页应用。

官方网站:

Spring Cloud Alibaba

Spring Cloud 是 Spring 社区打造出的一款基于 Spring Boot
用于快速构建分布式系统的框架,是一套微服务规范,并不是一个拿来即可用的框架,而
Spring Cloud Alibaba
的开源为开发者们提供了这套规范的实现方式。同时,Spring Cloud Alibaba
提供的完整的微服务组件、中文文档和本地化的开源服务提高了开发者们接入微服务的速率,并降低了后续的运维难度。

经过一年多的孵化,Spring Cloud Alibaba 作为 Spring
社区的唯一一个国产开源项目,正式从 Spring Cloud Incubator
孵化器毕业,并发布了适配 Spring Cloud Edgware、Finchley、Greenwich
三个版本的新版本。

Spring Cloud Alibaba 是 Spring 社区第一个也是唯一一个国产开源项目。

官方网站:-cloud-alibaba

Harbor

Harbor 是由 VMware 公司中国团队为企业用户设计的 Registry server
开源项目,包括了权限管理(RBAC)、LDAP、审计、管理界面、自我注册、HA
等企业必需的功能,作为一个企业级私有 Registry 服务器,Harbor
提供了更好的性能和安全。提升用户使用 Registry
构建和运行环境传输镜像的效率。

2018 年,CNCF 正式宣布正式接纳 Harbor 为沙箱项目,此次大会上又宣布
Harbor 成为 CNCF 基金会第 19 个孵化项目,由 VMware
中国研发中心创立,是首个加入 CNCF 且原创于中国的项目,如今也成为 CNCF
首个进入孵化阶段的中国项目。

官方网站:

TiKV

2018年8月30日,CNCF 宣布接纳 TiKV 为沙箱项目。

TiKV 是一个分布式事务键值数据库,最初是为了补充 TiDB 而创建的。TiKV 采用
Rust 构建,由 Raft 提供支持,受到 Google Spanner 和 HBase
设计的启发,提供简化的调度和自动平衡,但不依赖于任何分布式文件系统。TiKV
是一个开源、统一分布式存储层,支持功能强大的数据一致性、分布式事务、水平可扩展性和云原生架构。功能特性:

异地复制 :TiKV 使用 Raft 和 Placement Driver
进行异地复制来保证数据的安全性。水平扩展 : 凭借 PD 和精心设计的 Raft
组,TiKV
在水平可扩展性方面表现出色,可轻松扩展至100多TB数据。一致性分布式事务:与
Google 的 Spanner 类似,TiKV 支持外部一致的分布式事务。协处理器支持: 与
Hbase 类似,TiKV 实现了一个支持分布式计算的协处理器框架。和 TiDB
融合:得益于内部优化,TiKV 和 TiDB
可以协同工作,成为具有高水平可扩展性、外部一致性事务,RDBMS 支持和 NoSQL
设计模式的数据库解决方案。

官方网站:

Dragonfly

2018年11月14日,CNCF 宣布接纳 Dragonfly 为沙箱项目。

Dragonfly 主要解决以 Kubernetes
为核心的分布式应用编排系统的镜像分发难题。随着企业数字化大潮的席卷,行业应用纷纷朝微服务架构演进,并通过云化平台优化业务管理。Dragonfly
从实际落地场景出发,前瞻性地解决了云原生镜像分发的三大难题:

分发效率:借助 P2P 与 CDN
技术,缩减镜像传输时间,提升分发效率,加速业务应用交付
;分发流控:借助智能分析技术,动态平衡分发负载与业务运行态,实现流量动态控制,保障业务稳定
无干扰运行 ;分发安全:支持私有镜像仓库 HTTPS
协议,加密内容传输,确保信息安全。

Dragonfly 于 2017 年开源,如今,Dragonfly
已经被应用在包括电商、运营商、金融、
互联网在内的一系列公司,如中国移动、蚂蚁金服、京东、⻁牙直播、滴滴、科大讯⻜、去哪儿等。

Dragonfly 进入 CNCF 对双方都是里程碑式的事件:Dragonfly
的云原生价值受到行业认可,CNCF
则在技术领域新增重要版图,首次将分发作为行业命题,提升企业微服务架构应用的交付效率。

官方网站:

这里仅列举了进入国际开源组织、已经不仅仅服务于国人的伟大项目。除此之外,还有非常多优秀的国产开源项目被频繁的应用于我们的日常工作中,帮助我们更高效的完成工作,比如:Arthas、Dubbo、Apollo、ECharts…等等。虽然这些并没有进入这些高大上的国际组织,但是它们的维护者与贡献者们,依然值得我们每一个同行尊重,尤其是国内开源的氛围并没有那么好的情况下。但是,相信在这么多优秀项目的带领下,越来越多的中国开源会登上国际舞台!

原文 -opensource-guoqing/

发表评论

电子邮件地址不会被公开。 必填项已用*标注

网站地图xml地图