存档

2012年6月 的存档

MessagePack、Avro、Thrift、Protocol Buffers、JSON序列化协议

2012年6月16日 没有评论

在Web开发中,难免遇到需要跨语言甚至跨平台进行通信的场景,不论是PHP到C还是PHP到Java,或者C到Java,都需要双方有一个约定的协议来打包和解包所传输的数据。双方自定义的协议固然效率高,但是通用性差,因此便出现了本文将要讨论的这些通用的、跨平台的数据打包协议。这些协议各有特点,应用场景也不[......]

Read more

分类: 架构设计 标签:

转:Memcache mutex设计模式

2012年6月16日 没有评论

场景
Mutex主要用于有大量并发访问并存在cache过期的场合,如

首页top 10, 由数据库加载到memcache缓存n分钟
微博中名人的content cache, 一旦不存在会大量请求不能命中并加载数据库
需要执行多个IO操作生成的数据存在cache中, 比如查询db多次
问[......]

Read more

分类: 架构设计 标签: ,

微博cache设计谈

2012年6月16日 没有评论
分类: 其它 标签: ,

转:MySQL分区性能初探

2012年6月12日 没有评论

一.分区概念
分区允许根据指定的规则,跨文件系统分配单个表的多个部分。表的不同部分在不同的位置被存储为单独的表。MySQL从5.1.3开始支持Partition。
分区和手动分表对比
手动分表 分区
多张数据表 一张数据表
重复数据的风险 没有数据重复的风险
写入多张表 写入一张表
没[......]

Read more

分类: MySQL 标签: ,

Linux下如何链接动态库静态库

2012年6月7日 没有评论

一个程式从原始码到可执行文件(或共享库文件),一般都要经过预处理、编译、汇编和链接这四个步骤:

编译过程扫描头文件的搜索路径顺序gcc 在编译时如何去寻找所需要的头文件 :※所有header file的搜寻会从-I开始※然后找gcc的环境变量 C_INCLUDE_PATH,CPLUS_INCL[......]

Read more

分类: Linux 标签:

linux设置lib、include的Path

2012年6月7日 没有评论

编辑/etc/profile
添加
export C_INCLUDE_PATH=路径:$C_INCLUDE_PATH
export CPLUS_INCLUDE_PATH=路径:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=路径:$LIBRARY_PATH[......]

Read more

分类: Linux 标签: ,

Httperf+AutoBech+GnuPlot构建WEBSERVER压力测试系统

2012年6月6日 没有评论

一、资源
Htterf: http://code.google.com/p/httperf/
AutoBech: http://www.xenoclast.org/autobench/
GnuPlot: http://www.gnuplot.info/

二、安装 Httperf & Ht[......]

Read more