1 / 9
文档名称:

Mcrouter中文手册 第二章.docx

格式:docx   大小:45KB   页数:9页
下载后只包含 1 个 DOCX 格式的文档,没有任何的图纸或源代码,查看文件列表

如果您已付费下载过本站文档,您可以点这里二次下载

分享

预览

Mcrouter中文手册 第二章.docx

上传人:mh900965 2017/12/21 文件大小:45 KB

下载得到文件列表

Mcrouter中文手册 第二章.docx

文档介绍

文档介绍:最近因工作需要在学****研究Facebook的memcached中间件Mcrouter,发现没有什么中文的资料,所以一边学****一边翻译一份中文的手册,以便分享学****160;
本人英文水平有限,翻译借助了google并加入个人理解,有不足或者错误欢迎大家指正,同时也希望大家转载时能标注原文出处。
因为工作比较忙,不能一次整理翻译整个手册,如果后续有新的翻译内容会继续补充
Mcrouter的接受大家可以参考:
 nslate/introducing-mcrouter-a-memcached-protocol-router-for-scaling-memcached-deployments
英文原版手册地址:
https:///facebook/mcrouter/wiki
mon setups)
分片池(Sharded pools)
一旦你要缓存的数据量变得非常大,一台 memcached服务器已经难以承担,你一定想把这些数据分割到多台memcached服务器上。也就是我们常说的数据水平切分。
Mcrouter支持此功能。它可以将请求按照缓存key的哈希值发送到不同的memcached服务器上。这样缓存数据将被均匀地分布在不同的memcached服务器上,同时对同一个缓存的操作也将按照缓存key的哈希值发送到同一台memcached服务器上。
Mcrouter使用hash算法将发送请求到一个默认缓存服务器管理池里。下面是一个简单的mcrouter配置例子:
{
"pools": {
"A": {
"servers": [
// your destination memcached boxes here, .:
":12345",
"[::1]:12346"
]
}
},
"route": "PoolRoute|A"
}
说明:请求将按照key的哈希值发送到memcached服务器,“PoolRoute”代表按照hash路由
复制池(Replicated pools)
在很多情况下缓存服务经常被庞大客户端频繁的访问,memcached的服务也需要提供连续的不间断的高性能读取性能。另一方面对于关键的缓存数据要保证始终可用,不能丢失,或者需要在多台服务器上存储。 Mcrouter提供这方面的功能支持。
注意:我们假设你使用memcached缓存,读操作远远高于写操作。
我们设计Mcrouter的Replicated pools功能,希望它使用以下功能:
随机发送一个get请求到Replicated pools中。如果请求在pools第一个服务上失败,将从其他服务上获取数据。
同时发送send和delete到Replicated pools将被pools内的所有服务主机接受。
下面的一个mcrouter配置来实现示例这一目标:
{
"pools": {
"A": {
"servers": [
// hosts of replicated pool, .:
":12345",
"[::1]:12346"
]
}
},
"route": {
"type": "OperationSelectorRoute