消息中间件——kafka

1、简介

Kakfa是一个分布式的基于发布/订阅模式的消息队列(message queue),主要应用于大数据的实时处理领域

2、消息队列的模式

  • 点对点模式

消息生产者发送消息到消息队列中,然后消息消费者从队列中取出并且消费消息,消息被消费后,队列中不在存储。所以消息消费者不可能消费到已经被消费的消息;队列支持存在多个消费者,但是对于一个消息而言,只会 有一个消费者可以消费;如果想发给多个消费者,则需要多次发送该条消息

  • 发布/订阅模式(一对多,消费者消费数据之后不会清除消息)

消息生产者将消息发布到topic中,同时有多个消息消费者(订阅)消费该消息,和点对点的方式不同,发布到topic的消息会被所有的订阅者消费;但是数据保留是期限的,默认是7天,因为他不是存储系统;kafka就是这种模式的;有两种方式,一种是是消费者去主动去消费(拉取)消息,而不是生产者推送消息给消费者;另外一种就是生产者主动推送消息给消费者,类似公众号。

3、系统结构

在这里插入图片描述

broker负责缓冲消息,broker中可以创建topic,每个topic又有partition和replication的概念消费者组负责处理消息,同一个消费者组的中消费者不能消费同一个partition中的数据,消费者组主要是提高消费能力,比如之前是一个消费者消费100条数据,现在是2个消费者消费100条数据,可以提高消费能力;所以消费者组的消费者的个数要小于partition的个数,不然就会有消费者没有partition可以消费,造成资源的浪费

注:但是不同的消费者组的消费者是可以消费相同的partition数据

4、kafka安装配置

  • Kafka的安装只需要解压安装包就可以完成安装

tar -zxvf kafka_2.11 -2.1.1.tgz -C /usr/local/

  • 修改配置文件server.properties

设置broker.id 这个是kafka集群区分每个节点的唯一标志符

  • 设置kafka的数据存储路径

log.dirs= /usr/local/kafka/data

  • 设置是否可以删除topic,默认情况先kafka的topic是不允许删除的
  • Kafka的数据保留的时间,默认是7天
  • Log文件最大的大小,如果log文件超过1g会创建一个新的文件
  • Kafka连接的zk的地址和连接kafka的超时时间
  • 默认的partition的个数
  • kafka自带一个生产者和消费者的客户端
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值