Kafka Broker源码:网络层设计】的更多相关文章

一.整体架构 1.1 核心逻辑 1个Acceptor线程+N个Processor线程(network.threads)+M个Request Handle线程(io threads) 多线程多Reactor模型,Acceptor独占一个selector,每个Processor有自己的selector 每个Processor都有一个名为newConnections的ConcurrentLinkedQueue[SocketChannel](),Acceptor会round-robin轮询Process…
[从源码学设计] Flume 之 memory channel 目录 [从源码学设计] Flume 之 memory channel 0x00 摘要 0x01 业务范畴 1.1 用途和特点 1.2 Channel 1.3 研究重点 1.4 实际能够学到什么 1.5 总述 0x02 定义 2.1 接口 2.2 配置参数 2.2.1 channel属性 2.4 Semaphore和Queue 2.5 MemoryTransaction 0x03 使用 3.1 channel如何使用 3.2 sour…
1.概述 在<Kafka 消息监控 - Kafka Eagle>一文中,简单的介绍了 Kafka Eagle这款监控工具的作用,截图预览,以及使用详情.今天笔者通过其源码来解读实现细节.目前该项目已托管于 Github 之上,作者编写了使用手册,告知使用者如何安装,部署,启动该系统.但对于实现的细节并未在参考手册中详细指出.这里,笔者通过本篇博文,来详细解读其实现细节.相关资料文献地址如下所示: Kafka Eagle 源码地址 Kafka Eagle 参考手册 Kafka Eagle 安装包…
[从源码学设计]蚂蚁金服SOFARegistry之时间轮的使用 目录 [从源码学设计]蚂蚁金服SOFARegistry之时间轮的使用 0x00 摘要 0x01 业务领域 1.1 应用场景 0x02 定时任务 2.1 什么是定时任务 2.2 Java定时任务框架 0x03 时间轮 3.1 缘由 3.2 定义 3.3 Netty时间轮HashedWheelTimer 3.3.1 实现 3.3.2 单线程与业务线程池 3.3.3 全局定时器 3.3.4 队列 3.4 Kafka和多层时间轮 3.4.1…
jQuery2.x源码解析(构建篇) jQuery2.x源码解析(设计篇) jQuery2.x源码解析(回调篇) jQuery2.x源码解析(缓存篇) 这一篇笔者主要以设计的角度探索jQuery的源代码,很多人说jQuery设计过于个人主义话,其实这样说是有一定偏见的,因为好的设计是可通用的.共通的,jQuery这么好用,我们怎么能说他的设计是个人主义呢?记得以前有人吐槽mvvm设计剑走偏锋,导致代码难以维护,不过前几年从mvvm火爆程度来看,另类绝不是不好.好了,开始正题. 提问:jQuery…
[从源码学设计]蚂蚁金服SOFARegistry之程序基本架构 0x00 摘要 之前我们通过三篇文章初步分析了 MetaServer 的基本架构,MetaServer 这三篇文章为我们接下来的工作做了坚实的铺垫. 本系列我们接着分析 Data Server,顺带会涉及一些 Session Server.因为 DataServer 和 MetaServer 代码实现和架构的基本套路类似,所以我们主要关心差异点和DataServer的特点. 本文会分析DataServer程序的基本架构. 0x01…
[从源码学设计]蚂蚁金服SOFARegistry之网络封装和操作 目录 [从源码学设计]蚂蚁金服SOFARegistry之网络封装和操作 0x00 摘要 0x01 业务领域 1.1 SOFARegistry 总体架构 1.2 应用场景 1.2.1 单元化状态 1.2.2 内网通讯 1.2.3 Http协议 1.3 问题点 1.4 解决方案 1.5 阿里方案 1.6 实现问题 1.7 总述 0x02 基础封装 2.1 Channel 2.1.1 Java Channel 2.1.2 SOFA Ch…
[从源码学设计]蚂蚁金服SOFARegistry网络操作之连接管理 目录 [从源码学设计]蚂蚁金服SOFARegistry网络操作之连接管理 0x00 摘要 0x01 业务领域 1.1 应用场景 0x02 管理内容 2.1 连接管理 2.2 管理内容 0x03 Connection管理 3.1 Connection对象 3.2 Connection类定义 3.3 ConnectionFactory 3.4 MetaServerConnectionFactory 3.5 DataServerCon…
[从源码学设计]蚂蚁金服SOFARegistry之消息总线 目录 [从源码学设计]蚂蚁金服SOFARegistry之消息总线 0x00 摘要 0x01 相关概念 1.1 事件驱动模型 1.1.1 概念 1.1.2 应用环境 1.2 消息总线 0x02 业务领域 2.1 业务范畴 2.2 问题点 2.3 解决方案 0x03 EventCenter 3.1 目录结构 3.2 类定义 3.2.1 操作 3.2.2 执行 & 解耦 3.2.3 Listener列表 3.2.4 ArrayListMult…
[从源码学设计]蚂蚁金服SOFARegistry之消息总线异步处理 目录 [从源码学设计]蚂蚁金服SOFARegistry之消息总线异步处理 0x00 摘要 0x01 为何分离 0x02 业务领域 2.1 应用场景 2.2 延迟和归并 2.2.1 业务特点 2.2.2 问题 2.2.3 解决 2.3 蚂蚁金服实现 0x03 DataChangeEventCenter 3.1 总述 3.2 DataChangeEventCenter 3.2.1 定义 3.2.2 消息类型 3.2.3 初始化 3.…