Kafka基本使用

一、概述

1、kafka是什么

Kafka是一个分布式、分区的、多副本的、多订阅者,基于zookeeper协调 的,发布/订阅模式的消息队列(Message Queue)。

Kafka主要设计目标如下:

  • 以时间复杂度为O(1)的方式提供消息持久化能力,即使对TB级以上数据也能保证常数时间的访问性能
  • 高吞吐率。即使在非常廉价的商用机器上也能做到单机支持每秒100K条消息的传输
  • 支持Kafka Server(Kafka Broker)间的消息分区,及分布式消费,同时保证每个partition内的消息顺序传输
  • 同时支持离线数据处理和实时数据处理
  • Scale out:支持在线水平扩展

2、消息队列

(1)消息队列应用场景/好处

  • 解耦:上下游应用不在紧耦合,两边只要约定好消息格式或者规范即可
  • 可恢复性:系统的一部分组件失效时,不会影响到整个系统
  • 异步通信:允许用户把消息放入队列,但并不立即处理它
  • 扩展性
  • 削峰填谷

(2)两种模式

  • 点对点模式:1对1,消费者主动拉取消息,消息接收到后删除消息

Kafka基本使用_第1张图片

  • 发布/订阅模式:1对多,消费者收到消息之后不会删除消息

你可能感兴趣的:(大数据,高并发,消息队列,kafka,big,data,消息队列)