跨平台通信中间件thrift学习【Java版本】

1. What is thrift?
Thrift是一个跨语言的服务部署框架,最初由Facebook于2007年开发,2008年进入Apache开源项目。跨平台通信中thrift可以作为二进制的高性能的通讯中间件,支持数据(对象)序列化和多种类型的RPC服务。
 
2. thrift为我们[......]

继续阅读

几种Java常用的通信协议比较

本文比较了RMI,Hessian,Burlap,Httpinvoker,Web service等5种通讯协议的在不同的数据结构和不同数据量时的传输性能。
 
1. 简介
RMI是java语言本身提供的远程通讯协议,稳定高效,是EJB的基础。但它只能用于JAVA程序之间的通讯。
Hessia[......]

继续阅读

WEB小流量实验解决方案

最近在项目组里负责搭建WEB系统的小流量实验平台,这篇文章主要介绍了小流量实验的目的,方法原理,实现方案等。
 
1. 小流量实验的目的
业务上经常需要做一些小流量的实验,即抽取一部分客户,这部分客户使用系统,会看到一些小流量的新功能,而其他用户使用系统,仍然和原来一样。这样通过一些数据指[......]

继续阅读

nginx根据cookie分流

众所周知,nginx可以根据url path进行分流,殊不知对于cookie分流也很强大,同时这也是我上篇提到的小流量实验的基础。
 
二话不说,先看需求,两台服务器分别定义为
apache001:192.168.1.1:8080
apache002:192.168.1.2:8080
&n[......]

继续阅读

在Linux上利用phantomjs进行网页截图

1. phantomjs介绍
基于Javascript驱动的命令行webkit引擎,轻量级,安装简单,开发快速,渲染速度较快
无界面的webkit浏览器
更多介绍可以参考 http://code.google.com/p/phantomjs
 
2. phantomjs应用场景
web回归[......]

继续阅读

MySQL的Infobright引擎介绍

Infobright是一个与MySQL集成的开源数据仓库(Data Warehouse)软件,可作为MySQL的一个存储引擎来使用,SELECT查询与普通MySQL无区别。
基本特征
优点:
1. 查询性能高:百万、千万、亿级记录数条件下,同等的SELECT查询语句,速度比MyISAM、InnoDB[......]

继续阅读

海量用户积分排名的几种算法

问题
某海量用户网站,用户拥有积分,积分可能会在使用过程中随时更新。现在要为该网站设计一种算法,在每次用户登录时显示其当前积分排名。用户最大规模为2亿;积分为非负整数,且小于100万。
PS: 据说这是迅雷的一道面试题,不过问题本身具有很强的真实性,所以本文打算按照真实场景来考虑,而不局限于面试题的[......]

继续阅读

网络营销词汇表

网络广告计费模式
CPM:(Cost Per Mille/ ) 每千人成本: 通常用于banner, 图片,flash广告 
CPC:(Cost Per Click) 每点击成本: 以每点击一次计费,广泛应用于搜索引擎广告 
CPA/CPT:(Cost Per Action/Tr[......]

继续阅读

召回率与准确率

召回率(Recall Rate)(查全率):是检索出的相关文档数和文档库中所有的相关文档数的比率,衡量的是检索系统的查全率。 
精度(Precision)(查准率):是检索出的相关文档数与检索出的文档总数的比率,衡量的是检索系统的查准率。

对于一个检索系统来讲,召回率和精度不可能两全其美[......]

继续阅读

B树、B+树与B*树简介

本文主要介绍各种B树,不对插入、删除做过多的深入了解。
1. 引子
动态查找树主要有:
二叉查找树(Binary Search Tree)
平衡二叉查找树(Balanced Binary Search Tree)
红黑树(Red-Black Tree )
B-tree
B+-tree
B*-tre[......]

继续阅读

查看memcached运行状态

 memcache的运行状态可以方便的用stats命令显示。
调用命令如下:
 

telnet ip port

 
例如,执行 telnet 127.0.0.1 11211 这样的命令连接上memcache,然后直接输入stats就可以得到当前memcac[......]

继续阅读

Python time时间用法

python的time使用方法详见链接。下面列举一些常用方法。
>>> import time
设置一个时间的格式,下面会用到
>>>ISOTIMEFORMAT=’%Y-%m-%d %X’
看一下当前的时间,和其他很多语言相似这是从epoc[......]

继续阅读