java 成神之路

155 篇文章
44 人订阅

全部文章

java404

Netty 之 ChannelPipeline 源码解析

ChannelPipleline 是 ChannelHandler 的管理容器,它内部维护了一个 ChannelHandler 的链表,可以方便的实现 Chan...

652
java404

Netty 之 FileRegion 文件传输

Netty 传输文件的时候没有使用 ByteBuf 进行向 Channel 中写入数据,而使用的 FileRegion。下面通过示例了解下 FileRegion...

816
java404

Netty 之 NioEventLoop 源码分析

每一个 NioEventLoop 开启一个线程,线程启动时会调用 NioEventLoop 的 run 方法,执行I/O任务和非I/O任务

512
java404

Netty 之 DefaultPromise 源码解析

promise 是可写的 future, 因为 future 不支持写操作接口,netty 使用 promise 扩展了 future, 可以对异步操作结果进行...

561
java404

Netty 之 AbstractNioByteChannel 源码分析

1、该类定义了一个 flushTask 变量,来负责刷新发送已经 write 到缓存中的数据。write 的数据没有直接写到 socket 中,而是写入到 Ch...

531
java404

Netty 之 ChannelOutboundBuffer 源码分析

每个 ChannelSocket 的 Unsafe 都有一个绑定的 ChannelOutboundBuffer , Netty 向站外输出数据的过程统一通过 C...

802
java404

Netty 之 NioSocketChannel 源码分析

从上面代码中可以看出 NioSocketChannel 封装了 Nio 中的 SocketChannel。 SocketChannel 是通过 Selecto...

734
java404

Netty 线程模型

Netty中的Reactor模型主要由多路复用器(Acceptor)、事件分发器(Dispatcher)、事件处理器(Handler)组成,可以分为三种。

802
java404

Netty 之 ByteBuf 分析

Netty 中的 ByteBuf 和 NIO 中的 ByteBuffer 的区别。

771
java404

Netty 之 AbstractChannel 和 AbstractNioChannel 源码分析

channel 是 netty 网络 IO 操作抽象出来的一个接口,主要功能有:网络IO的读写,客户端发起连接、主动关闭连接,链路关闭,获取通信双方的网络地址等...

714
java404

RocketMQ 延迟消息

RocketMQ 支持发送延迟消息,但不支持任意时间的延迟消息的设置,仅支持内置预设值的延迟时间间隔的延迟消息。

1242
java404

RocketMQ MappedFile 预热原理解析

从代码中可以看出,只有 MappedFile 的大小等于或大于 CommitLog 的大小并且开启文件预热功能才会预加载文件。 CommitLog 文件的大小...

1193
java404

RocketMQ 同步刷盘实现原理

981
java404

RocketMQ CommitLog 文件规则

偏移量:每个 CommitLog 文件的大小为 1G,一般情况下第一个 CommitLog 的起始偏移量为 0,第二个 CommitLog 的起始偏移量为 10...

1123
java404

RocketMQ 存储机制源码解析

producer 发送消息后,broker端开始存储消息,会调用 store 模块的 DefaultMessageStore.putMessage 进行存储消息...

1274
java404

DDOS 攻击

853
java404

RocketMQ 生产者 Producer 发送消息

org.apache.rocketmq.client.impl.producer.DefaultMQProducerImpl

1922
java404

RocketMQ 生产者 Producer 启动过程

从类关系中可以看出,MQProducer 有两种实现方式。一个是 DefaultMQProducer,另一个是 TransactionMQProducer。

1163
java404

RocketMQ 生产者 rebalence 原理

生产者 producer 在发送消息的时候,每个消息发送到 broker 只存储在某一个 quene 上。那么 producer 是怎么选择 queue 呢?

742
java404

RocketMQ 命令行工具源码结构解析

RocketMQ 提供有控制台及一系列控制台命令,用于管理员对主题,集群,broker 等信息的管理;

701

扫码关注云+社区