摘要: HBase中的HFile采用了与本文类似的设计,数据分块存储,块的索引存放在文件末尾。 Kafka中每个topic划分为多个partition存储,partition又划分为多个segment;每个segment由索引文件index和数据文件log组成,index中每个索引块的大小为8Bytes,每 阅读全文
posted @ 2012-08-27 13:12 Chris Lee 阅读(1323) 评论(0) 推荐(0) 编辑
摘要: 给公司测试服务器搭环境,手工安装gcc-4.9.0颇费功夫,记录如下。 1、安装gcc、g++,系统源默认安装版本为4.4.7; 2、安装依赖包GMP、MPFR、MPC,注意安装顺序; 3、修改动态库链接路径,加入GMP、MPFR、MPC; 4、编译安装Gcc-4.9,新创建目录gcc-... 阅读全文
posted @ 2015-01-09 12:57 Chris Lee 阅读(2057) 评论(0) 推荐(0) 编辑
摘要: Asio(http://think-async.com)官方示例中给出了一个比较初步的日志服务,主要代码在basic_logger.hpp、logger_service.hpp、logger_service.cpp这3个文件。稍作改进(比如创建单独目录存放Log文件、格式化Log文件名以及每一行日志 阅读全文
posted @ 2014-12-18 13:48 Chris Lee 阅读(468) 评论(0) 推荐(0) 编辑
摘要: Boost.Asio是个非常易用的C++异步网络库,官方文档中一个示例是聊天服务,分为chat_message、chat_client、chat_server三个部分。chat_server的启动代码如下。 1 if (argc [ ...]\n"; 4 return 1;... 阅读全文
posted @ 2014-11-21 00:45 Chris Lee 阅读(533) 评论(0) 推荐(0) 编辑
摘要: 最近工作中需要用到一个将数据从Redis导出到文本(或从文本导入Redis)的工具。找到一个用Ruby写的开源软件redis-dump(http://delanotes.com/redis-dump/)。1 redis-benchmark -t set -d 1000 -n 1000000 -r... 阅读全文
posted @ 2014-03-26 21:36 Chris Lee 阅读(2414) 评论(0) 推荐(0) 编辑
摘要: 一、短轮询 在传统的短轮询中,浏览器每隔一段时间向服务器发送请求,看服务器有无更新。缺点是效率低,因为服务器不是总有更新数据;再者,如果大量用户不停的请求服务器,会造成较大的负载压力。 浏览器端,利用jQuery.ajax发送请求 服务器端,tornado.httpserver响应请求(同步) 连接 阅读全文
posted @ 2013-01-21 16:21 Chris Lee 阅读(955) 评论(0) 推荐(0) 编辑
摘要: Coenraets分享了自己开发的一个Single Page Restful网站(http://coenraets.org/blog/2012/10/nodecellar-sample-application-with-backbone-js-twitter-bootstrap-node-js-ex 阅读全文
posted @ 2013-01-11 11:37 Chris Lee 阅读(1765) 评论(0) 推荐(0) 编辑
摘要: 一致性哈希算法在缓存系统中得到广泛应用,主要解决了下面两个问题: 1、增加或移除缓存服务器时,尽量少的key-value映射失效; 2、哈希后的结果尽可能平衡的分布到各个缓存服务器。 解决这两个问题的思路: 1、不简单的采用取模运算,而是把服务对象和缓存服务器均映射到环形哈希空间,在这个环形空间中,沿顺时针方向从对象的哈希值出发,直到遇见一个cache,那么就将该对象存储在这个cache上,这样增加或减少缓存服务器时只有少部分k-v映射失效; 2、一个缓存服务器对应哈希环上的多个虚拟节点,具体数目根据其处理能力决定。 Code-Project上这个项目(http://www.c... 阅读全文
posted @ 2012-11-05 15:51 Chris Lee 阅读(1675) 评论(0) 推荐(0) 编辑
摘要: 在一个项目中需要记录目标路径下所有文件的MD5值,由于SQLite简单易用,选择利用它来记录数据。唯一的一张数据表HistoricalMD5,三个属性Dir(完整路径)、Time(时间)、MD5。SQLite常用的C++ API有:sqlite3_open、sqlite3_prepare、sqlite3_bind_parameter_index、sqlite3_bind_text、sqlite3_column_count、sqlite3_step、sqlite3_finalize、sqlite3_close,为了调用方便,对这些函数做了以下封装。Database.h#include <s 阅读全文
posted @ 2012-07-15 20:17 Chris Lee 阅读(2258) 评论(0) 推荐(0) 编辑