前言最近公司需要完成HBase线上跨机房的数据迁移,于是开始调研HBase的迁移方案。经过大量的查阅资料,最终把方案定格在了CopyTable+Replication上,跟业界一些HBase的大牛了解到,这也是业界的常用做法。CopyTable的原理很简单,利用MR任务,并行scan从源表获取数据, ...
阅读全文 »

概述redis3.2发布rc版本已经有一段时间了,估计RedisConf 2016左右,3.2版本就能release了。3.2版本中增加的最大功能就是对GEO(地理位置)的支持。说起redis的GEO特性,最大的贡献还是咱们中国人。redis作者在对3.2引进新特性的博客中介绍了为什么支持GEO。G ...
阅读全文 »

起因前段时间,看到redis作者发布的一篇文章《Is Redlock safe?》,Redlock是redis作者基于redis设计的分布式锁的算法。文章起因是有一位分布式的专家写了一篇文章《How to do distributed locking》,质疑Redlock的正确性。redis作者则在 ...
阅读全文 »

概述redis-trib.rb是redis官方推出的管理redis集群的工具,集成在redis的源码src目录下,是基于redis提供的集群命令封装成简单、便捷、实用的操作工具。redis-trib.rb是redis作者用ruby完成的。为了看懂redis-trib.rb,我特意花了一个星期学习了r ...
阅读全文 »

redis从3.0开始支持集群功能。redis集群采用无中心节点方式实现,无需proxy代理,客户端直接与redis集群的每个节点连接,根据同样的hash算法计算出key对应的slot,然后直接在slot对应的redis上执行命令。在redis看来,响应时间是最苛刻的条件,增加一层带来的开销是red ...
阅读全文 »

最近在网上浏览文章的时候,无意看到某个作者的博客简洁、清晰。顺着网站看到底部。由Hexo强力驱动和主题 NexT暴露了网站的技术,NexT带着链接,点进去看了下,进入了github的页面,文档写的很清晰,而且有作者自己博客地址,看起来真的很不错。加上NexT文档说的5分钟快速安装,于是心动了,准备捣 ...
阅读全文 »

本文对redis配置的说明使用的是2.8.19版本。 配置单位说明redis内存配置的单位可以支持直接填写字节,也可以填写以下单位: 1k => 1000 bytes 1kb => 1024 bytes 1m => 1000000 bytes 1mb => 1024 * 1 ...
阅读全文 »

云计算时代伴随互联网浪潮和大数据时代的到来,在2006年8月9日,Google首席执行官埃里克·施密特在搜索引擎大会提出了“云计算”的概念。随后的几年时间,云计算成了最被追捧的概念,百度上“云计算”的搜索直攀高峰。可是却始终停留在概念上,人们都在好奇,云计算到底是怎样的技术。 随着亚马逊推出了aws ...
阅读全文 »

Sentinel是Redis官方自带的工具,中文意思是哨兵,顾名思义,就是守卫Redis的好帮手。NCR(网易云redis)准备开发高可用的Redis集群,有计划使用Sentinel。本文接下来介绍下Sentinel的设计与实现。本文介绍的Sentinel是用的2.8.19版本(最新的3.0.0版本 ...
阅读全文 »

Raft协议是用来解决分布式系统一致性问题的协议,在很长一段时间,Paxos被认为是解决分布式系统一致性的代名词。但是Paxos难于理解,更难以实现,诸如Google大牛们开发的分布式锁系统Chubby都遭遇了很多坑。Raft协议设计的初衷就是容易实现,保证对于普遍的人群都可以十分舒适容易的去理解。 ...
阅读全文 »