kafka基本概念

kafka的定义:

分布式的基于发布订阅模式的消息队列
新定义:开源的分布式事件流平台

kafka作用

高性能数据管道、流分析、数据集成和关键任务应用

常用消息队列:大数据下kafka

应用场景:

缓存/消峰、解耦和异步通信
解释:
缓冲消峰:控制和优化数据流经过系统的速度,解决生产消息和消费信息处理速度不一致问题。
解耦:独立的拓展和修改两边的处理过程,只需要确保遵守同样的接口约束。
异步通信:把一个消息放入队列,并不立即处理,需要时再处理。

消息队列两种模式:

1、点对点模式——生产者生产,消费者消费后删除
2、发布/订阅模式——有多个topic、发送到不同主题,消费后不删除,其他消费者也可以拉取。


kafka基础架构:

producer——>Topic(切割为partition)——>consumer(消费者组)
1、为了方便拓展,将一个topic分割为多个partition
2、配合分区设计,提出消费者组,组内每个消费者并行消费。
3、为了提高可用性,为partition增加副本,类似NameNode HA,分为leader和follower(生产和消费只针对leader)
4、Zookeeper用来记录服务器节点运行状态、leader相关信息(2.8.0以后可以不选择)

你可能感兴趣的:(kafka,kafka,java,分布式)