1.kafka架构

        Kafka是pull还是push

kafka一般包含多个生产者(producer),多个Broker(kafka支持水平扩展,一般Broker越多,吞吐量越高),多个消费者(Consumer),以及一个zookeeper集群,kafka通过zookeeper来管理集群配置,选举机制以及消费者发生变化时进行Rebalance。

生产者使用push模式将消息发布到Broker,消费者使用pull模式从Broker订阅消息。

push模式很难适应消费速率不同的消费者,如果push的速度太快,容易造成消费者拒绝服务或网络拥塞;如果push的速度太慢,容易造成消费者性能浪费。但是采用pull的方式也有一个缺点,就是当Broker没有消息时,消费者会陷入不断地轮询中,为了避免这点,kafka有个参数可以让消费者阻塞知道是否有新消息到达。

2.kafka与传统消息系统之间的三大关键区别

(1)kafka持久化日志,这些日志可以被重复读取和无限期保留

(2)分布式系统:可灵活伸缩,在内部通过复制数据提高容错能力和高可用性

(3)支持实时流式处理(不明白)

3.kafka的消费者如何消费数据

消费者每次消费数据时,消费者都会记录消费的物理偏移量(offset),等下次消费时,会接着上次位置继续消费。

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-10-07
  • 2021-06-08
  • 2021-11-29
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-07-05
  • 2021-09-14
  • 2022-12-23
  • 2021-12-12
相关资源
相似解决方案