Netty
bit-caffe
深入学习才能体会到知识带来的快了!
展开
-
Reactor模式详解
在学习netty的时候是不是就会看到Reactor模式,多路复用等词眼,其实很多网络通信都有用到,比如redis的网络通信就是使用的多路复用但是,看到了很多书和博客没有深入或者说详细的分析什么是Reactor模式以及多路复用,这里看到了一篇文章感觉不错就转载备份一下一遍学习原文地址:http://www.blogjava.net/DLevin/archive/2015/09/02/427045转载 2017-08-19 12:22:31 · 746 阅读 · 2 评论 -
Netty中对象的序列化,反序列化
之前写的nettydemmo都是传递字符串的,而在真实使用的时候我们传的都是对象,然后写序列化方法进行序列化和返序列化,在netty中对序列化和返序列化都提供了相应的接口,而且netty也支持很多的序列化方式,但这里先提供java的序列化实现方式。一、java序列化方式package com.decode;import java.io.ByteArrayInputStream;原创 2017-12-03 20:03:58 · 4393 阅读 · 1 评论 -
netty 服务端作为客户端跳转请求服务端
一般的请求都是从客户端发起请求到服务端,服务端接收到请求后做相应处理然后在返回给客户端相应信息,但是很多时候我们要用服务端作为客户端在发送请求到另一台服务端,这样中的这台服务器不仅是服务端也是客户端。OK 整体请求就是这样的,下面来看代码:一、客户端1、客户端引导package com.test3;import io.netty.bootstrap.Bootstrap;原创 2017-11-05 15:26:53 · 3554 阅读 · 5 评论 -
netty源码学习三(channel、channelHandler、channelPipeline)
Channel是理解和使用Netty的核心。Channel的涉及内容较多,这里我使用由浅入深的介绍方法。在这篇文章中,我们主要介绍Channel部分中Pipeline实现机制。为了避免枯燥,借用一下《盗梦空间》的“梦境”概念,希望大家喜欢。一层梦境:Channel实现概览在Netty里,Channel是通讯的载体,而ChannelHandler负责Channel中的逻辑处理。转载 2017-11-04 17:42:37 · 518 阅读 · 1 评论 -
netty源码学习二(EventLoopGroup、EventLoop)
前面的一章我们学习了ServerBootstrap即引导,如果说引导是对netty的一个整体学习则EventLoopGroup、EventLoop就是具体内容的分析.EventLoopGroup、EventLoop 也是netty中比较核心的组件,下面就来看看netty的线程模型和Reactor模式1. NioEventLoopGroupnetty的程序的启动(在服务端一般是两个Nio转载 2017-11-04 17:20:26 · 1549 阅读 · 0 评论 -
netty源码学习一(Serverbootstrap引导程序)
BootStrap在netty的应用程序中负责引导服务器和客户端。netty包含了两种不同类型的引导: 1. 使用服务器的ServerBootStrap,用于接受客户端的连接以及为已接受的连接创建子通道。 2. 用于客户端的BootStrap,不接受新的连接,并且是在父通道类完成一些操作。ServerBootStrap的运行原理下面先看一下这两个引导类的类继转载 2017-10-29 10:52:47 · 1308 阅读 · 0 评论 -
java Nio Demo
之前的文章主要讲解了Reactor模式、多路复用器select、以及Netty框架,这篇文章主要是java Nio的代码,但我们知道java的Nio是使用了Reactor模式和多路复用器来实现的,所以下面看看java nio的demo。一、java Nio 客户端package com.test2;import java.io.IOException;import java.原创 2017-09-21 00:11:59 · 2147 阅读 · 0 评论 -
java Bio Demo
刚开始学的时候我们看到的就是Bio模式的socket、serverSocket 这也是java最早提供的,其实早期的tomcat对请求的处理方式也是这种多线程模式的,下面看看代码……原创 2017-09-21 11:48:20 · 961 阅读 · 0 评论 -
ChannelHandler和ChannelPipeline
原文地址:http://www.cnblogs.com/leesf456/p/6901189.html一、ChannelHandler和ChannelPipeline 2.1 ChannelHandler 在ChannelPipeline中,ChannelHandler可以被链在一起处理用户逻辑。 1. Channel生命周期 Channel接口转载 2017-09-20 11:54:01 · 646 阅读 · 0 评论 -
浅谈IO的多路复用技术之一(select和epoll实质)
JAVA的NIO技术从1.5开始,一直到现在的JDK8,这套JDK自带的API几乎填充了了整个java端服务器的代码实现,人们都是大谈特谈这些接口,但是很少有人深究操作系统实现的底层细节,这篇文章带你简单浏览一下这些底层的细节。JDK 1.5 中NIO出来后,搞出了几个类,Selector,Channel,Buffer,关心的事件如read/write等这些内容,实质这些类是j转载 2017-09-13 15:38:34 · 819 阅读 · 0 评论 -
深入理解 Python 异步编程
原文地址:点击打开链接来源:阿驹(微信公号:驹说码事) 如有好文章投稿,请点击 → 这里了解详情前言很多朋友对异步编程都处于“听说很强大”的认知状态。鲜有在生产项目中使用它。而使用它的同学,则大多数都停留在知道如何使用 Tornado、Twisted、Gevent 这类异步框架上,出现各种古怪的问题难以解决。而且使用了转载 2017-09-03 18:06:45 · 4748 阅读 · 0 评论 -
Netty精粹之基于EventLoop机制的高效线程模型
原文地址:http://www.cnblogs.com/heavenhome/articles/6554262.html摘要: Infoq有篇文章提到通过Netty4+Thrift压缩二进制编码技术有人实现了10W TPS(1K的复杂POJO对象)跨节点远程服务调用,对于RPC应用来说高性能的三个主题永远是IO模型、数据协议、线程模型,10W TPS的测试结果一方面归功于Thrift方面压转载 2017-09-20 11:22:39 · 619 阅读 · 0 评论 -
读懂 Netty 的高性能架构之道
原文地址:http://www.cnblogs.com/Irving/p/5709130.htmlNetty是一个高性能、异步事件驱动的NIO框架,它提供了对TCP、UDP和文件传输的支持,作为一个异步NIO框架,Netty的所有IO操作都是异步非阻塞的,通过Future-Listener机制,用户可以方便的主动获取或者通过通知机制获得IO操作结果。作为当前最流行的NIO框转载 2017-09-18 16:11:58 · 997 阅读 · 0 评论 -
Netty 实例学习一
通过前面的文章我们,可以了解Nio以及Nio中使用的Reactor模式和多路复用器,这是非常必要的因为netty是java编写的一个通讯框架,底层也是使用jdk提供的api来和操作系统交互的,所以这么来说前面两章其实也是学习了netty最底层的实现,下面来看看netty实现通讯……原创 2017-09-22 11:38:08 · 1224 阅读 · 0 评论 -
Reactor 模式+代码讲解
原文链接:http://www.cnblogs.com/luxiaoxun/p/4331110.htmlScalable IO in Javahttp://gee.cs.oswego.edu/dl/cpjslides/nio.pdf基本上所有的网络处理程序都有以下基本的处理过程:Read requestDecode requestProcess servic转载 2017-08-19 13:10:38 · 1736 阅读 · 0 评论 -
Netty实现简单RPC
使用Netty实现简单RPC,主要是netty的使用,所以缓存,服务的暴露等都使用缓存来代替了netty使用的是5.0+ 所以和4.0+可能有点不同……下面先看一下主要类:从两个方面来看,一是netty部分,netty客户端和服务端的实现 二是从调用netty来看,其实也就是代理的实现。一、netty服务端因为这里是单线程实现所以服务端和我们平时写的都是一样的。原创 2017-12-10 19:34:59 · 2530 阅读 · 2 评论