kafka简单介绍

kafka是什么

kafka中文官网

摘自官网:
Kafka® is used for building real-time data pipelines and streaming apps. It is horizontally scalable, fault-tolerant, wicked fast, and runs in production in thousands of companies.
意思就是:kafka是用于构建实时数据管道和流应用程序。具有横向扩展,容错,wicked fast(变态快)等优点,并已在成千上万家公司运行。
在我认为:kafka就是一个消息中间件
什么又是消息中间件呢?
可与OA、ERP集成的免费消息中间件Active Messenger(简称AM)是一款非常实用的企业即时通讯软件。系统提供免费的消息中间件(以com组件的方式提供),开放给第三方程序使用。
以上是百度解释
就是我们用a这个软件的时候要用c这个里面的东西,但是我们没有去直接调用,而是通过b这个软件去使用c里面的东西
常见的消息中间件产品:
1.ActiveMQ
  ActiveMQ 是Apache出品,最流行的,能力强劲的开源消息总线。ActiveMQ 是一个完全支持JMS1.1和J2EE 1.4规范的 JMS Provider实现。我们在本次课程中介绍 ActiveMQ的使用。
2.RabbitMQ
  AMQP协议的领导实现,支持多种场景。淘宝的MySQL集群内部有使用它进行通讯,OpenStack开源云平台的通信组件,最先在金融行业得到运用。
3.ZeroMQ
  史上最快的消息队列系统
4.Kafka
  Apache下的一个子项目 。特点:高吞吐,在一台普通的服务器上既可以达到10W/s的吞吐速率;完全的分布式系统。适合处理海量数据。
kafka简单介绍_第1张图片

相关术语

Topic 用来对消息进行分类,每个进入到 Kafka 的信息都会被放到一个 Topic 下
Broker 用来实现数据存储的主机服务器
Partition 每个 Topic 中的消息会被分为若干个 Partition,以提高消息的处理效率
Producer 消息的生产者
Consumer 消息的消费者
Consumer Group 消息的消费群组

kafka优势

可靠性:partition机制和replication机制,使消息的传递有着很高的可靠性
稳定性,支持集群
高性能,高吞吐量,即使在TB的数据存储情况下,仍然表现出很好的稳定性
支持消息广播和单播,可以根据重设offset实现消息的重复消费

分区机制和文件存储机制

kafka中的消息是以topic进行分类的,生产者通过topic向kafka broker发送消息,消费者通过topic读取消息。
然而topic在物理层面上又能够以partition进行分组,同一个topic下有多个不同的partition,每个partiton在物理上对应一个目录(文件夹),以topic名称+有序序号的形式命名(序号从0开始计,最大为partition数-1)。partition是实际物理上的概念,而topic是逻辑上的概念。Patition 的设计使得Kafka的吞吐率可以水平扩展。

参考文档:
kafka官方文档
Kafka全解析
小白也能看懂的简单明了kafka原理解析

你可能感兴趣的:(kafka简单介绍)