django - 如何跨 django 服务器波动的 aws ec2 实例管理 memcached 集群

标签 django amazon-ec2 amazon-web-services memcached

在Django中,要集群memcached节点,使用了一种非常简单的方法。只需在所有 django 服务器的 settings.py 文件中列出所有节点地址,如下所示:

CACHES = {
    'default': {
        'BACKEND': 'django.core.cache.backends.memcached.MemcachedCache',
        'LOCATION': [
            'xxx.xxx.xxx.240:11211',
            'xxx.xxx.xxx.242:11211',
            ...,
        ]
    }
}

显然,每当实例退出或添加新实例时编辑每个实例的setting.py 文件会很痛苦,您将如何自动管理向集群添加新节点?

  • 所有实例都位于负载均衡器后面。

可能的非答案:

  • 我也可以专门使用一个 django 实例来运行 memcached 单节点,因为我只使用 memcached 来存储微小的 token 。 但目标是让所有 ec2 实例都相同。
  • 我也可以使用elasticache,但它很贵(35 美元/月!:) ) 为最小版本

注意: 我使用 memcached 来防止 celeryd 工作人员访问相同的资源,但如果偶尔资源被双重访问也没关系。而且我的代币生命周期很短(不到 15 秒)。所以丢失memcached节点并不是什么大问题,只要不是太频繁发生即可。

最佳答案

如果您的缓存数据确实非常小,也许您会对非亚马逊托管的缓存服务(例如 redistogo.com)感兴趣。如果您的数据足够小并且定价非常合理,他们有免费版本。

这根本不能回答你的问题,但既然你提到了弹性疼痛但对价格犹豫不决,也许它会满足你的需求。

关于django - 如何跨 django 服务器波动的 aws ec2 实例管理 memcached 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10676737/

相关文章:

amazon-web-services - 使用 Laravel 5.3 的 Amazon SES 403 Forbidden SignatureDoesNotMatch

amazon-web-services - AWS SES 是否支持使用 S/MIME 对电子邮件进行签名和加密

python - Django:如何使用 ImageField 的 upload_to 属性

javascript - TypeError : document. getElementById(...) 为空 Django + JS

amazon-web-services - 托管数据库(例如 Amazon RDS)的访问速度是否比 Web 服务器位于同一计算机 (EC2) 上的数据库慢

amazon-web-services - EC2 实例中的 API 成功使用端口 5000,但是当从负载均衡器到达时,端口不工作

javascript - 如何在提交表单后显示 div 或 html 元素并从 Django View 中检索一些信息

python - 在 django 请求之间共享单个连接

amazon-web-services - ActionConfiguration 映射值必须满足约束 : [Member must have length less than or equal to 1000

javascript - AWS 物联网 : Subscribe to Topic in Browser