繁体   English   中英

涉及SQL时,使用Amazon EC2自动扩展

[英]Auto-scaling with Amazon EC2 when SQL is involved

我正在构建一个白板Web应用程序,其客户端的自包含“房间”运行在Amazon EC2实例(目前只有一个)。 命令通过websockets发送到PHP服务器,PHP服务器将所有命令存储在SQL数据库中。

到目前为止,我一直在使用Google Cloud SQL。 我的计划是学习如何使用EC2进行扩展,并让所有实例都使用相同的远程数据库。 我已经知道,由于远程SQL服务器的200毫秒写入延迟与本地SQL服务器的0.5毫秒写入延迟,这将无法工作。 每次命令到达时,服务器都会写入。

我是可扩展性和分布式系统的新手。 我的直觉告诉我,如果我的EC2和RDS实例位于同一区域,或者在EC2实例上本地使用SQL,我需要使用Amazon RDS并希望毫秒级延迟。 我倾向于后者。 这是我的问题:EC2很有弹性 当我需要摆脱一个实例时会发生什么?

我现在能够想到的是以某种方式将每个EC2实例的SQL数据复制到主实例(甚至可能是Google Cloud SQL!)。 换句话说,每个“房间”的所有读/写都在本地发生,并最终复制到主服务器以进行长期存储。 如果一周后重新打开“房间”,则另一个EC2实例可以从主服务器获取数据,在本地使用它,并在销毁之前复制更改。

我的方法听起来是否正确 - 在这里复制正确的概念? 如果是这样,那么我正在尝试做的事情已经存在多少支持? 也就是说,我是否需要设置一个管理EC2实例的主服务器并手动分发/收集SQL数据(100%自定义实现),或者是否存在SQL的现有库/机制,甚至可能是EC2实例复制/管理? 如果我的方法是错误的,那么更好的方法是什么? 这是我不知道自己要研究什么的时候之一。 谢谢!

我同意user02525或许看看使用Elasticache redis,听起来更符合你正在做的事情。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM