memcached迁移方案——记一次memcached session服务的迁移
背景:
(1)由于机房调整,需要迁移memcached;
(2)需要在短期内迁移完成(一周以内);
(3)该memcached 保存了用户的登录数据,非常重要,一旦出问题将导致大量的用户被踢出;
(4)数据没有做持久化;
(5)数据根据存储的key,hash 到 4台服务器的 16 个 memcached 实例上,需要迁移的服务器有两台,即8个 memcached 实例;
memcached 迁移的技术方案:
(1)针对小规模的key-value 存储,可以采用memdump 工具,对memcached 的全量key 进行导出。具体可以参考: http://www.cnblogs.com/shrewdlin/archive/2013/03/27/2985167.html
(2)针对大规模的key-value 存储,在时间充裕的情况下,可以采用双写方案,待数据热起来以后,再作迁移,不过该方案有一定局限性,这是因为迁移的时候,可能导致原来的 hash 策略发生变化,即使做了双写,切换时,仍旧有很多 key 不能命中。
(3)针对大规模的key-value 存储,在时间不充裕的情况下,需要想办法在短时间内获取一段时间内的 key,本文采用的就是这种方案。具体的步骤为:
- 首先通过日志,获取半个月前(该时间可视具体情况而定)所有活跃用户的 session-key
- 通过获取到的session-key 拿到所有对应的 value
- 将活跃用户的 key-value 写入到新旧系统的各个实例中,这样即便是hash策略变化,也不会导致用户被踢出
memcached迁移方案——记一次memcached session服务的迁移的更多相关文章
- PHP如何将session保存到memcached中?如何分布式保存PHP session
session_set_save_handler无关的memcached保存session的方法 在memcached服务器上 1)下载memcached #wget http://memcached ...
- Session服务器之Memcached与Redis
安装Memcached[root@nginx ~]# yum -y install libevent memcached 指定用户大小等信息,工作环境中常指定大小一般为4到8G,此信息测试使用.[ro ...
- 记一个由MemCached引发的性能问题
最近有个项目用loadrunner做了压力测试,发现并发量还不到200服务器就支撑不住了.boss那边紧急开会,说此项目最近3个月内将有100家中大型公司用于校园招聘工作,如果这个问题不解决公司有可能 ...
- Memcached下载安装、NET对Memcached进行CRUD操作(2)
Memcached概念.作用.运行原理.特性.不足简单梳理(1) Memcached下载安装.NET对Memcached进行CRUD操作(2) Memcached存Session数据.访问安全性.使用 ...
- Key/Value之王Memcached初探:一、掀起Memcached的盖头来
一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...
- 不同场景下 MySQL 的迁移方案
一 目录 一 目录 二 为什么要迁移 三 MySQL 迁移方案概览 四 MySQL 迁移实战 4.1 场景一 一主一从结构迁移从库 4.2 场景二 一主一从结构迁移指定库 4.3 场景三 一主一从结构 ...
- 【转】Key/Value之王Memcached初探:一、掀起Memcached的盖头来
一.Memcached是何方神圣? 在数据驱动的Web开发中,经常要重复从数据库中取出相同的数据,这种重复极大的增加了数据库负载.缓存是解决这个问题的好办法.但是ASP.NET中的HttpRuntim ...
- SQL Server 数据库最小宕机迁移方案
一.目的 在做SQL Server数据库维护的时候,当上司要求我们把几十G的数据文件搬动到其它服务器,并且要求最小宕机时间的时候,我们有没什么方案可以做到这些要求呢? 在这里我们假设这两台机器并不是在 ...
- (转)实战Memcached缓存系统(1)Memcached基础及示例程序
1.Cache定义 (1)狭义概念:用于CPU的相对高速处理与主存(Main Memory)的相对低速处理的之间起到协调功能的硬件设备. (2)广义概念:用于速度相差较大的两种硬件之间,起到协调两者数 ...
随机推荐
- 深入分析 Java 中的中文编码问题【转】
转:https://www.ibm.com/developerworks/cn/java/j-lo-chinesecoding/ 几种常见的编码格式 为什么要编码 不知道大家有没有想过一个问题,那就是 ...
- pycharm配置环境
- 阿里云服务器被他人通过SSH暴力破解后的安全加固
背景说明:我登录阿里云服务器控制台时,收到几条安全警告信息. 从图中可以知道,对方的IP地址是47.97.68.118,通过SSH登录方式,登录时用我服务器里的admin用户,然后用穷举法暴力破解ad ...
- Emscripten编译环境搭建--将C和C++编译成JS
Emscripten编译环境搭建--将C和C++编译成JS 需求:linux环境下用js执行c.c++文件,使用emscirpten编译器 目标:搭建好Emscripten环境 环境:Ubuntu16 ...
- ecmascript 6 的arguments转数组的代码
- 报错”Cannot read property 'addEventListener' of null“
1.报错:Cannot read property 'addEventListener' of null 2.解决方案: 把代码放到window.onload=function(){...}里面,因为 ...
- ubuntu中获取文件名称并生成txt文件
简介: 在机器视觉学习过程中,通常会经常批量处理一些图片,在Ubuntu下可以使用find命令,来实现将文件名全部读取出来,生成列表txt文件,作为标签使用 (1)find命令格式如下: find / ...
- Evernote Markdown Sublime使用介绍
版权声明: 欢迎转载,但请保留文章原始出处 作者:GavinCT 出处:http://www.cnblogs.com/ct2011/p/4002619.html 这一篇博客继续探讨:Evernote ...
- java 方法重写和属性重写
重写,子类对父类方法不满意,重写,但这是重写,要与父类的方法一模一样.方法名相同:参数列表相同:返回值相同或子类的返回值是父类返回值的子类型,父类是long,子类是int也不可以,因为父类引用指向子类 ...
- jquery validation表单验证插件2。
<!DOCTYPE html> <html> <head> <meta charset="utf-8"> <title> ...