Memcache自动水平缩放

时间:2017-09-11 09:02:19

标签: memcached horizontal-scaling

我们有一个包含2个Web服务器和2个内存缓存服务器的方案。 memcache服务器节点在每个Web服务器上的配置文件中配置。

为了让我们自动横向扩展Web服务器,我们需要能够自动地对数据存储服务器进行水平扩展。目前,由于在Web配置文件中定义了memcache节点,我们无法做到这一点。

自动水平扩展内存缓存服务器的最佳方法是什么,对系统的影响最小。

1 个答案:

答案 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"
     }
   }
 }

希望它有所帮助!