- 浏览: 93972 次
- 性别:
- 来自: 北京
最新评论
-
tailorcai:
kestrel当然是persist的memcacheq响应速度 ...
Twitter用的Kestrel队列的应用实践 -
jd2bs:
kestrel 没有 persist吧? 对丢消息敏感的应用 ...
Twitter用的Kestrel队列的应用实践 -
liusping:
终于找到了
GWT中,访问IFrame中的对象的方法 -
dong_ta:
楼主能把完整的文档贴出来吗
jboss rules brms和ruleAgent的配合使用 -
chunchun_1010:
我用代理怎么老是出现这种错误啊!麻烦给指点一下哈!我的版本一致 ...
jboss rules brms和ruleAgent的配合使用
文章列表
THRIFT服务器缺省无法获取客户端连接的地址。经过研究,发现通过重载transport factory+Thread local,能够简单解决。不需要修改thrift生成的代码。
>>>>>
arg.protocolFactory(protocolFactory);
arg.outputTransportFactory(new TFramedTransport.Factory());
arg.inputTransportFactory(new TFramedTransport.Factory() {
@Override
public TT ...
这两天,开始测试tungsten-queue-applier跟tungsten-replicator2.0.6的兼容性问题。
发现这个版本的tungsten有不少变化:
1. 原来属于enterprise的那些东西全部开源了,相应的package都要调整
2. ReplicateFilter的doFilter和ignoreFilter放弃了MySQL格式的匹配模式(%.table),改成更易于理解的(*.table)。
3. 接口有一些变化,但是对于这个applier来说变化不大。
目前新的代码已经提交。
https://github.com/tailorcai/tungsten-queu ...
linux下的文档,好不容易才上传上去...
http://www.slideshare.net/tailorcai/cdcganjicom-12709722
Zookeeper的使用很多文章都提到。但是都是对API的描述。很少提到应该如何处理连接短线,session过期等等。我画了一张图,来描述ZK的处理流程。
业务需要PHP和Python共享Memcache,因此自己实现了一个memcache的hash规则,用CRC32。但是突然发现Pyhton2.x的binascii.crc32的范围有负数。因此写了一个测试脚本来验证:
<?PHP
$chars = '0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ_-+=';
while(True) {
$len = rand(1,20);
$key = '';
for( $i=0;$i<$len;$i++)
$key .= sub ...
从发现Tungsten Replicator到线上部署,历时4个月。中间也遇到了很多困难,不过在同事的大力配合下,CDC项目(内部名称)已经替代老的事件通知系统,成为网站内部数据更新的重要组成部分。每天处理的数据更新条目数超过200W。
传统的使用Tungsten,是把它作为DB Replication的一部分。但是在互联网架构中,异构数据系统之间如何保持数据的一致性,是架构师面临的普遍挑战。这样的系统在网站里面很多,像检索系统,缓存系统等等。
据说一些网站也在开发类似的技术。因为,以DB为中心的设计思路,决定了业务逻辑严格执行数据“入库为安”的思路。能够写入DB就是成功,写不进去就是失败。 ...
python + PIL
#coding=utf-8
import PIL
from PIL import Image
import time
start = time.time()
im = Image.open("sample.jpg")
im1 = im.resize((100,100), Image.ANTIALIAS)
im1.save( '/tmp/sample_py.jpg')
print time.time() - start
引用
python2.7 pil.py
0.0170481204987
python2.7 pil ...
上次提高用mmagent作为前端,kestrel作为队列服务。经过实际验证后发现,mmagent能够缓解kestrel的连接拥塞现象,但是在某些情况下,依然会出现kestrel几乎没有响应的情况。
目前的方案是:
app -> memcacheq -(script)-> kestrel
虽然很恶心,但是至少能够work了。
#!
import time, signal
quit = False
def shutdown_all(signum, frame):
global quit
quit = True
if __name__=="__main__":
signal.signal(signal.SIGTERM, shutdown_all)
while not quit:
time.sleep(1)
print 'graceful quit'
验证通过
新的公司准备上消息队列,用于统一用户发布信息后续处理流程。考虑到网站的流量已经比较大了,选择一个消息队列产品成为当务之急。
运行环境:LAMP,PHP服务器6台。
要求:速度快;简单易用;运行稳定(数据一般不丢失);支持子队列
稳定性,应该包含下面一些情况:
1. 如果队列服务出错,能够有failover的队列保证业务正常运行
2. 已经在队列中的数据,能够在队列恢复时,得到处理
3. 如果处理脚本出现错误,当前正在处理的数据不会丢失。
之前用过redis/resque,感觉很不错。可惜不满足数据丢失,和取数据的事务。
本来就不想用很复杂的商用产品,又看了一些文章后
http://wik ...
#
import sys,re
if __name__=="__main__":
rc = sys.argv[1]
ver = sys.argv[2]
ver = ver.replace('.', ',')
ver1 = ver.replace(',' , ', ')
rc = rc.replace("\\\\","\\")
f = open(rc,'r')
lines = f.readlines()
olines = []
for l in lines:
if l ...
- 2009-10-20 11:38
- 浏览 3095
- 评论(0)
luntbuild使用自定义标签的方法
引入另外一个文件
<import file="./base.xml"/>
使用自定义标签
<VC9 sln="${proj.path}/proj.sln" project="proj_name"></VC9>
base文件内容
<?xml version="1.0"?>
<project basedir=".">
<property name="publishDi ...
- 2009-10-20 11:37
- 浏览 1288
- 评论(0)
STL中的不同容器具有不同的插入操作接口,比如
vector,list,queue等使用push_back,pop_front等
map, set等使用insert
如何编写通用的插入操作呢。这里可以使用insert iterator
template<typename OutIt>
void build( OutIt it ) {
for( int i=0;i<100;i++) {
*it ++ = i;
}
}
std::vector<int> vec;
build( std::front_inserter( vec )) ...
- 2009-09-21 17:59
- 浏览 1216
- 评论(0)
最近研究了一下MammothServer,发现里面有一个叫Dispatcher的实现,很有意思。正好自己最近在学习boost::mpl等东东,因此花了几天学习,并把自己的学习心得总结了一下。相信对大多数C++程序员会有帮助。
前言
在编写通讯框架时,经常要处理众多的协议。而处理完协议后,再调用相应的处理函数时,
在C++中,我们一般要使用统一接口。比如Windows消息中的MSG结构等等。
这种统一的处理结构最大的缺点是缺乏有效地类型检测,容易出错。因为,编译器无法对每一个特定消息进行数据合法性检查。
不过利用模板技术,完全可以实现RPC参数的解析以及与C++函数的自动匹配,支持不定长参数 ...
- 2009-09-01 14:21
- 浏览 2615
- 评论(0)
记录一下mpl学习结果:
引用1-1.
Turn vector_c<int,1,2,3> into a type sequence with elements (2,3,4) using transform.
对vector做一个加1就可以了
typedef mpl::vector_c<int,1,2,3> AAA;
typedef mpl::vector_c<int,2,3,4> CCC;
typedef mpl::transform<AAA,mpl::plus<_1, mpl::int_<1> > &g ...
- 2009-08-26 10:09
- 浏览 1977
- 评论(0)