• 小记--------kafka高效读写数据、kafka高效读写及zookeeper在kafka中的作用


    kafka高效读写数据
    1.顺序写磁盘
        kakfa的producer生产数据,要写入log文件中,写的过程是一直追加到文件末端为顺序写,顺序写能达到600M/s。而随机写只有100K/s,顺序写之所以快,是因为其省去了大量磁头寻址时间
     
    2.零复制技术
        正常操作将一个目录下的文件移动到另一个目录下, 首先通过系统空间读取到文件,在传输到用户空间(也就是我们的代码层面),在写入到系统空间,最后移动到另一个目录下。
        而kafka架构是直接跳过用户空间,在系统空间进行操作。因此高效的读写效率
     
    Zookeeper在kafka中的作用
        kafka集群中有一个broker会被选举为Controller,负责管理集群broker的上下线,所有topic的分区副本分配和leader选举(争抢资源,哪个broker抢到,就会被选举为Controller)等工作。
        Controller的管理工作都是依赖于Zookeeper。Controller的作用就是在Zookeeper中写消息,其他作用与普通的broker是一样的。
     
    Kafka事务
        kafka事务可以保证kafka在Exactly Once语义的基础上,生产和消费可以跨分区和回话,要么全部成功,要么全部失败
     
    producer事务
        为了实现跨分区跨会话的事务,需要引入一个全局唯一的TransactionID,并将Producer获得的PID和TransactionID绑定,这样当Producer重启后就可以通过正在进行的TransactionID获得原来的PID,
        为了管理Transaction, kafka引入一个新的组件Transaction Coordinator,Producer就是通过和Transaction Coordinator交互获得TransactionID对应的任务状态,Transaction Coordinator还负责将事务所有写入kafka的一个内部Topic,这样即使整个服务重启,由于事务状态得到保存,进行中的事务状态可以得到回复,从而继续进行。
     
  • 相关阅读:
    接口测试-postman
    select
    SQLserver的七种约束。
    数据库的创建、表的创建。
    vim编辑器删除键失效
    客户端通过 HTTP 请求的 Header 信息总结
    清理/boot目录内容
    CentOS 7 配置samba 和 autofs
    CentOS 7 配置 nfs 和 autofs
    tftp简单文件传输协议基本配置
  • 原文地址:https://www.cnblogs.com/yzqyxq/p/12846933.html
Copyright © 2020-2023  润新知