zoukankan      html  css  js  c++  java
  • 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合并成大文件过程,提高搜索过程
     
     
  • 相关阅读:
    Docker之概述
    redis命令
    spring mvc(1) 为什么要使用mvc
    学习到的
    HttpWebRequest简单使用
    推手总结
    react 生命周期
    利用反射对应数据库字段
    扩展方法
    发送请求并返回
  • 原文地址:https://www.cnblogs.com/lean-blog/p/13560237.html
Copyright © 2011-2022 走看看