码农知识堂 - 1000bd
  •   Python
  •   PHP
  •   JS/TS
  •   JAVA
  •   C/C++
  •   C#
  •   GO
  •   Kotlin
  •   Swift
  • kafka 相关概念


    1 kafka 生产者
    kafka 用push的方式把消息推送到topic
    每个topic下可以有多个分区,
    可以用hash 也可以用轮询的方式指定分区
    每个分区内部是可以保证顺序的,但是整体无法保证顺序,除非设置成一个topic只有一个分区。
    kafka这种多分区的设置 带来的好处:
    1.一般来说每个分区下面代表的是一台机器,对于生产者来说相当于提升了kafka的写速度。
    2.对于生产者来说增加分区,还提升了存储能力。

    3.对于消费者来说,一般是每台机器对应一个分区,所以提升了kafka的读能力。

    其实就是高吞吐量

    生产者分区&日志

    在这里插入图片描述

    消费者

    在这里插入图片描述

    高速写入

    kafka的日志是以磁盘的方式保存的,一般认为在磁盘写速度较低
    kafka 使用了顺序写,并且使用了MMFile (memory,mapped File)内存映射空间。来实现高速写入
    内存映射技术原理就是,kafka在操作系统内核开辟了一个空间,这个空间关联了一个磁盘空间,每次写入的时候直接操作这个内核空间,然后由操作系统决定什么时候真正写入磁盘。

    这种设计由一个问题,就是写入内核后,还没来得及同步就宕机了,数据会丢失。
    解决的方式就是不写入内核,直接写入磁盘。
    嗯,然后 写速度大大下降。可能得不偿失。
    任何设计都不可能完美,在安全与速度之间会有取舍。

    高速读取

    kafka在响应客户读取的时候使用zerocopy技术,直接将数据通过内核空间传递出去。数据并没有抵达用户空间

    传统io:

    1.磁盘中的数据copy到内核缓冲区
    2.内核缓冲区copy到用户缓冲区
    3.用户缓冲区copy到socket缓冲区
    4.socket copy到相关协议发送区

    在这里插入图片描述

    zeroCopy

    1.磁盘中的数据copy到内核缓冲区
    2.内核copy到socket相关缓冲区
    3.socket copy到相关协议发送区

    在这里插入图片描述

  • 相关阅读:
    找不到x3daudio1_7.dll怎么解决?x3daudio1_7.dll的5个修复方法
    刷题指南,简洁扼要
    python实验10_文件与异常Ⅱ
    【超级基础版】十进制与二进制的转换
    一.STM32F030C8T6 MCU开发之系统时钟
    STL容器——priority_queue的模拟实现
    JDBC-Statement+ResultSet介绍
    【Go 基础篇】Go语言结构体之间的转换与映射
    数据结构(c语言版) 栈
    新手教学系列——高效管理MongoDB数据:批量插入与更新的实战技巧
  • 原文地址:https://blog.csdn.net/u013929107/article/details/133837925
  • 最新文章
  • 攻防演习之三天拿下官网站群
    数据安全治理学习——前期安全规划和安全管理体系建设
    企业安全 | 企业内一次钓鱼演练准备过程
    内网渗透测试 | Kerberos协议及其部分攻击手法
    0day的产生 | 不懂代码的"代码审计"
    安装scrcpy-client模块av模块异常,环境问题解决方案
    leetcode hot100【LeetCode 279. 完全平方数】java实现
    OpenWrt下安装Mosquitto
    AnatoMask论文汇总
    【AI日记】24.11.01 LangChain、openai api和github copilot
  • 热门文章
  • 十款代码表白小特效 一个比一个浪漫 赶紧收藏起来吧!!!
    奉劝各位学弟学妹们,该打造你的技术影响力了!
    五年了,我在 CSDN 的两个一百万。
    Java俄罗斯方块,老程序员花了一个周末,连接中学年代!
    面试官都震惊,你这网络基础可以啊!
    你真的会用百度吗?我不信 — 那些不为人知的搜索引擎语法
    心情不好的时候,用 Python 画棵樱花树送给自己吧
    通宵一晚做出来的一款类似CS的第一人称射击游戏Demo!原来做游戏也不是很难,连憨憨学妹都学会了!
    13 万字 C 语言从入门到精通保姆级教程2021 年版
    10行代码集2000张美女图,Python爬虫120例,再上征途
Copyright © 2022 侵权请联系2656653265@qq.com    京ICP备2022015340号-1
正则表达式工具 cron表达式工具 密码生成工具

京公网安备 11010502049817号