• Kafka、Redis、ES中间件操作系统底层的优化


    本文意在利用知名中间件 Kafka、Redis、ES ,来复习上一篇操作系统底层知识的学习
     
    上一篇地址:关于IO多路复用,文件的Page  Cache请看: https://www.cnblogs.com/lean-blog/p/13559556.html
     
    kafka吞吐量高的原因:
    1. 数据读写为顺序读写,减少了
    2. 数据读取为零拷贝 -pagecache
    3. 数据分区存储,提高了读写的并行度
    4. 数据存储是经过压缩
    5. 批量读写操作
     
    redis速度快的原因:
    1.      单线程,省去了多线程切换的问题
    2. 协议简单
    3. 数据内存储存,读取速度快
    4. 内部使用Epoll的IO多路复用机制
     
    ES数据的写入流程:
         主要:write -> refresh -> flush
    • write:文档数据到内存缓存(),并存到 translog(日志保证数据不丢失)
    • refresh:内存缓存中的文档数据,到文件缓存(pageCache)中的 segment 。此时可以被搜到
    • flush 是缓存中的 segment 文档数据写入到磁盘(会清空对应数据的translog日志)
    • merge 将小的segment合并成大文件过程,提高搜索过程
     
     
  • 相关阅读:
    构建之法阅读笔记01
    学习进度13
    学习进度12
    个人冲刺十
    个人冲刺九
    个人冲刺八
    学习进度11
    个人冲刺七
    个人冲刺六
    [HDU 1232 ]畅通工程
  • 原文地址:https://www.cnblogs.com/lean-blog/p/13560237.html
Copyright © 2020-2023  润新知