![](https://img-blog.csdnimg.cn/20201014180756738.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Netty
嫩草终结者
一个渴望成为大牛的小程序猿
展开
-
Netty系列之Netty高性能之道
1. 背景1.1. 惊人的性能数据最近一个圈内朋友通过私信告诉我,通过使用Netty4 + Thrift压缩二进制编解码技术,他们实现了10W TPS(1K的复杂POJO对象)的跨节点远程服务调用。相比于传统基于Java序列化+BIO(同步阻塞IO)的通信框架,性能提升了8倍多。事实上,我对这个数据并不感到惊讶,根据我5年多的NIO编程经验,通过选择合适的NIO框架,加上高转载 2017-03-02 20:25:26 · 342 阅读 · 0 评论 -
Netty学习三:线程模型
1 Proactor和ReactorProactor和Reactor是两种经典的多路复用I/O模型,主要用于在高并发、高吞吐量的环境中进行I/O处理。I/O多路复用机制都依赖于一个事件分发器,事件分离器把接收到的客户事件分发到不同的事件处理器中,如下图:1.1 select,poll,epoll在操作系统级别select,poll,epoll是3个常用的I/O多路复用机转载 2017-11-30 16:25:37 · 258 阅读 · 0 评论 -
Netty系列之Netty线程模型
1. 背景1.1. Java线程模型的演进1.1.1. 单线程时间回到十几年前,那时主流的CPU都还是单核(除了商用高性能的小机),CPU的核心频率是机器最重要的指标之一。在Java领域当时比较流行的是单线程编程,对于CPU密集型的应用程序而言,频繁的通过多线程进行协作和抢占时间片反而会降低性能。1.1.2. 多线程随着硬件性能的提升,CPU的核数越转载 2017-08-01 11:57:05 · 410 阅读 · 1 评论 -
Netty
Netty是什么? 本质:JBoss做的一个Jar包 目的:快速开发高性能、高可靠性的网络服务器和客户端程序 优点:提供异步的、事件驱动的网络应用程序框架和工具 通俗的说:一个好使的处理Socket的东东 如果没有Netty? 远古:java.net + java.io 近代:转载 2017-07-16 21:25:11 · 387 阅读 · 0 评论 -
使用netty开发简单样例
Server端代码:EchoServer.javapackage com.zhuyun.test;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.channel.ChannelInitializer;import io.netty原创 2017-03-16 15:07:21 · 1584 阅读 · 0 评论 -
Java NIO框架Netty教程(四) – ServerBootStrap启动流程源码分析
有一段事件没有更新文章了,各种原因都有吧。搬家的琐事,搬家后的安逸呵呵。不过,OneCoder明白,绝不能放松。对于Netty的学习,也该稍微深入一点了。所以,这次OneCoder花了几天时间,仔细梳理了一下Netty的源码,总结了一下ServerBootStrap的启动和任务处理流程,基本涵盖了Netty的关键架构。 OneCoder总结了一张流程图: 该图转载 2017-03-16 09:17:50 · 373 阅读 · 0 评论 -
Java NIO框架Netty教程(三) – Object对象传递
说了这么多废话,才提到对象的传输,不知道您是不是已经不耐烦了。一个系统内部的消息传递,没有对象传递是不太现实的。下面就来说说,怎么传递对象。如果,您看过前面的介绍,如果您善于专注本质,勤于思考。您应该也会想到,我们说过,Netty的消息传递都是基于流,通过ChannelBuffer传递的,那么自然,Object也需要转换成ChannelBuffer来传递。好在Netty本身已经给我们写好了转载 2017-03-16 09:15:54 · 522 阅读 · 0 评论 -
Java NIO框架Netty教程(二) – 白话概念
"Hello World"的代码固然简单,不过其中的几个重要概念(类)和 Netty的工作原理还是需要简单明确一下,至少知道其是负责什。方便自己以后更灵活的使用和扩展。 声明,笔者一介码农,不会那么多专业的词汇和缩写,只能以最简单苍白的话来形容个人的感受和体会。如果您觉得这太不专业,笔者首先只能抱歉。然后,笔者曾转过《Netty代码分析》,您可参考。ChannelEvent转载 2017-03-16 09:11:57 · 439 阅读 · 0 评论 -
Java NIO框架Netty教程(一) – Hello Netty
先啰嗦两句,如果你还不知道Netty是做什么的能做什么。那可以先简单的搜索了解一下。我只能说Netty是一个NIO的框架,可以用于开发分布式的Java程序。具体能做什么,各位可以尽量发挥想象。技术,是服务于人而不是局限住人的。如果你已经万事具备,那么我们先从一段代码开始。程序员们习惯的上手第一步,自然是"Hello world",不过Netty官网的例子却偏偏抛弃了"Hello world转载 2017-03-16 09:10:57 · 482 阅读 · 0 评论 -
Netty 中的流控与统计
转自:https://emacsist.github.io/2018/04/26/netty-中的流控与统计/Netty 流量相关的包io.netty.handler.trafficChannelTrafficShapingHandler : Channel 级别的GlobalChannelTrafficShapingHandler : 全局级别的(无论打开多少Channel) 以及 每条 Cha...转载 2018-06-08 14:58:19 · 6820 阅读 · 0 评论