【发布时间】:2016-02-02 22:17:39
【问题描述】:
我正在尝试构建一个需要处理大量请求或读取请求的站点。没有来自用户的写信。我想使用 MySQL 作为我的后端服务器和 redis 作为我的缓存层。
数据大小为 60 GB。我有 8 个 EC2,它有 2core 和 6GB RAM。我的想法是使用redis存储尽可能多的数据。但是我想知道redis服务器和mysql服务器的正确数量应该是多少。由于整个站点的数据只有 60GB,如果我可以有 8 个 redis 服务器,可以容纳大约 40GB 的数据。所以不能只使用redis。
选项1:将数据平均分片到7台同时拥有MySQL和redis的服务器。每台服务器在 MySQL 中存储大约 10GB 数据,redis 存储 4-5GB 数据(实例只有 6GB RAM)。我将有一台服务器来进行负载平衡并指向存储该值的正确服务器。
选项 2:使用 MySQL 将我的数据分片到 2 台服务器,其他 5 台服务器是存储来自这 2 台服务器的数据的 redis 服务器。一台前端服务器做负载均衡指向正确的redis服务器。如果redis服务器没有找到任何东西,那么它会从MySQL服务器读取数据吗?
当我使用单个 MySQL 服务器时,延迟约为 100 毫秒。我想显着减少延迟,这就是我想出这些方法的原因。
我没有太多后端架构经验。感谢任何帮助或任何新想法。
【问题讨论】:
-
这个网站是用于编程问题的。我们不是在这里为您推荐服务器基础架构。