• Kafka客户端源码总结


    客户端源码总结

    1. 把核心流程封装在一个方法里面,代码流程是比较清晰的

    2. 自定义异常,异常的提示很清晰.

    3. 底层代码异常往上抛,核心逻辑捕获异常,对异常进行处理.

    4. 面向对象的思想还是不错的.

    5. 自己设计高性能的多线程结构(线程安全,读多写少)

    6. 高并发的情况下,为了性能(线程安全),尽量缩小锁的粒度.分段加锁.

    7. 为了减少GC,设置了内存池.

    8. 客户端发送消息,支持异步,异步化的设计(回调函数),提升了性能.

    9. kafka的网络设计,一个客户端是管理多个网络的.

    10. 批处理的设计(吞吐量上升)

    11. 多个请求,把发往同一个broker请求合并在一起(减少网络请求)

    12. 响应的处理(考虑的很全面)

    13. 支持序列化,可以配置压缩格式.

    14. 拆包/粘包 的处理,

  • 相关阅读:
    高精度A+B
    基本定积分求面积
    二进制算子集和
    linux命令
    Dubbo
    java 集合区别
    Java中Comparable和Comparator区别
    synchronized实现原理
    ThreadLocal 原理
    java volatile关键字
  • 原文地址:https://www.cnblogs.com/weijiqian/p/14159588.html
Copyright © 2020-2023  润新知