伍佰目录 短网址
  当前位置:海洋目录网 » 站长资讯 » 站长资讯 » 文章详细 订阅RssFeed

Kubernetes助力CNCF Vitess实现MySQL扩展

来源:本站原创 浏览:225次 时间:2021-05-27
卢文泉 译 分布式实验室 

一项由YouTube开发的旨在跨多个服务器实现MySQL分片的技术,Vitess,成为Cloud Native Computing Foundation第16个项目。
Vitess是为“热爱MySQL功能,却顾忌它扩展性的人们创建的”,Sugu Sougoumarane在The New Stack采访中说道。他是Vitess创始人之一,现在是PlanetScale Data,一家以Vitess为中心的低调的创业公司联合创始人和CTO。
他说:“人们使用MySQL时会顾虑它没有很好的扩展性,但现在有了Vitess,这个问题被解决了。”
Vitess用户分成两个阵营,Sougoumarane解释道。一个阵营是重度MySQL用户,他们知道如何在多个服务器间分片MySQL来提高性能,但是他们依然选择Vitess而不是自己维护软件。第二个阵营往往是较小的组织,单个MySQL实例满足不了他们的需求。
CNCF技术监督委员会(TOC)在本周投票赞成这项新技术,Vitess被CNCF采用表明CNCF TOC在认真考虑云原生运行面临的持久化存储的挑战。上周TOC也投票通过了Rook云原生存储项目。


Vitess架构


Vitess是一个数据库集群系统,用来水平扩展MySQL,一个由Oracle主导的开源关系数据库管理系统。Vitess将数据库在不同的服务器间分片,内部封装分片路由。应用程序使用Vitess API驱动程序而不是Oracle的MySQL驱动程序,这时MySQL实际上成为云原生数据库。 用户可以根据需要分割和合并分片。在此基础上,Vitess依靠CNCF开源Kubernetes容器编排引擎,通过使用容器集群加速自动扩展。
Vitess还支持其他的云原生功能,比如支持故障自动恢复、副本和滚动升级。Vitess支持多个分片方案,用户也可以创建自己的方案,它还附带master����,����管理和性能管理工具。


Vitess在保持了MySQL基于SQL的一致性模型的同时还带来了NoSQL数据库的大规模可扩展性。在过去十年中,许多用户放弃了MySQL和其它兼容SQL的数据库,他们提供ACID数据一致性保证,转而选择更宽松、更容易扩展的NoSQL数据存储。
这些用户认为他们不需要实务属性,但是“当你遇到越来越多的用例,你希望从数据中获得更好的保证”Sougoumarane说。结果很多人最终在应用程序本身实现了所需的事务属性,“这些应用程序最终比他们期望的要复杂得多”他说。
当然,并非所有用户都使用NoSQL。许多组织(如Slack或Facebook)都倾向于使用MySQL,虽然它们需要更多的可扩展性,而不是数据库系统提供的自行管理能力。有一些方法可以扩展标准的关系数据库,但是会导致维护工作不断增加。最初,可以通过复制副本来扩展数据库,以便可以从多个副本中读取相同的数据。最终,写入性能成为棘手问题,因此下一步就是将不同的表分配到不同的服务器,并且最终必须将一个表分割到多个服务器上,这是一个令人头疼的问题,随着时间的推移越来越糟糕。
Vitess旨在隐藏所有这些复杂性。去年,AWS工程化自己的类MySQL的数据库服务Aurora,它具有多主数据库读写功能,高效地为服务提供了几乎无限的横向扩展能力。 像Vitess这样的技术可以提供相同的功能,但它不会将最终用户限制到特定的云服务厂商。


经过生产测试,Kubernetes已就绪


Vitess开始于2010年,作为内部YouTube项目构建一个代理服务器(现在称为VTGate),设计目的是池化链接(MySQL中的弱点),并缓冲可能导致MySQL实例宕机的查询。
最初Vitess运行在裸机上。但是,当YouTube在2013-14年迁移到Google Cloud时,开发人员需要调整该软件以便在容器化环境中运行,而容器管理软件非常类似于Kubernetes。 因此开发人员抽象、构建API到Vitess中,以便它可以在这样的环境中工作。
因此,“我们在Kubernetes发布后几乎已经准备好了在上面运行”Sougoumarane说。在Kubernetes帮助下,Vitess可以扩展多达数万个节点。 “如果没有Kubernetes,你将不得不编写大量的自定义启动脚本来部署。 “如果服务器出现故障,Kubernetes可以将故障节点调度到其它地方,并在新配置中重新平衡应用程序。
后端组件是用Go编写的,该软件支持MySQL5.6版本,以及MySQL派生的MariaDB10版本。支持网络文件服务器或BLOB存储实现备份。
Vitess是继Kubernetes、Prometheus、OpenTracing、Fluentd、Linkerd、gRPC、CoreDNS、containerd、rkt、CNI、Envoy、Jaeger之后CNCF的第16个项目。根据CNCF毕业标准v1.0,Vitess已被接受为孵化水平项目。
任何CNCF孵化项目的要求之一是,至少被三名独立终端用户在生产环境中成功使用。现在Vitess已经满足了:BetterCloud、Flipkart、Quiz of Kings、Slack、Square Cash和Stitch Labs都使用该软件,除了YouTube本身。使用范围涵盖移动应用程序,游戏公司,金融机构,零售和其他企业。
例如,Stitch Labs在Kubernetes上运行数百个分片,每秒处理数千个查询(QPS),Sougoumarane说。Slack是部署Vitess的另一个组织。该公司希望继续使用MySQL,尽管其快速增长的服务需要每天处理数十亿次MySQL事务。“我们需要一种能够提供熟悉的、完全满足SQL接口的解决方案,并且希望继续使用MySQL作为后端存储以保持我们的操作知识和舒适度,”Slack高级工程师Michael Demmer在一份声明中表示。“基于这个目的,Vitess是自然选择,迄今为止我们的表现非常好。”
Booking.com、GitHub、HubSpot、Slack和Square都积极参与该项目。
原文链接:https://thenewstack.io/cncf-host-vitess


  推荐站点

  • At-lib分类目录At-lib分类目录

    At-lib网站分类目录汇集全国所有高质量网站,是中国权威的中文网站分类目录,给站长提供免费网址目录提交收录和推荐最新最全的优秀网站大全是名站导航之家

    www.at-lib.cn
  • 中国链接目录中国链接目录

    中国链接目录简称链接目录,是收录优秀网站和淘宝网店的网站分类目录,为您提供优质的网址导航服务,也是网店进行收录推广,站长免费推广网站、加快百度收录、增加友情链接和网站外链的平台。

    www.cnlink.org
  • 35目录网35目录网

    35目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向35目录推荐、提交优秀网站。

    www.35mulu.com
  • 就要爱网站目录就要爱网站目录

    就要爱网站目录,按主题和类别列出网站。所有提交的网站都经过人工审查,确保质量和无垃圾邮件的结果。

    www.912219.com
  • 伍佰目录伍佰目录

    伍佰网站目录免费收录各类优秀网站,全力打造互动式网站目录,提供网站分类目录检索,关键字搜索功能。欢迎您向伍佰目录推荐、提交优秀网站。

    www.wbwb.net