如何水平扩展Amazon RDS实例?

7
如何水平扩展亚马逊RDS实例?使用EC2、负载均衡器和自动缩放非常容易实现,但如果我想扩展亚马逊RDS呢? 我可以使用更强大的实例升级我的RDS实例,或者我可以创建一个读副本并将SELECT查询指向它。 但是,如果我拥有一个面向读取的Web应用程序,则在此模式下我不会扩展任何内容。那么,我可以创建具有自动缩放和负载平衡器的RDS读副本吗?

好的想法,不确定是什么阻止你去做。http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/ - BMW
3个回答

6

3
注意,RDS涵盖了几种数据库引擎- mysql、postgresql、Oracle和MSSQL。
一般来说,您可以通过扩展实例规模(使用更大的实例)、使用只读数据库或分片来进行扩展。如果您正在使用mysql,请考虑使用AWS Aurora。考虑最佳地使用数据库- 也许与memcached或Redis(两者都在AWS Elasticache下可用)结合使用。考虑使用搜索引擎(lucene、elasticsearch、cloudsearch)。
一些常规资源:

1
谢谢,我正在使用MySQL。我了解到RDS实例不支持自动缩放和负载均衡。我想我会使用memcached+只读数据库。这应该足够了 :) - Alessandro Corradini

3
如果您正在使用PostgreSQL并且有一个可以按特定键分区且不需要复杂事务的工作负载,那么您可以查看pg_shard扩展。pg_shard允许您创建分布式表,这些表在多个服务器上进行分片。对分布式表的查询将被透明地路由到正确的分片。
尽管RDS没有安装pg_shard扩展,但您可以在EC2上设置一个或多个带有pg_shard扩展的PostgreSQL服务器,并使用RDS节点作为工作节点。pg_shard节点只需要存储少量元数据,可以在其中一个工作节点中备份,因此它们的维护成本相对较低,可以扩展以适应更高的查询速率。
提供了一篇指南,其中包含链接到CloudFormation模板,可自动设置所有内容:https://www.citusdata.com/blog/14-marco/178-scaling-out-postgresql-on-amazon-rds-using-masterless-pg-shard

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接