Kafka概述与设计原理
kafka是一种高吞吐量的分布式发布订阅消息系统,有如下特性: 1. 通过O(1)的磁盘数据结构提供消息的持久化,这种结构对于即使数以TB的消息存储也能够保持长时间的稳定性能。 2 .高吞吐量:即使是非常普通的硬件kafka也可以支持每秒数十万的消息。 3 .支持通过kafka服务器和消费机集群来分区消息。 4 .支持Hadoop并行数据加载。 本篇属于大数据技术-> kafka 系列的开篇,本文从以下几个基础层面概述Kafka的知识点,后续在针对于单个的技术点扩展每篇博文。 Kafka背景介绍 Kafka基本架构组件 Kafka设计原理 Kafka用途 一:Kafka背景介绍 Kafka是一种高吞吐量的,分布式,快速、可扩展的,分区和可复制,基于发布/订阅模式的消息系统,由Linkedin开发,之后成为Apache项目的一部分。使用Scala语言编写,目前已被广泛应用于各行业各类型的数据管道和消息系统中。 kafka的设计目的是提供一个发布订阅解决方案,它可以处理消费者规模的网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 Kafka分布式发布订阅设计图 二 :Kafka基本架构组件 1. Broker :[中间者,代理者] Kafka集群包含多台服务器