kafka—走进kafka

  • 常见的两种消息引擎范型

    • 消息队列模型
      • 基于队列提供消息的传输服务,提供了一种点对点的消息传递方式 (一个发送者对应一个接受者),一旦消息被消费就会从队列中移除,每条消息只能被一个消费者消费
    • 发布订阅模型
      • 发布者将消息发送到topic中,订阅者订阅topic获取消息
  • kafka概述

    • kafka是一个多分区,多副本基于zookeeper协调的分布式消息系统,它以高吞吐,可持久化,可水平扩展的,支持数据流处理等多种特性而被广泛应用
  • kafka的使用场景

    • 消息传输
    • 日志收集
    • 用户行为数据
    • 监控性指标流失处理:0.10版本推出了流式处理组件kafka stream
  • kafka基础概念

    • producer:生产者
    • consumer:消费者
    • broker:服务代理节点,其实就是一个kafka服务节点
    • topic: 一类别的消息(逻辑)
    • partition:kafka的下级结构,为了提升吞吐量引入
    • replica:副本,为实现高可靠性使用冗余机制,kafka副本实现"一主多从"模式
    • offset:位移,每条消息对应一个位移的序列
    • message: 消息实体
    • consumer group:消费者组 (逻辑概念),多个消费者同属一个消费者组,那么消费者组的多个消费者共同消费topic,每个消费者消费一个或多个分区,一个分区只允许一个消费者消费
  • kafka的版本变迁  

  • 生产者和消费者新老版本对比

    • KfkaCounsumer新版本对比旧版本的优点

      • 单线程设计,单个Cousumer线程管理多个分区的消费Socket连接,极大简化了实现

      • 位移提交与保存交由kafka处理,不再保存到zookeeper,避免了zookeeper频繁读写的性能瓶颈

      • 实现了一个集中式协调者(coordinator)的角色,所有消费者组成员管理交由coordinator负责,不再依赖于zookeeper,对于消费者组的管理更加可控

    • KafkaProducer新版本对比旧版本的有优势

      • 发送过程划分为两个不同的线程:用户主线程和Sender IO线程,逻辑更容易控制

      • 完全异步发送消息,并提供回调机制(callback),判断消息发送与否

      • 批量发送:每个批次包含多个发送请求,提升吞吐量

      • 更加合理的分区策略:对于没有指定key的消息,旧版本是默认某段时间发送到固定分区,新版采用轮询方式,消息发送更加均衡

      • 底层统一使用java Selector的网络客户端,结合java的Future实现更加健壮的生命周期管理

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
电子图书资源服务系统是一款基于 Java Swing 的 C-S 应用,旨在提供电子图书资源一站式服务,可从系统提供的图书资源中直接检索资源并进行下载。.zip优质项目,资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松copy复刻,拿到资料包后可轻松复现出一样的项目。 本人系统开发经验充足,有任何使用问题欢迎随时与我联系,我会及时为你解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(若有),项目具体内容可查看下方的资源详情。 【附带帮助】: 若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步。 【本人专注计算机领域】: 有任何使用问题欢迎随时与我联系,我会及时解答,第一时间为你提供帮助,CSDN博客端可私信,为你解惑,欢迎交流。 【适合场景】: 相关项目设计中,皆可应用在项目开发、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面中 可借鉴此优质项目实现复刻,也可以基于此项目进行扩展来开发出更多功能 【无积分此资源可联系获取】 # 注意 1. 本资源仅用于开源学习和技术交流。不可商用等,一切后果由使用者承担。 2. 部分字体以及插图等来自网络,若是侵权请联系删除。积分/付费仅作为资源整理辛苦费用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值