0%

生产者需要用序列化器把对象转换成字节数组才能通过网络发送给Kafka集群。而在另一端,消费者需要用相应的反序列化器把从Kafka集群收到的字节数组转换成相应的对象才能做后续处理。
阅读全文 »

MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。由Austin Appleby在2008年发明,并出现了多个变种,都已经发布到了公有领域。该名称来自两个基本操作,乘法(MU)和旋转(R),在其内部循环中使用。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。
阅读全文 »

我们在使用 Apache Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多公司使用 Kafka 收集应用服务器的日志数据,这种数据都是很多的,特别是对于那种大批量机器组成的集群环境,每分钟产生的日志量都能以 GB 数,因此如何将这么大的数据量均匀地分配到 Kafka 的各个 Broker 上,就成为一个非常重要的问题。那么 Kafka 生产者如何实现这个需求呢。
阅读全文 »

Kafka 对消息的存储和缓存严重依赖于文件系统。人们对于“磁盘速度慢”的普遍印象,使得人们对于持久化的架构能够提供强有力的性能产生怀疑。事实上,磁盘的速度比人们预期的要慢的多,还是快得多,这取决于人们使用磁盘的方式。而且设计合理的磁盘结构通常可以和网络一样快。
阅读全文 »

在领英的高速发展的过程中,之所以它能有这么高速发展与数据有不可分割的关系,领英像很多互联网公司一样,数据是它的核心,领英有自己的用户,通过自己提供的服务和用户交流,用户把自己的数据直接的或者间接地提供给领英,领英通过做各样的科研或者分析,可以提取出很多新的见识和认知,这些信息会被反馈到我们的产品上,这个产品就会做得更有效,可以吸引更多的用户到我们平台,所以如果数据做得好的话,可以形成一个非常好的良性循环,用户可以得到更多的数据,可以做更好的分析,可以生产更好的产品,又可以吸引到更多的用户。
阅读全文 »

Kafka最初是由Linkedin公司开发的消息引擎,后来捐赠给了Apache软件基金会。起初,人们说Kafka是一个可扩展的,支持发布-订阅模式的消息系统;后来,人们说Kafka是一个实时数据管道;再后来,人们又说Kafka是一个分布式复制日志系统,可构建统一的企业数据集成堆栈;现在,Apache Kafka的官网说Kafka是一个分布式流平台。其实,这些说法都对,Kafka是一个不断迭代演进的系统,从最初的发布-订阅模式的消息系统逐步发展成为一个分布式流数据处理平台。
阅读全文 »

不懂得日志,你就不可能完全懂得数据库、NoSQL存储、key-value存储、复制、paxos、Hadoop、版本控制以及几乎所有的软件系统;然而大多数软件工程师对它不是很熟悉。我愿意改变这种现状。在这篇博客文章里,我将带你浏览你必须了解的有关日志的所有的东西,包括日志是什么,如何在数据集成、实时处理和系统构建中使用日志等等。
阅读全文 »