kafka起源
在早期的时候 Kafka 并不是一个合格的消息队列,早期的 Kafka 在消息队列领域就像是一个衣衫褴褛的孩子一样,功能不完备并且有一些小问题比如丢失消息、不保证消息可靠性等等。
当然,这也和 LinkedIn 最早开发 Kafka 用于处理海量的日志有很大关系,人家本来最开始就不是为了作为消息队列滴,谁知道后面误打误撞在消息队列领域占据了一席之地。
初识 Kafka
Kafka 是一个分布式流式处理平台。
流平台具有三个关键功能:
消息队列:发布和订阅消息流,这个功能类似于消息队列,这也是 Kafka 也被归类为消息队列的原因。
容错的持久方式存储记录消息流:Kafka 会把消息持久化到磁盘,有效避免了消息丢失的风险·。
流式处理平台:在消息发布的时候进行处理,Kafka 提供了一个完整的流式处理类库。
Kafka 主要有两大应用场景:
消息队列 :建立实时流数据管道,以可靠地在系统或应用程序之间获取数据。
数据处理:构建实时的流数据处理程序来转换或处理数据流。
Kafka 几个重要概念
Kafka 将生产者发布的消息发送到 Topic(主题) 中,需要这些消息的消费者可以订阅这些 Topic(主题)。
Kafka 比较重要的几个概念:
Producer(生产者) : 产生消息的一方。
Consumer(消费者) : 消费消息的一方。
Broker(代理) : 可以看作是一个独立的 Kafka 实例。多个 Kafka Broker 组成一个 Kafka Cluster。
每个 Broker 中又包含了 Topic 以及 Partion 这两个重要的概念:
Topic(主题) :
Producer 将消息发送到特定的主题,Consumer 通过订阅特定的 Topic(主题) 来消费消息。
Partion(分区) :
Partion 属于 Topic 的一部分。一个 Topic 可以有多个 Partion ,并且同一 Topic 下的 Partion 可以分布在不同的 Broker 上,这也就表明一个 Topic 可以横跨多个 Broker 。
最后说一下,想要学习大数据的限时领取免费资料及课程
领取方法:
还是那个万年不变的老规矩
1.评论文章,没字数限制,一个字都行!
3.私信小编:“大数据开发教程”即可!
谢谢大家,祝大家学习愉快!(拿到教程后一定要好好学习,多练习哦!)
閱讀更多 微笑數據工程師 的文章