第2章 你的第一款Netty应用程序 本章主要内容 设置开发环境 编写Echo服务器和客户端 构建并测试应用程序 在本章中,我们将展示如何构建一个基于Netty的客户端和服务器。应用程序很简单:客户端将消息发送给服务器,而服务器再将消息回送给客户端。但是这个练习很重要,原因有两个。 首先,它会提供一 ...
分类:
Web程序 时间:
2019-06-05 20:11:48
阅读次数:
100
1.Dubbo是什么? 1.Dubbo是什么? 40道题目 参考:https://blog.csdn.net/moakun/article/details/82919804 dubbo系列讲解 https://www.cnblogs.com/wangzhuxing/category/1308133. ...
分类:
其他好文 时间:
2019-06-04 19:20:16
阅读次数:
94
ChannelPipeline在Netty中是用来处理请求的责任链,默认实现是DefaultChannelPipeline,其构造方法如下: ChannelPipeline和Channel是一一对应关系,一个Channel绑定一条ChannelPipeline责任链succeededFuture 和 ...
分类:
Web程序 时间:
2019-06-02 16:06:29
阅读次数:
139
一、Netty异步和事件驱动1.Java网络编程回顾socket.accept 阻塞socket.setsockopt /非阻塞2.NIO异步非阻塞a).nio 非阻塞的关键时使用选择器(java.nio.channels.Selector)来实现;可以监控多个socket读写的完成状态来协调其他s ...
分类:
Web程序 时间:
2019-06-01 13:57:13
阅读次数:
118
讲到高性能IO绕不开Reactor模式,它是大多数IO相关组件如Netty、Redis在使用的IO模式,为什么需要这种模式,它是如何设计来解决高性能并发的呢? 最最原始的网络编程思路就是服务器用一个while循环,不断监听端口是否有新的套接字连接,如果有,那么就调用一个处理函数处理,类似:while ...
分类:
其他好文 时间:
2019-05-28 12:26:28
阅读次数:
111
NioEventLoopGroup的无参构造: 调用了单参的构造: 继续看到双参构造: 在这里是使用JDK中NIO的原生API:SelectorProvider的provider,产生了一个SelectorProvider对象调用,继续调用三参构造。关于SelectorProvider在我前面的博客 ...
分类:
Web程序 时间:
2019-05-26 21:11:51
阅读次数:
204
为什么要学习Netty? 目前基于Netty实现的一些优秀的开源框架:Dubbo、RocketMQ、Spark、Spring5、Flink、ElasticSearch、gRPC……这些还说明不了为什么要学习netty吗?! Netty是什么? 异步事件驱动框架,用于快速开发高性能服务端和客户端; 封 ...
分类:
Web程序 时间:
2019-05-26 18:07:35
阅读次数:
141
Channel体系分析 接口与类结构体系 AbstractChannel新增加的特性 1. EventLoop与该Channel是否兼容 2. 获取本地绑定的SocketAddress 3. 获取远程连接到的SocketAddress 4. doxxxx接口,注册,绑定,连接,关闭,去注册,开始读, ...
分类:
Web程序 时间:
2019-05-26 00:30:20
阅读次数:
208
接口与类结构体系 JDK的Future提供特性 1. 是否完成 2. 是否取消 3. 结果获取 4. 取消执行 netty的Future增加的特性 1. 是否成功(完成后的结果,完成不一定成功) 2. 是否能被取消 3. 如果失败时的异常获取 4. 支持监听器,监听操作完成的回调 5. sync 阻 ...
分类:
Web程序 时间:
2019-05-26 00:13:08
阅读次数:
220
1.dubbo的通信协议 ①dubbo协议 Dubbo缺省协议采用单一长连接和NIO异步通讯,适合于小数据量大并发的服务调用,以及服务消费者机器数远大于服务提供者机器数的情况。 特点 : dubbo缺省协议,使用的是基于netty+hessian的tbremoting交互。 连接个数:单连接。 连接 ...
分类:
其他好文 时间:
2019-05-25 10:02:53
阅读次数:
151