kafka生产者消息序列化 发表于 2019-10-13 更新于 2019-10-19 分类于 kafka 本文字数: 994 阅读时长 ≈ 2 分钟生产者需要用序列化器把对象转换成字节数组才能通过网络发送给Kafka集群。而在另一端,消费者需要用相应的反序列化器把从Kafka集群收到的字节数组转换成相应的对象才能做后续处理。阅读全文 »
MurmurHash算法 发表于 2019-10-10 更新于 2019-10-19 分类于 algorithm 本文字数: 1.5k 阅读时长 ≈ 4 分钟MurmurHash 是一种非加密型哈希函数,适用于一般的哈希检索操作。由Austin Appleby在2008年发明,并出现了多个变种,都已经发布到了公有领域。该名称来自两个基本操作,乘法(MU)和旋转(R),在其内部循环中使用。与其它流行的哈希函数相比,对于规律性较强的key,MurmurHash的随机分布特征表现更良好。阅读全文 »
kafka生产者消息分区机制 发表于 2019-10-09 更新于 2019-10-19 分类于 kafka 本文字数: 6.9k 阅读时长 ≈ 17 分钟我们在使用 Apache Kafka 生产和消费消息的时候,肯定是希望能够将数据均匀地分配到所有服务器上。比如很多公司使用 Kafka 收集应用服务器的日志数据,这种数据都是很多的,特别是对于那种大批量机器组成的集群环境,每分钟产生的日志量都能以 GB 数,因此如何将这么大的数据量均匀地分配到 Kafka 的各个 Broker 上,就成为一个非常重要的问题。那么 Kafka 生产者如何实现这个需求呢。阅读全文 »
kafka设计思想 发表于 2019-10-08 更新于 2019-10-19 分类于 kafka 本文字数: 22k 阅读时长 ≈ 54 分钟Kafka 对消息的存储和缓存严重依赖于文件系统。人们对于“磁盘速度慢”的普遍印象,使得人们对于持久化的架构能够提供强有力的性能产生怀疑。事实上,磁盘的速度比人们预期的要慢的多,还是快得多,这取决于人们使用磁盘的方式。而且设计合理的磁盘结构通常可以和网络一样快。阅读全文 »
【整理】饶军-Apache Kafka的过去、现在和未来 发表于 2019-10-08 更新于 2019-10-19 分类于 kafka 本文字数: 7.5k 阅读时长 ≈ 19 分钟在领英的高速发展的过程中,之所以它能有这么高速发展与数据有不可分割的关系,领英像很多互联网公司一样,数据是它的核心,领英有自己的用户,通过自己提供的服务和用户交流,用户把自己的数据直接的或者间接地提供给领英,领英通过做各样的科研或者分析,可以提取出很多新的见识和认知,这些信息会被反馈到我们的产品上,这个产品就会做得更有效,可以吸引更多的用户到我们平台,所以如果数据做得好的话,可以形成一个非常好的良性循环,用户可以得到更多的数据,可以做更好的分析,可以生产更好的产品,又可以吸引到更多的用户。阅读全文 »
kafka介绍 发表于 2019-10-08 更新于 2019-10-19 分类于 kafka 本文字数: 6.7k 阅读时长 ≈ 17 分钟Kafka最初是由Linkedin公司开发的消息引擎,后来捐赠给了Apache软件基金会。起初,人们说Kafka是一个可扩展的,支持发布-订阅模式的消息系统;后来,人们说Kafka是一个实时数据管道;再后来,人们又说Kafka是一个分布式复制日志系统,可构建统一的企业数据集成堆栈;现在,Apache Kafka的官网说Kafka是一个分布式流平台。其实,这些说法都对,Kafka是一个不断迭代演进的系统,从最初的发布-订阅模式的消息系统逐步发展成为一个分布式流数据处理平台。阅读全文 »
【整理】日志-每个软件工程师都应该知道的有关实时数据的统一抽象 发表于 2019-10-08 更新于 2019-10-19 分类于 kafka 本文字数: 25k 阅读时长 ≈ 1:02不懂得日志,你就不可能完全懂得数据库、NoSQL存储、key-value存储、复制、paxos、Hadoop、版本控制以及几乎所有的软件系统;然而大多数软件工程师对它不是很熟悉。我愿意改变这种现状。在这篇博客文章里,我将带你浏览你必须了解的有关日志的所有的东西,包括日志是什么,如何在数据集成、实时处理和系统构建中使用日志等等。阅读全文 »