kafka自学之旅一

Kafka简介

Kafka是一款基于生产者消费者的消息队列管理软件,一般用于数据的异步处理,请求消峰,消除耦合等场景使用。特别实用于系统日志。既可以把日志和业务解除耦合性,又能一异步化处理,减少日志写入的操作耗时。老版本的Kafka是Scala语言编写的,存在许多漏洞,新的版本Kafka是Java语言编写,弥补了许多老版本的漏洞。是LinkedIn公司捐献给apache公司,成为顶级孵化项目。

kafka的优点

  1. 异步化处理:消息是基于生产者消费者模式,生产者往消息队列添加消息,消费者消费消息。生产者不需要看消息是否被消费,只需要往队列里 添加消息即可。而消费者不需要处理生产者什么时候添加消息。只要队列里有消息,就消费消息。
  2. 请求消峰:对于一些互联网公司,可能某一时刻请求特别多,消息队列可以存储服务期处理负荷之外的请求,延迟处理,不让服务器崩溃。
  3. 解除耦合性:业务冲可能存在一些必须要但是与业务无关的处理,同时这些可能存在写操作等耗费时间较长。对于这些处理就可以通过消息队列来处理。解除耦合性。
  4. 消息持久化存储:对于消息消费,可能存在消费失败的情况,如果消息不能持久化,就会造成数据的丢失。对于Kafka来讲,它能够提供了消息的持久化机制来满足需求。
  5. 支持多语言,虽然kafka是Java语言编写的,但是不仅仅是Java语言使用,许多语言也同时在使用Kafka。例如C,C++, GO等。
  6. 支持集群,通过内置的zookeeper来管理集群的各个节点。(可能大部分的软件都支持这门技术)

kafka结构

  1. producer:生产者,消息的产生者,在生产者消费这模式中扮演生产者。
  2. consumer:消费者,消息的消费者,在生产者消费者模式中扮演消费者。
  3. broken:对于集群模式来讲,一个broken就是一个节点。
  4. topic:每一消息都隶属于一个主题,一个主题内有多个分区,消费者通过订阅主题来消费该主题下的消息。
  5. partition:分区,每个消息都隶属于一个分区,一个分区隶属于一个主题,一个分区内,消息消费是有序的。
  6. 消费组:目的相同消费者这集合。属于同一消费组的消费者消费消费组的消息。

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值