一个存放消息组件
生产者,  消费者,  broker部分

消息队列的两种模式
*生产者和消费者(消费者主动拉取信息然后删除
*发布订阅()

kafka基础架构*一个topic多个partition副本信息全量),有分leaderfollower
*消费者组(只消费leader的)(一个分区一个消费者处理)
*zookeeper()

安装

修改broker id
修改ZK地址
修改数据存放路径

生产原理

流程数据——缓存——集群
        数据量先写缓存 到达指定批次数量(batch默认16K),或等待时间(linger)默认0秒)就发送

        *可以异步发送

        *可以异步发送回调

        *同步发送

        分区
       
*1有指定的-指定partution
        *2有key的-根据keytoipcpartition取余
        *3啥没有的-粘性分区随机,批次满了或时间到在随机下一个)

         怎么提高吞吐量

        *加大批次(batch)(默认16K)
        *等待时间(linger)(默认0
        *压缩
        *修改缓冲区大小(默认32M)

        幂等性:(无论发送多少次,都只保存一条
        去重性(最多一次配置acks
        可靠性最少一次

        有序性(开启幂等性,或者设置分区

架构

        消费者

        broker
                broker
                topic
                partition分区
                        可靠性副本leader,folloer))
                        生产者和消费者只对leader
                        一个分区只有一个消费者

        消费者

        zookeeper
                broker.ids
                leader
                辅助选举

生产者API

        *send()异步发送
        *可以回调可以实现同步
        *批量发送设置batch(默认16K),或等待时间(linger)默认0
        *配置acks
                (acks=0或者1)最多一次(去重)
                 (acks=-1或者retries>0)最少一次可靠
        

消费者API
       
可以自动提交手动提交(单条或者批量提交
 

支持事务y

      隔离级别 读未提交,读提交

原文地址:https://blog.csdn.net/weixin_38822255/article/details/134805997

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任

如若转载,请注明出处:http://www.7code.cn/show_47996.html

如若内容造成侵权/违法违规/事实不符,请联系代码007邮箱suwngjj01@126.com进行投诉反馈,一经查实,立即删除

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注