自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(20)
  • 资源 (11)
  • 收藏
  • 关注

原创 文章标题

kafka 缺点partition内部有序,不保证全局有序消息可能重复处理监控太弱不支持高级的消息队列特性:消息发送失败时重发,消息定时发送

2016-03-10 00:01:50 878

原创 关于kafka的疑惑

Kafka Confusion1.kafka(1) consumer与partition是一对多的关系consumer group里的一个consumer可以消费多个partition,但是一个partition只能被一个consumer消费,因为kafka的设计是不允许在一个partition上并发的。为了提高消费的并发,必须增加partition的数量。如果consumer比partition多

2015-12-25 19:42:05 8243 1

原创 sarama架构

1.client创建producer或consumer时,都会创建一个client与之关联,client负责获取metadata信息,并且client会启动一个backgroundMetadataUpdater,定期获取metadata。client维护一个broker表,client在创建时,就连接到kafka broker,并启动broker的responseReceiver,用于接收kafka

2015-12-25 19:39:51 5938 1

原创 Kafka设计要点

Kafka设计要点1.持久化(1) 利用OS的pagecache 不在进程中维护cache,而是直接写入磁盘,并定期刷新到磁盘。 使用进程cache的缺点:增加内存占用量;进程重启时要么重建cache(很耗时),要么以空cache运行(初始性能很差);加重编码负担,需要维护cache和磁盘上数据的一致性。(2) 顺序写磁盘 没有使用B-Tree,因为B-Tree的复杂度是O(logn),而在磁

2015-12-06 19:30:36 687

原创 memcached LRU队列状态转换

我们假设memcached开启了 lru_maintainer_thread线程,这时将使用HOT_LRU, WARM_LRU, COLD_LRU, NOEXP_LRU四种队列。1. 从内存池中新分配的item,将其放入HOT_LRU队列。2. HOT_LRU队列中数据量超过阀值,则转移到COLD_LRU队列。3. WARM_LRU队列中数据量超过阀值,则转移到COLD_LRU

2015-07-28 21:20:20 1455

原创 memcached 线程总结

1. hash表扩容线程  [ assoc_maintenance_thread ](1) 创建新的hash表(2) 将旧hash表数据迁移到新hash中2. automove线程 [ slab_maintenance_thread ](1) 检测是否需要进行rebalance(2) 通知rebalance线程执行3. rebalance线程 [ slab_rebalanc

2015-07-28 11:36:18 756

原创 现有的CEP产品介绍

CEP(Complex Event Processing,复杂事件处理)是近年来在互联网中不断升温一个词汇。在CEP的领域,国外已经有了很多研究成果和相当成熟的产品,而中国的这个市场才刚刚打开。流式数据处理是CEP的一个核心技术,流计算来自于一个信念:数据的价值随着时间的流逝而降低,所以事件出现后必须尽快地对它们进行处理,最好数据出现时便立刻对其进行处理,发生一个事件进行一次处理,而不是缓存成一批

2011-12-10 16:14:10 20066 3

原创 查找出现次数大于n/k的重复元素 --- 多重集算法

继续前一篇文章...相对于前一篇文章讲的算法来说,“多重集算法”比较容易理解。我们把原始数组看成一个多重集,每次从数组中删除k个不同的元素,直到不能再删了为止。那么最后数组中剩余的元素就是候选元素。例如 {1,2,3,3,4,4,3,5,3} ,这里n=9,k=3。我们要查找出现次数大于n/k=3的元素。下划线表示被删除的元素:{1,2,3,3,4,4,3,5,3} =>

2011-12-04 18:05:56 2073

原创 查找出现次数大于n/k的重复元素 ---非多重集算法

本文是对一篇英文论文的总结:Finding Repeated Elements。想看原文,请Google之。这个问题的简单形式是“查找出现次数大于n/2的重复元素”。我们先从简单问题开始,然后再做扩展。1.查找出现次数大于n/2的重复元素  《编程之美》中有同样的一道题《寻找发帖水王》,具体思路是每次删除两个不同的元素,最后剩下的就是要求的元素。这个结论的证明如下:  已知:n,m

2011-12-04 10:07:44 3620 1

原创 高性能复杂事件处理---模式匹配

原论文:High-PerformanceComplex Event Processing over Streams本篇论文的算法是基于SASE语言。对该语言不作详细介绍,这里只描述模式匹配的算法。1.      基于查询计划的方法1.1    基本查询计划SASE中的查询计划由6个操作符的某个子集组成:Ø  序列扫描(sequencescan)Ø  序列构造(sequenc

2011-11-23 23:01:59 4319

翻译 SASE+:一种使用克林闭包应用于事件流的敏捷语言

翻译自论文: 《SASE+: An Agile Language for Kleene Closure over Event Streams》   本文并不是原文的逐句翻译,而是提取了原文中的精华,并加入了本人的理解。【】里的内容是我作的注释。不当之处,欢迎指正。  SASE+是一种复杂事件处理语言,它支持克林闭包来处理事件流。克林闭包已经被很好地研究正则表达式匹配,应用于流处理的克林闭包

2011-10-28 17:08:16 5203 3

转载 MapReduce Hold不住?——浅谈流式计算系统

原文:http://www.programmer.com.cn/8606/本文系统地介绍和分析比较了业界主流的Yahoo! S4、StreamBase和Borealis三种流式计算系统,希望读者能从这些系统的设计中领悟到不同场景下流式计算所要解决的关键问题。背景非实时计算几乎都基于MapReduce计算框架,但MapReduce并不是万能的。对于搜索应用环境中的某些现实问题

2011-10-27 21:18:29 3495

原创 C++ hash_map 与 Java HashMap 的区别

与Java中的HashMap比起来, C++ STL 中hash_map的实现并不是很完美。原因在于一些小的细节:1. Hash表的增长方式:     hash_map: 当元素数量element_NUM超过桶的数量bucket_NUM 时,确定一个新的桶数量N。N是质数,它是从一个质数表中选择出来的,它必须大于等于元素数量element_NUM。质数表中的质数是从小到大排列的,基本上后一

2011-10-26 17:27:37 7854

原创 Esper 中的模式匹配 (Pattern Match) ----事件模式概述

事件模式概述对于一个模式,当一个或多个事件满足了该模式的定义时,就会触发模式匹配。模式表达式由“模式原子”和"模式算子"组成。1.模式原子是构建模式的基本单元。2.模式算子控制表达式的生命周期,将模式原子组合到一起。模式原子包括三种:1) 过滤表达式:指定要查找的事件。2)基于时间的事件观察者:指定时间间隔或者时刻。3)自定义的插件观察者:用来观察应用中指定的事

