在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 来存储微小的令牌。但目标是让所有 ec2 实例都相同。
- 我也可以使用弹性疼痛,但它很贵(35 美元/月!:)
)对于最小版本
笔记:
我使用 memcached 来防止 celeryd 工作人员访问相同的资源,但如果偶尔资源被双重访问也没关系。而且我的代币寿命很短(不到 15 秒)。因此,丢失 memcached 节点并不是什么大问题,只要不是太频繁地发生即可。
如果您的缓存数据确实非常小,也许您会对非亚马逊托管的缓存服务(例如 redistogo.com)感兴趣。如果您的数据足够小并且定价非常合理,他们有免费版本。
这根本不能回答您的问题,但既然您提到了弹性疼痛但对价格犹豫不决,也许它会满足您的需求。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)