无缝扩展:Kubernetes 上的 Amazon Aurora 分片和流量管理

云计算
re:Invent
0
0
## 视频 <video src="https://dev-media.amazoncloud.cn/30-LibaiGenerate/31-LiBaiRebrandingVideo/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes-LBrebrandingWCaptionCN.mp4" class="bytemdVideo" controls="controls"></video> ## 导读 作为云端 RDBMS,[Amazon Aurora](https://aws.amazon.com/cn/rds/aurora/?trk=cndc-detail) 在为各种业务场景提供高性能和可用性方面表现出色。然而,在处理要求低延迟的读取或写入场景中的海量查询时,传统的单片式 MySQL、PostgreSQL RDS 或 Aurora 设置可能会变得繁琐。在本讲座中,您将看到 Apache ShardingSphere 如何在企业内部部署和 Kubernetes 环境中自动进行数据分片、读写拆分和查询流量管理。凭借其灵活的部署架构,全球应用程序都能有效地使用数据库服务,以降低延迟、提高吞吐量和可用性。 ## 演讲精华 <font color = "grey">以下是小编为您整理的本次演讲的精华,共1100字,阅读时间大约是6分钟。如果您想进一步了解演讲内容或者观看演讲全文,请观看演讲完整视频或者下面的演讲原文。</font> CTO Trista Pan详细介绍了她所领导的初创公司CVEs的主要工作内容。CVEs专注于Apache ShardingSphere项目,这是一个关于数据库分片和云数据库的开源项目,已在Apache软件基金会下作为开源项目发展了超过6年。她的演讲涵盖了在云环境中分布式数据库的架构、研究和开发。首先,她将展示一些实际应用场景,分析在云中分布式数据库的新需求,并提出解决这些需求的方法。据Trista介绍,她与各种开源社区的讨论表明,最近围绕分布式数据库、数据安全和云的议题非常受欢迎。 用例1: 许多初创公司在初期通常使用如MySQL或PostgreSQL这样的简单关系数据库管理系统(RDBMS)来管理规模相对较小的初始数据,通常在TB级别。然而,随着应用的逐渐成功和用户数据的增加,他们可能需要将数据库扩展到PB级别。 在这种情况下,公司需要一个能够提供高吞吐量(每秒1000个查询)和低延迟(毫秒级响应时间)的数据库解决方案,以满足业务需求,同时与其他云原生服务一样具有成本效益,并轻松扩展。 用例2: 随着应用产生大量数据,客户需要能够灵活且无缝地按需扩展或缩减数据库基础设施,以优化成本。根据需要弹性增加或删除存储和计算容量的能力是一个关键需求。 用例3: 对于应用程序来说,需求是拥有一个无状态的单一数据库端点进行通信,而不必自己管理连接主从节点等事宜。目标是在Kubernetes中为应用程序提供一个无状态的数据库服务,而不必关心分片、复制、高可用性等复杂性。 Trista强调,关键是能为Kubernetes中的无状态应用程序提供一个无状态的数据库服务,从而实现无缝扩展。这可以为客户创新提供无限可能,而不会受制于数据基础设施的约束。 为了提供背景信息,我们将传统的主从式RDBMS集群架构与传统的无共享分布式数据库架构进行了比较。在无共享架构中,计算层和存储层被分开,无状态计算节点负责处理查询,而有状态存储节点则负责持久化数据分区。这种分离方式提供了更高的灵活性和可扩展性,以便进行横向扩展。 我们建议在Kubernetes环境中通过在容器内设置无状态计算节点来实现无共享架构,这样计算节点可以与其他作为存储层的现有RDBMS集群(无论是内部的还是云上的)进行通信。这样一来,我们可以利用现有的数据库进行存储,而无需完全重新设计它们。 我们介绍了Apache ShardingSphere及其代理组件作为实现无状态计算层的方案。ShardingSphere代理可以为应用程序提供一个数据库网关,处理分片、负载平衡以及其他功能。有状态存储层可以使用MySQL、PostgreSQL、Aurora或其他RDBMS集群。 我们以使用ShardingSphere的SQL语法(如"CREATE SHARDING TABLE")为例,展示了如何定义分片策略,以及代理如何自动智能地将查询路由到正确的存储分片。代理会处理分片路由以定位正确的数据,同时也会处理负载平衡路由以在副本之间分布查询。 在部署方面,我们通过使用Helm图表来展示如何使用连接Aurora数据库集群的ShardingSphere代理来设置一个简单易扩展的数据库层的方法。示例命令设置了2个代理节点和3个Aurora集群作为示例架构。 在负载测试结果中,我们展示了采用3个Aurora集群和2个ShardingSphere代理的分布式架构相较于独立的Aurora,查询每秒数(QPS)提高了101%,交易每秒数(TPS)提高了118%,延迟降低了19%。这些数据展示了分布式方法的优越性。 我们的负载测试配置包括使用Sysbench进行性能基准测试,在测试环境中跨Aurora集群分片3TB数据,以200个模拟用户的并发度运行查询。 总体而言,Trista建议初创公司应从使用关系型数据库开始,并提前考虑扩展能力。了解分布式架构和理论有助于评估数据库解决方案。ShardingSphere就是采用这种策略,为应用程序提供了透明的扩展和负载均衡功能。 她表示,将无状态计算与有状态存储分离可能是云原生数据库的未来发展方向。在她的演讲中,她提出了一种解决方案,可以在不增加应用程序复杂性的情况下,为在Kubernetes中运行的无状态应用程序提供可扩展、低延迟的数据库服务。 Trista的演讲强调了数据库需要扩展以满足应用程序需求的重要性,特别是在云环境中。她提出了通过引入代理层来实现透明分片、扩展和负载均衡的方法,从而使得现有数据库可以成为存储层,而新的无状态计算节点负责处理分发和路由逻辑。这样可以让公司在简单起步的同时优化成本,并为未来的无缝增长做好准备。 作为ShardingSphere项目的代表,Trista展示了如何通过引入代理层为应用程序实现透明分片、扩展和负载均衡。她在开源数据库和云架构方面的专业知识在整个演讲过程中都得到了充分体现。 借助实际的案例研究、架构概念、部署和测试结果,Trista向观众展示了如何应对现代数据库挑战。她的演讲风格清晰、有条理且具有影响力。在强调关键技术要点的同时,她的叙述也显得非常流畅。此外,她还关注了业务需求和权衡,以便吸引更多不同领域的观众。 总之,Trista通过讲解如何利用分片和云原生设计构建一个可扩展、高性能的数据库层,为观众带来了一场引人入胜且有教育意义的演讲。她在战略和战术层面的专业知识都给人们留下了深刻的印象。这个提出的解决方案旨在充分利用现有基础设施,同时也为未来的发展做好了准备。这个视频为那些寻求优化其云计算数据架构的公司提供了宝贵的见解。 **下面是一些演讲现场的精彩瞬间:** 在亚马逊云科技re:Invent上,领导者们讨论了一项全新Aurora Limitless数据库服务的发布。 ![](https://d1trpeugzwbig5.cloudfront.net/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes/images/rebranded/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes_0.png) 这款数据库解决方案旨在满足不断增长的数据需求,同时提供高吞吐量、低延迟、灵活性、可扩展性和成本效益。 ![](https://d1trpeugzwbig5.cloudfront.net/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes/images/rebranded/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes_1.png) 对于应用开发者来说,他们只需通过一个数据库端点即可实现连接,无需担忧数据库基础设施底层的复杂性。 ![](https://d1trpeugzwbig5.cloudfront.net/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes/images/rebranded/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes_2.png) 在评估数据库解决方案时,了解数据库架构和理论的重要性得到了充分的强调。 ![](https://d1trpeugzwbig5.cloudfront.net/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes/images/rebranded/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes_3.png) 演讲者们认为,选择具有强大品牌、大量用户群体和许多使用案例的数据库解决方案是非常重要的。 ![](https://d1trpeugzwbig5.cloudfront.net/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes/images/rebranded/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes_4.png) 此外,领导者们还强调了使用亚马逊云科技服务,如EKS和数据库服务,高效地管理大规模基础设施的重要性。 ![](https://d1trpeugzwbig5.cloudfront.net/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes/images/rebranded/COM204-Seamless_scaling__Amazon_Aurora_sharding___traffic_management_on_Kubernetes_5.png) ## 总结 此次演讲主要探讨了如何利用分布式数据库架构来实现Kubernetes上云原生应用的无缝扩展和流量管理。演讲者从实际应用场景出发,讲述了随着应用受欢迎度的提高,原本只有一个数据库的应用逐渐需要扩大规模,从而产生了对高吞吐量、低延迟、灵活性、可扩展性和轻松迁移的需求。在应用层面,开发人员希望能有一个无状态的单一数据库服务,而无需处理诸如负载均衡和故障恢复等复杂问题。 接下来,演讲者详细介绍了传统和分布式数据库架构的优缺点,例如共享磁盘和无共享。并提出了一项关键举措,即通过将无状态计算节点与有状态存储节点分开,以实现无共享架构的优势。计算节点可以部署在Kubernetes上,而存储节点则可以是现有的数据库,如MySQL、PostgreSQL等。此外,还介绍了开源项目Apache ShardingSphere,它可以在不改变应用程序的情况下,为计算节点提供代理功能,并通过增加更多的代理和存储节点来实现无缝扩展。这些代理负责分片、负载均衡和查询路由等功能。 演讲者在总结中强调了分离无状态和有状态组件所带来的好处。未来的发展趋势可能是让Kubernetes更适合有状态应用,或者让数据库更适应云原生部署。然而,关键在于如何处理两种基本的工作负载——计算和存储。 ## 演讲原文 ## 想了解更多精彩完整内容吗?立即访问re:Invent 官网中文网站! [2023亚马逊云科技re:Invent全球大会 - 官方网站](https://webinar.amazoncloud.cn/reInvent2023/?s=8739&smid=19458 "2023亚马逊云科技re:Invent全球大会 - 官方网站") [点击此处](https://aws.amazon.com/cn/new/?trk=6dd7cc20-6afa-4abf-9359-2d6976ff9600&trk=cndc-detail "点击此处"),一键获取亚马逊云科技全球最新产品/服务资讯! [点击此处](https://www.amazonaws.cn/new/?trk=2ab098aa-0793-48b1-85e6-a9d261bd8cd4&trk=cndc-detail "点击此处"),一键获取亚马逊云科技中国区最新产品/服务资讯! ## 即刻注册亚马逊云科技账户,开启云端之旅! [【免费】亚马逊云科技“100 余种核心云服务产品免费试用”](https://aws.amazon.com/cn/campaigns/freecenter/?trk=f079813d-3a13-4a50-b67b-e31d930f36a4&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技“100 余种核心云服务产品免费试用“") [【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用”](https://www.amazonaws.cn/campaign/CloudService/?trk=2cdb6245-f491-42bc-b931-c1693fe92be1&sc_channel=el&trk=cndc-detail "【免费】亚马逊云科技中国区“40 余种核心云服务产品免费试用“")
目录
亚马逊云科技解决方案 基于行业客户应用场景及技术领域的解决方案
联系亚马逊云科技专家
亚马逊云科技解决方案
基于行业客户应用场景及技术领域的解决方案
联系专家
0
目录
关闭