kafka-1kafka基本概念和集群架构

本文介绍了Kafka的基本概念,包括其作为消息系统的意义,如解耦、扩展性和数据持久化。详细阐述了Kafka的前身、概念及其特性,如高吞吐、低延迟和高容错性。接着深入探讨了Kafka的集群架构,包括producer、broker、topic、partition、replica、consumer、consumer group以及controller等关键角色。文章还提到了Kafka如何使用Zookeeper进行元数据管理和故障转移,并讨论了数据一致性相关的ISR机制和offset管理。
摘要由CSDN通过智能技术生成

消息系统的意义

  • 解耦
    • 生产者和消费者可以单独的进行扩展和修改,只需要遵循同样的接口约束就行
  • 扩展性
    • 因为解耦特性,可以单独的增加消息入队和处理频率
  • 冗余和防止数据丢失
    • 消息队列接受大量的数据并将数据持久化,直到被消费为止
      • 从消息队里删除数据前,需要处理系统明确的告知消息队里已处理完数据,从而保证了数据不会丢失。
  • 灵活性和峰值处理能力
    • 数据可能有峰值,按照峰值来配置资源会造成浪费。有了消息系统,峰值的压力由消息系统承担,大量的数据可以进入消息队里等待,而不是必须马上处理。
  • 可恢复性
    • 可恢复性主要指的是处理数据程序的可恢复性。系统的一部分组件失效时,不会影响整个系统。当某个处理程序重新启动后,可以继续处理数据
  • 顺序保证
    • 大部分消息队列是有序的,并且能保证数据会按照特定的顺序被处理。(kafka保证一个partition内的消息的消息有序,全局不保证,除非只有一个partition。但是只有一个partition就没意义了)
  • 缓冲
    • 由于解耦合消息队列的存在,生成消息和消费消息的速度可以不一致
  • 异步通信
    • 很多时候,用户不想也不需要立即处理数据。消息队列提供了异步通信机制。生产者可以一直向消息系统的消息队列放入数据,消费者可以在需要的时候处理数据。

简单来说消息系统的核心意义是</

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值