第8章 Memcached 内置代理快速入门
功能 内置代理 内置代理快速入门 内置代理快速入门
本页通过引导你完成以下任务,帮助你熟悉 Memcached 的内置代理功能: * 构建启用代理功能的 Memcached。 * 下载代理在处理常见任务时所依赖的 Lua 库。 * 配置一个最小化的代理配置文件,使代理能够使用两台 Memcached 服务器作为后端。 * 运行基于此代理的 Memcached 架构,并通过连接和查询来观察代理的工作状态。
有关 Memcached 内置代理的总体概述,请参阅“内置代理”。
开始之前 请确保你的机器拥有从源码构建 Memcached 所需的开发工具和库。这些依赖项通常可以通过操作系统的包管理器获取。例如,在 Debian 系统上,你可以安装以下包来满足要求:gcc、make、libevent-dev。
本页的操作步骤将指导你启动三台 Memcached 服务器,分别运行在 TCP 端口 11211、11212 和 11213。如果这些端口上已有 Memcached 服务在运行,且你不想中断它们,请执行以下任一额外步骤: * 在本教程中替换为不同的端口号。 * 在未运行 Memcached 的另一台机器上执行本教程。
下载并构建代理 由于 Memcached 的内置代理是非默认的编译时配置选项,只有从源码构建 Memcached 时,该代理功能才可用。为此,请遵循以下步骤: 1. 下载最新的 Memcached 发行版 tarball: wget https://memcached.org/latest 2. 解压 tarball,并进入源码目录: tar xzvf memcached-VERSION.tar.gz cd memcached-VERSION 将 VERSION 替换为前一步下载的 tarball 中的版本号。 3. 配置 Memcached 构建过程以启用内置代理: ./configure --enable-proxy 4. 构建并测试 Memcached: make make test
如果遇到与缺少工具或库相关的错误,请确保系统已安装从源码构建 Memcached 所需的开发包。更多信息请参阅本页前面的“开始之前”部分。
注意:为了简化操作和便于清理,本快速入门指南不包含 make install 步骤。如果你希望在本机安装启用代理功能的 Memcached,可以在本指南最后作为最终步骤执行安装。
配置代理 要创建一个名为 config.lua 的最小化代理配置文件,请运行以下命令: echo 'pools{ quickstart_pool = { backends = { "127.0.0.1:11212", } }, fallback = { backends = { "127.0.0.1:11213", } } }
routes{ map = { quickstart = route_direct{ child = "quickstart_pool", }, }, default = route_direct{ child = "fallback" } }' > config.lua
设置并运行代理后的 Memcached 服务器 使用之前步骤中构建的二进制文件,启动两个普通的 Memcached 缓存服务器,分别运行在 TCP 端口 11212 和 11213: ./memcached -l localhost -p 11212 & ./memcached -l localhost -p 11213 &
启动第三台 Memcached 服务器进入代理模式,指定之前步骤中创建的代理专属配置文件: ./memcached -l localhost -p 11211 -o proxy_config=routelib,proxy_arg=config.lua &
连接并使用代理 连接代理并设置一个变量: telnet localhost 11211 set quickstart/data 0 0 6 Hello!
Memcached 代理将响应 STORED。
再次获取该数据: get quickstart/data
Memcached 代理将响应以下内容: Hello! END
终止 Telnet 会话: 按 Ctrl + ]。 在 telnet> 提示符下输入 quit。
此时,你可选地连接到这两个 Memcached 后端服务器,即连接端口 11212 和 11213,并在两者上都运行命令 get quickstart/data。这两台服务器中有一台会返回值为 Hello!。该服务器即为代理选定的、用于存储 quickstart/data 键数据的后端。
清理 完成本教程后,你可以停止之前步骤中启动的三个 Memcached 进程。方法是通过反复运行 fg 然后按 ctrl-c,直到所有实例停止。
由于本快速入门未要求安装构建的 Memcached 软件,你可以通过删除下载的源码目录来清理。
如果你希望保留启用了代理功能构建的 Memcached 软件,可以通过以下任一方法安装它: * 通过运行 sudo make install,将 Memcached 安装到文件系统的默认位置(如 /usr/local/bin)。 * 手动复制或移动 memcached 二进制文件到你选择的任意位置。
你也可以选择使用不同的配置选项重新构建 memcached 二进制文件。更多信息,请在 Memcached 源码目录中运行命令 ./configure --help。
安装内置代理