6

如何水平扩展amazon RDS实例? EC2和负载平衡器+自动调节极其容易实现,但是如果我想缩放亚马逊RDS? 我可以用更强大的实例来升级我的RDS实例,或者我可以创建只读副本,并且可以将SELECT查询指向它。但是在这种模式下,如果我有一个面向读取的Web应用程序,我不会扩展任何东西。那么,我可以创建具有自动调节功能的RDS只读副本,并使用负载平衡器来平衡它们吗?如何水平扩展Amazon RDS实例?

+0

咕思维,不知道是什么阻止你这样做。 http://www.iheavy.com/2012/04/09/autoscaling-mysql-on-amazon-ec2/ – BMW 2015-02-07 22:30:17

回答

1

注RDS涵盖了多个数据库引擎 - mysql,postgresql,Oracle,MSSQL。

一般而言,您可以向上扩展(更大的实例),使用只读数据库或分片。如果您使用的是MySQL,请查看AWS Aurora。考虑最佳使用数据库 - 可能结合memcached或Redis(均可在AWS Elasticache下获得)。考虑使用搜索引擎(lucene,elasticsearch,cloudsearch)。

一些一般性的资源:

+1

谢谢,我使用的是mysql。 我比Ros实例不支持自动调节器和负载平衡。我想我会使用memcached + readonly-db。它应该足够:) – 2015-02-09 15:52:23

2

如果您使用的是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