![](https://img-blog.csdnimg.cn/20201014180756724.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
netty
sicexpn
这个作者很懒,什么都没留下…
展开
-
Netty初探-架构剖析
Netty逻辑架构Netty采用了典型的三层网络架构进行设计与开发。逻辑架构如下:Reactor通信调度层主要职责:监听网络的读写和连接操作,负责将网络层的数据读取到内存缓冲区中,然后触发各种网络事件,例如连接创建、连接激活、读事件、写事件等,将这些事件触发到Pipeline中,由Pipeline管理的职责链进行后续处理。 由一系列的辅助类完成,包括Reactor线程NioeventLoop以及原创 2015-04-29 14:48:24 · 1357 阅读 · 0 评论 -
Netty初探-解决TCP粘包/拆包问题
业务上一个完整的包可能会被TCP拆分成多个包进行发送,也有可能把多个小的包封装成一个大的数据包发送,这就是所谓的TCP粘包和拆包问题。 对于这类问题,netty提供了LineBasedFrameDecoder和StringDecoder进行完美解决。如下是相关代码。代码TimeServerpackage com.xpn.netty.netty;import io.netty.bootstrap原创 2015-04-29 14:03:26 · 10994 阅读 · 0 评论 -
Netty初探-编解码技术
要谈编解码技术,首先从Java序列化进行谈起。由于Java序列化无法跨语言,很少用来进行消息的编解码和传输。而且序列化之后的码流太大,序列化性能太低,所以,有很大主流的编解码框架应运而生。主要介绍主流的三大编解码器。Google的Protobuf、FaceBook的Thrift以及JBoss的Marshalling。Google Protocol Buffers 结构化数据存储格式(XML,JS原创 2015-04-29 14:27:26 · 1644 阅读 · 0 评论 -
Netty初探-行业应用及未来
Netty行业应用Netty在互联网行业的应用传统垂直架构面临的问题前后台耦合,业务无法有效拆分。缺乏高性能的RPC框架,集群节点间的通信效率低下。缺少统一的服务注册中心对集群服务进行管理,系统弹性化不足。服务增多时,无法对服务进行有效的容量评估和治理。阿里分布式服务框架DubboNetty+二进制编解码框架实现内部协议。Zookeeper作为服务注册中心,动态注册和发现服务服务治理原创 2015-04-29 15:10:54 · 2855 阅读 · 0 评论 -
Netty初探-基本概念和相关类介绍
基本概念概念Netty是由JBOSS提供的一个java NIO开源框架。Netty提供异步的、事件驱动的网络应用程序框架和工具,用以快速开发高性能、高可靠性的网络服务器和客户端程序。可实现的功能见下图: Netty vs Mina vs GrizzlyMina的设计理念最为优雅,Netty和Mina的主导作者是同一人。Mina出自于Apache,Netty出身于商业开源大亨Jboss,而Griz原创 2015-04-27 17:13:17 · 1790 阅读 · 0 评论 -
Netty初探-netty服务端和客户端demo
通过netty框架实现一个简单的服务端和客户端框架,相比于前面所说的NIO,netty的api使用更加简单灵活,扩展性强。TimeServerpackage com.xpn.netty.netty;import io.netty.bootstrap.ServerBootstrap;import io.netty.channel.ChannelFuture;import io.netty.ch原创 2015-04-28 15:19:30 · 14437 阅读 · 1 评论 -
Linux网络I/O模型整理
Linux的内核将所有外部设备都看作一个文件来操作,对一个文件的读写操作会调用内核的系统命令,返回一个fd(file descriptor),对于socket则对应为socket描述符,描述符就是一个数字,指向内核中的一个结构体(文件路径、数据区等)。 根据对I/O模型的分类,linux提供了5种I/O模型。包括阻塞I/O模型、非阻塞I/O模型、I/O复用模型、信号驱动I/O模型、异步I/O。下面原创 2015-04-28 13:31:57 · 655 阅读 · 0 评论 -
Netty初探-I/O对比
通过简单的Demo开发,熟悉传统的同步阻塞I/O(BIO)、伪异步I/O、非阻塞I/O(Nio)以及异步I/O(AIO)的差异。同步阻塞I/O(BIO)BIO通信模型(一客户端一线程)代码分析TimerServerpackage com.xpn.netty.bio;import java.io.IOException;import java.net.ServerSocket;import j原创 2015-04-28 13:01:39 · 1296 阅读 · 1 评论