代码改变世界

对redis数据持久化的一些想法

2012-03-29 14:23 by xlw, 382 阅读, 2 推荐, 收藏, 编辑
摘要:数据持久化通俗讲就是把数据保存到磁盘上,保证不会因为断电等因素丢失数据。redis需要经常将内存中的数据同步到磁盘来保证持久化。redis支持两种持久化方式,一种是 Snapshotting(快照)也是默认方式,另一种是Append-only file(缩写aof)的方式。先介绍下这两种dump方式再讲讲自己遇到的一些现象和想法,前面的内容是从网上整理出来的。Snapshotting快照是默认的持久化方式。这种方式是就是将内存中数据以快照的方式写入到二进制文件中,默认的文件名为dump.rdb。可以通过配置设置自动做快照持久 化的方式。我们可以配置redis在n秒内如果超过m个key被修改就自 阅读全文

转:一致性 hash 算法( consistent hashing )

2012-03-29 09:57 by xlw, 217 阅读, 0 推荐, 收藏, 编辑
摘要:最近在研究cassandra,dynamo,bigtable等no sql数据库,其中的partition算法基于consistent hashing实现添加/删除节点主机时的单调性,以及各个主机之间的loadbalance。什么是consistent hashing(一致性哈希)?我觉得这篇文章写的很好!原文地址:http://blog.csdn.net/sparkliang/archive/2010/02/02/5279393.aspxconsistent hashing 算法早在 1997 年就在论文 Consistent hashing and random trees 中被提出,目前 阅读全文

Redis在Windows下的使用

2012-03-26 15:27 by xlw, 461 阅读, 0 推荐, 收藏, 编辑
摘要:Windows版的Redis可到此处下载,非官方版http://code.google.com/p/servicestack/wiki/RedisWindowsDownloadRedis文件夹有以下几个文件redis-server.exe:服务程序指定redis的配置文件,如没有指定,则使用默认设置D:\redis-2.0.0-rc2>redis-server.exe redis.confredis.conf配置选项如下daemonize 是否以后台进程运行,默认为nopidfile 如以后台进程运行,则需指定一个pid,默认为/var/run/redis.pidbind 绑定主机IP, 阅读全文

Redis主从服务器

2012-03-26 15:13 by xlw, 591 阅读, 1 推荐, 收藏, 编辑
摘要:配置主从服务器Redis主从服务器的搭建很简单,只要少许配置即可,为了演示的方便,我们就在一台服务器上配置:前提是你已经有了一台Redis服务器,如果没有可以参考我以前的文章安装。下面看看如何配置从服务器:假设主服务器的配置文件是:/etc/redis.conf,我们复制一份作为从服务器的配置文件:cp /etc/redis.conf /etc/redis_slave.conf并作修改:# vi /etc/redis_slave.confport 6380dbfilename dump_slave.rdbslaveof 127.0.0.1 6379主服务器的端口使用的是缺省的6379,从服务器 阅读全文

Redis指令文档

2012-03-26 15:10 by xlw, 218 阅读, 0 推荐, 收藏, 编辑
摘要:连接控制QUIT 关闭连接AUTH (仅限启用时)简单的密码验证适合全体类型的命令EXISTS key 判断一个键是否存在;存在返回 1;否则返回0;DEL key 删除某个key,或是一系列key;DEL key1 key2 key3 key4TYPE key 返回某个key元素的数据类型 ( none:不存在,string:字符,list,set,zset,hash)KEYS pattern 返回匹配的key列表 (KEYS foo*:查找foo开头的keys)RANDOMKEY 随机获得一个已经存在的key,如果当前数据库为空,则返回空字符串RENAME oldname newname更 阅读全文

zookeeper 安装配置(三)

2012-03-23 17:19 by xlw, 5175 阅读, 1 推荐, 收藏, 编辑
摘要:zookeeper NIOServerCnxn: Too many connections from /10.202.50.79 - max is 60 异常解决办法 今天在对zookeeper做连接的时候,发现只能连接10个,然后开始报zookeeper NIOServerCnxn: Too many connections 错误,调试了半天看不出问题所在,后来一次跟踪调试的时候,发现zkserver 出现too many 一闪而过,才发现是zookeeper 服务端配置问题。解决方法:将最大连接数我这设置成了300,后来发现仍然提示同样的问题,最大连接数并没有起作用,根据属性提示,直接修改 阅读全文

windows服务器安全之修改远程桌面连接端口

2012-03-23 09:50 by xlw, 1505 阅读, 0 推荐, 收藏, 编辑
摘要:一般Web服务器放在公网上以后,有些为了方便远程操作,所以打开了远程桌面连接。这样是很不安全的,黑客在扫描到服务器开启了3389端口以后很多都是利用这个端口发起攻击。为了降低风险而又想使用远程桌面连接,一个比较简单的方法就是修改远程桌面链接的3389端口。远程桌面终端服务默认端口为"3389",为防止他人进行恶意连接,就需要对默认端口进行更改。对此可打开注册表编辑器(运行regedit),依次展开"HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Terminal Server\Wds\rdpwd\Tds\tc 阅读全文

ZooKeeper配置 (二)

2012-03-22 10:43 by xlw, 9954 阅读, 1 推荐, 收藏, 编辑
摘要:最近针对ZK一些比较疑惑的问题,再看了一下相关代码,列举如下。这里只列官方文档中没有的,或者不清晰的。以zookeeper-3.3.3为基准。以下用ZK表示ZooKeeper。一个ZooKeeper对象,代表一个ZK Client。应用通过ZooKeeper对象中的读写API与ZK集群进行交互。一个简单的创建一条数据的例子,只需如下两行代码:ZooKeeper zk = new ZooKeeper(serverList, sessionTimeout, watcher);zk.create("/test", new byte[0], Ids.OPEN_ACL_UNSAFE, 阅读全文

分布式实时统计系统--RAINBIRD

2012-03-20 17:15 by xlw, 556 阅读, 0 推荐, 收藏, 编辑
摘要:最近Twitter开发了一款分布式实时统计系统Rainbird。用处Rainbird可以用于实时数据的统计:1 统计网站中每一个页面,域名的点击次数2 内部系统的运行监控(统计被监控服务器的运行状态)3 记录最大值和最小值性能要求作为大型网站的分布式应用,需要具备以下性能:1 极高的写入性能,可以达到100,000的WPS2 非常高的读取性能,可以达到10,000s的RPS3 高度的可扩展性,包括读取和存储等等,能够扩展到100+ TB的量级4 读取速度响应间隔短,绝大多数的读取速度应该不超过100ms系统组件Rainbird一款基于Zookeeper, Cassandra, Scribe, 阅读全文

开源日志系统比较

2012-03-20 15:16 by xlw, 392 阅读, 0 推荐, 收藏, 编辑
摘要:1. 背景介绍许多公司的平台每天会产生大量的日志(一般为流式数据,如,搜索引擎的pv,查询等),处理这些日志需要特定的日志系统,一般而言,这些系统需要具有以下特征:(1) 构建应用系统和分析系统的桥梁,并将它们之间的关联解耦;(2) 支持近实时的在线分析系统和类似于Hadoop之类的离线分析系统;(3) 具有高可扩展性。即:当数据量增加时,可以通过增加节点进行水平扩展。本文从设计架构,负载均衡,可扩展性和容错性等方面对比了当今开源的日志系统,包括facebook的scribe,apache的chukwa,linkedin的kafka和cloudera的flume等。2. FaceBook的Sc 阅读全文