1

我们有一个包含 2 个 Web 服务器和 2 个 memcache 服务器的场景。Memcache 服务器节点在每个 Web 服务器上的配置文件中进行配置。

为了让我们能够自动水平扩展 Web 服务器,我们需要能够自动水平扩展 memcache 服务器。目前我们无法做到这一点,因为在 web 配置文件中定义了 memcache 节点。

在对系统影响最小的情况下,自动水平扩展 memcache 服务器的最佳方法是什么?

4

1 回答 1

1

你可以试试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"
     }
   }
 }

希望能帮助到你!

于 2017-09-13T05:08:10.473 回答