实现一个简单的分层实验系统

前言

所谓一次实验(这里都是指网络实验),即是在一次请求中,应用若干参数,产生某种结果的过程。

而一组实验,即是在若干次请求(流量),进行若干次实验。

而一组对照实验,一般包括一个对照组实验(或控制组control)和若干处理组实验(treatment)。

所以,常见的实验,包括这样一些要素:

流量,其实就是样本

参数,通常是策略优化的对象

结果,映射到用户的行为,我们需分析的日志

......

2015-10-14

Avro序列化方法

最近负责日志系统和数据平台的建设,需要选型一种序列化方法。国内大公司都用pb,也有一套完整的支持工具,但经过省略若干字的讨论,我们选用了avro。主要是考虑到Apache的支持,avro和Hadoop生态系统结合得很好,而使用pb的话会增加不少开发成本。此外,avro序列化性能也不错,基本和pb在一个水平。

Protobuf vs Avro

关于PB和Avro序列化的详细对比可以参考下文链接,......

2015-05-20

Git submodule实战

使用git管理的项目开发中,如果碰到公共库和基础工具,可以用submodule来管理。

常用操作

例如,

公共库是 lib.git,地址:git@github.com:lib.git;

需要使用公共库的项目是 proj.git,地址:git@github.com:proj.git。

添加

为项目proj.git添加submodule,先进到相应的目录下,然后执行如下命令:

git .......

2015-04-25
git