我们有一个包含2个Web服务器和2个内存缓存服务器的方案。 memcache服务器节点在每个Web服务器上的配置文件中配置。
为了让我们自动横向扩展Web服务器,我们需要能够自动地对数据存储服务器进行水平扩展。目前,由于在Web配置文件中定义了memcache节点,我们无法做到这一点。
自动水平扩展内存缓存服务器的最佳方法是什么,对系统的影响最小。
答案 0 :(得分:0)
您可以尝试mcrouter。
什么是麦克罗特?
它是一个memcached协议路由器,用于Facebook处理分布在全球Facebook数据中心的数十个群集中的缓存服务器的所有流量。
如何进行缩放?
要将新服务器添加到群集中,只需在路由配置文件中添加IP条目即可。 'mcrouter'会自动检测到它,并使用一致的哈希值添加到群集中。
配置文件如下所示,有2个服务器条目。
{
"pools": {
"A": {
"servers": [
"SERVER1_IP:11211",
"SERVER2_IP:11211"
]
}
},
"route": {
"type": "OperationSelectorRoute",
"operation_policies": {
"add": "AllSyncRoute|Pool|A",
"delete": "AllSyncRoute|Pool|A",
"get": "RandomRoute|Pool|A",
"set": "AllSyncRoute|Pool|A"
}
}
}
希望它有所帮助!