首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Redis独立服务器或使用MySQL

问Redis独立服务器或使用MySQL
EN

Stack Overflow用户
提问于 2015-11-02 21:51:45
回答 1查看 1.2K关注 0票数 2

我试图建立一个网站,需要服务器大量或读取请求。没有来自用户的写入。我希望使用MySQL作为我的后端服务器,使用redis作为我的缓存层。

数据大小为60 GB。我有8 EC2,其中有2核心和6GB内存。我的想法是使用redis来存储尽可能多的数据,.However,我想知道应该有多少个正确的redis服务器和mysql服务器。由于总站点的数据只有60 if,如果我可以有8个红色服务器,可以容纳大约40 if的数据。因此,不可能只使用红色。

选项1:将数据平均分解到7台服务器上,这些服务器具有MySQL和redis。每个服务器在MySQL中存储大约10 GB的数据,redis存储4-5GB的数据(实例只有6 GB)。我将有一个服务器来实现负载平衡,并指向存储该值的正确服务器。

选项2:用MySQL将我的数据分解到2台服务器上,其他5台服务器是redis服务器,它们存储来自这2台服务器的数据。和一个前端服务器进行负载平衡,指向右redis服务器。如果redis服务器没有找到任何内容,那么它将从MySQL服务器读取数据?

当我使用单个MySQL服务器时,延迟约为100 is。我想大大减少延迟,这就是我想出这些方法的原因。

我对后端架构没有多少经验。任何帮助或任何新想法都将受到赞赏。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-11-03 16:42:58

它不是这样工作的。

在这两个选项中,您错过的是一些后端软件。Redis和MySQL是独立的数据存储区。在缓存丢失的情况下,Redis将不会从MySQL获取数据。

您还需要评估您的工作集:将经常被访问的数据的百分比,因此必须从缓存中得到服务。

你需要一个负载平衡器。您还需要编写一个服务器软件,该软件首先尝试从Redis获取数据,如果失败,则执行对MySQL的查询,然后向Redis提供结果。它可能还必须保持一些缓存无效通信量。

就我个人而言,我根本不会丢弃MySQL。管理一个数据库是很费时的--除非你真的需要它,否则不要分割它。由于您是在EC2上,所以我只使用RDS实例(这样就可以保证数据的高可用性)。然后,我将使用弹性负载均衡器将流量分配给n个节点,每个节点都包含一个Redis实例,再加上处理流量的后端软件。Redis中的数据将使用一致的散列算法进行切分,以限制这些节点潜在故障的影响。

有很多方法来实现您的需求--这只是一个例子。

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/33487657

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档