2011-10-25 19:52:40 3095

转载 Esper-技术简介

1.1介绍CEP和事件流分析Esper引擎是为了满足对事件进行分析并做出反应等这些应用需求而产生的。这些应用要求事实或接近事实处理 事件(或消息)。有时候是为了应对复杂事件处理(CEP)和事件流分析的。关键要考虑这些类型应用的(高)吞吐量、(低)响应时间和需求逻辑的复杂程度 (复杂计算)。esper可以用在股票系统、风险监控系统等等要求实时性比较高的系统中。1.2 CEP和关系数据库关

2011-10-20 22:48:41 3227

转载 输入输出文件的缓冲区

#include #include int main(void){    int i = 0;    while(1) {        printf("sleeping %d", i++); //(1)         fflush(stdout);         sl

2008-10-22 23:43:00 1190

转载 取石子游戏

“抢30”是我国民间的一个两人游戏,具有很强的对抗性和娱乐性。抢30游戏通常有两种玩法。(1)两人从1开始轮流报数,每人每次可报一个数或两个连续的数,谁先报到30,谁就为胜方。(2)两人从1开始轮流报数,每人每次可报一个数或两个连续的数,同时把两个人报出的所有数累加,谁先使这个累加数最先达到30,谁就为胜方。解决最个问题的一般策略是用倒推法。以(1)为例,要抢到30,必须抢到27;

2008-08-25 22:41:00 3044

原创 约瑟夫问题

假设当前剩下i个人(i0     ,    1      ,      2    ,      3        ...      m ,    m + 1    ...     i-1, i-m  ,  i-m+1 ,  i-m+2 ,  i-m+3    ...       0 ,       1        ....    i-1-m    (转换之后)如果第二行中剩下的人是s

2008-08-24 23:42:00 1025

转载 Floyd算法

(参考NKOJ1039 Arbitrage)定义Floyd算法又称为弗洛伊德算法,插点法,是一种用于寻找给定的加权图中顶点间最短路径的算法。核心思路通过一个图的权值矩阵求出它的每两点间的最短路径矩阵。从图的带权邻接矩阵A=[a(i,j)]n×n开始,递归地进行n次更新,即由矩阵D(0)=A,按一个公式,构造出矩阵D(1);又用同样地公式由D(

2008-08-21 19:22:00 876

原创 NKOJ 1236 a^b

1.求n个数相乘的结果模上9的结果.  (k1*k2*...*kn)%9=(k1%9)*(k2%9)*...*(kn%9)2.一个数的各位数字分别是a1,a2...an ,则  (a1a2...an)%9=(a1+a2+...+an)%9  证明:     令s=a1a2...an=a1*10^(n-1)+a2*10^(n-1)+...+an                  =a1*(999..

2008-08-21 18:41:00 782

gdb internal

gdb实现的技术细节,配合gdb源码看,效果更好。

2012-07-27

iPhone Application Programming Guide

完整清晰的iPhone Application Programming Guide

2012-04-28

esper_adapter_reference

Esper-4.3.0的adapter手册

2011-11-25

esper_reference

Esper-4.3.0的使用手册,文档。

2011-11-25

利用Java的HashMap 改造C++ 的hash_map

结合Java的HashMap中的一些优点,改进了C++ 的hash_map。 详细说明见我的博客:http://blog.csdn.net/mdj67887500/article/details/6907702

2011-10-26

Linux Kernel核心中文手册

共分15章 Hardware Basic( 硬件基础知识 ) Software Basic( 软件基础 ) Memory Management (内存管理) Chapter 4 Processes (进程) Interprocess Communication Mechanisms (进程间通讯机制) ......

2010-03-09

IPMonitor C++实现

局域网内IP流量分析,只捕获TCP和UDP数据包。用wincap实现。MFC界面。内附说明文档。

2009-12-14

C/S架构的C++实现

用socket实现C/S架构的小程序,包括TCP服务和UDP服务,TCP服务是计算数学表达式,UDP服务是返回反序字符串.内有说明文档

2009-12-14

DOM文档对象中文手册

JDOM文档对象中文手册,有注释,例子.

2009-02-15

UNIX C语言函数详解

unix c语言函数详解 按字母顺序排列,还有例子

2008-12-22

linux 学习笔记

linux 学习笔记 基本命令,服务器搭配

2008-12-22

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除