加载中
线上消息堆积与感想

【环境介绍】 1.应用服务器部署在阿里云 2.消息中间件使用阿里云RocketMQ 前两天线上发生了MQ消息堆积的情况,在我的知识认知里,消息堆积的原因是消费者消费能力差,无法及时消费消息,才会导致...

04/26 22:55
1.9K
maven命令行下载依赖包&java命令执行class

【场景和需求】 在Linux系统下, 没有第三方的集成开发工具(如IDEA), 如何下载Jar包, 以及如何运行.java文件. 【解决步骤】 首先在你的系统上已经配置好了maven环境和Java环境.如何配置此处就...

04/13 22:24
59
本地编译Netty并打包成指定的版本

首先从GitHub下载Netty源码 https://github.com/netty/netty 虽然下载了源码, 一般情况我们会针对特定的tag版本进行学习研究. 这里我们选择netty-4.1.60.Final 执行以下命令 // 根据netty-4...

Netty之线程唤醒wakeup

首先回顾下, Netty中的IO线程主要完成三件事 1.轮询IO事件 2.处理IO事件 3.执行任务 在轮询IO事件的过程中,在Linux系统下, 使用epoll实现. 涉及的Netty代码如下 private void select() { //...

04/10 23:45
2.6K
Netty中真的没有使用锁吗?

Netty号称是一个事件驱动&异步串行无锁化的网络通信框架. 在Netty的官方网站(https://netty.io/)中声称, 它是一个异步的, 事件驱动的网络框架. 关于事件驱动, 在之前的文章中也简单提到过, N...

浅谈Netty和Python中的事件驱动

如果把Netty比作一台工厂车间, 那么IO线程就是车间里面的运作机器, IO线程一直在无限循环地做着三件事 1.轮询IO事件 2.处理IO事件 3.执行task任务 无限循环源码位置: io.netty.channel.nio....

04/01 22:49
1.6K
Netty中真的没有使用锁吗?

Netty号称是一个事件驱动&异步串行无锁化的网络通信框架. 在Netty的官方网站中声称, 它是一个异步的, 事件驱动的网络框架. 关于事件驱动, 在之前的文章中也简单提到过, Netty内部会一直轮询A...

解码器LengthFieldBasedFrameDecoder

解码器LengthFieldBasedFrameDecoder, 从名字上可以猜测出来, 它是基于长度的解码器. Netty从TCP缓冲区中读取字节, 把这些字节交给LengthFieldBasedFrameDecoder进行解码, 解码的操作是根据设...

Netty客户端发起连接过程注意点

使用Netty创建客户端的时候, 和创建服务端类似, 也需要经过创建-初始化-注册这三步, 最后一步也最重要就是连接操作 io.netty.bootstrap.Bootstrap#connect(java.net.SocketAddress) 创建就是...

03/27 21:57
27
浅谈Netty和Python中的事件驱动

如果把Netty比作一台工厂车间, 那么IO线程就是车间里面的运作机器, IO线程一直在无限循环地做着三件事 1.轮询IO事件 2.处理IO事件 3.执行task任务 无限循环源码位置: io.netty.channel.nio....

Netty服务端是如何一点一点被带动起来的(概略)

import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty.channel.ChannelPipeline;import io.nett...

迁移Zookeeper时Dubbo是否会注册到新的ZK上

为了说明问题, 这里描述一下场景. 应用配置的ZK地址是zk.infuq.com, 通过DNS解析的IP是192.168.0.1, 因此应用连接到了ZK1 然后把DNS的映射关系改成如下图所示,让zk.infuq.com解析成ZK2的IP(...

Netty中的LengthFieldBasedFrameDecoder解码器

假如客户端给服务端发送数据,那么服务端的Netty从网络中读取的数据都是连续的字节流数据,同时粘包和拆包也在'捣乱',如何读取一个完整的数据包, 这个重担就落在了解码器的身上. 本篇文章介绍下...

02/26 14:14
40
Dubbo与Netty杂谈

在Dubbo的'人生'中, 无论它是在自己的'亲爸爸'阿里家族成长, 还是'寄养'在Apache家族里, Dubbo的底层通信一直使用高性能的Netty框架. Dubbo在阿里家族一直成长到v2.6.9版本之后,就被送到Apa...

Netty模拟OOM-Metaspace

在模拟OOM之前, 先简单说下Netty服务端向客户端发送数据的时候, 涉及两个存储数据的地方, 如下图所示 业务线程在向客户端发送数据的时候, 是不能直接把数据发送到网络的, 只有IO线程才可以把...

Netty中的永动机

永动机即'永远运动的机器'. 作为服务端时, 需要接收客户端的连接, 需要接收客户端的数据, 或者向客户端发送数据. 既然需要接收客户端的连接, 那么就需要一个IO线程永远的执行一个无限循环.只...

02/21 21:46
29
Netty在Dubbo中使用了哪些Handler

本篇以Dubbo作为服务端为例. 当配置如下信息时 <dubbo:application name="infuq-dubbo-provider" /><dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" check="false" /><dubb...

Dubbo学习Netty中的FastThreadLocal

在之前的Netty的FastThreadLocal文章中介绍了FastThreadLocal在Netty中的实现和使用. 在JDK的ThreadLocal的实现上,它生成一个threadLocalHashCode值,根据这个Code值从ThreadLocalMap中存取值...

Netty中的任务队列(添加元素篇)

此篇文章讲解一下Netty中的任务队列.这里说的任务队列是Netty中的IO线程对应的任务队列. 在Netty中NioEventLoopGroup这个类相当于线程池,而由它创建的每个NioEventLoop相当于池中的线程,因为...

01/06 21:51
19

没有更多内容

加载失败,请刷新页面

返回顶部
顶部