amazon-web-services - 在 Amazon ec2 实例上托管 redis 服务器的最佳实践?

标签 amazon-web-services amazon-ec2 redis

我是 Redis 的新手,现在我正在尝试在我所做的亚马逊 EC2 实例上托管 Redis。我的问题是我们是否需要一个完整的新 EC2 实例来托管 redis,或者我们可以使用我们托管服务器的相同实例。这将是最佳做法,请建议我。提前致谢

最佳答案

这取决于您期望的服务器负载以及您扩展基础设施的计划。

一个。如果您希望水平扩展(添加越来越多的 EC2 实例),那么您应该将 Redis 移动到它自己的机器上,这样您就可以将 Web 服务器实例与数据库分离

B.如果您只是希望垂直扩展(越来越多地升级您的 EC2 实例),或者您不希望流量超过您当前分配的资源,那么您可以继续将 Redis 托管在与 Web 服务器相同的机器上。在这种情况下,您应该确保每个服务器(DB 和 WebServer)都至少获得一个核心。

C.如果您使用 redis 进行缓存,而不是所有网络服务器实例的数据库,您可以继续进行设置,其中每个网络服务器都有自己的 Redis 缓存实例。此外,在这种情况下,请确保每个服务器都有足够的 RAM 和 CPU 资源可用。

编辑:对于案例 A,这是典型的场景

  • 创建两个安全组,一个用于网络服务器(secWeb),一个用于数据库层(secDB)
  • secWeb 只开放端口 80 和 443 (http/s)
  • secDB 只为来自 secWeb 的流量打开端口 6379(或者你定义的 redis 在哪个端口上运行)
  • 设置两个初始 EC2 实例(一个用于 Web 服务器,一个用于数据库)并在其上安装所有内容
  • 为您的 Redis 实例分配一个弹性 IP,并配置 Web 服务器通过此 IP:port 连接到 redis
  • 在 Web 服务器实例前面创建一个 ELB 实例,并将 ELB 端点用于您的主要流量(您可以分配一个从您的主域 DNS 区域指向它的 CNAME)
  • 根据您的偏好为 EC2 Web 服务器设置自动缩放策略

这应该让你开始。

关于amazon-web-services - 在 Amazon ec2 实例上托管 redis 服务器的最佳实践?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26135500/

相关文章:

amazon-web-services - 将 AISPL 账户转移到 AWS 账户

amazon-web-services - docker 在提取期间将其临时文件存储在哪里?

amazon-web-services - 代码部署 : Script at specified location: scripts/stop_server run as user root failed with exit code 1

mysql - 每次写入使用 Redis AOF fsync 与 MYSQL myism db 性能

node.js - 如何用 Jest 模拟 AWS Cognito CognitoIdentityServiceProvider?

.net - AmazonSimpleNotificationServiceClient 线程安全吗?

amazon-web-services - AWS S3 中的子存储桶

linux - 撤消 apt-get 删除打开* ubuntu 12.04

ruby-on-rails-3 - Resque 来自其他主机的 Worker 在我的系统上注册并处于事件状态

node.js - Redis: 'Get - Check Condition - Increase' 带锁定 key