netty
文章平均质量分 72
codemosi
hadoop hive hbase mahout storm spark kafka flume,等连载中,做个爱分享的人。
干一件事,干好一件事!
QQ :1606588828
展开
-
01 NIO网络通信框架 Netty server和client的api
storm 进程间通信用的是netty,和生产线上的storm topology经常报netty的错误,所有有必要好好把netty好好记录一下。netty的service和client,helloworld,需要四个类。netty把网络链接和业务处理分离开来了。直接上代码01:EchoServer service端,负责链接客户端02:EchoClient client端,连接serv原创 2015-07-10 22:45:59 · 569 阅读 · 0 评论 -
08 附带的ChannelHandler和Codec
本章介绍使用SSL/TLS创建安全的Netty程序 使用Netty创建HTTP/HTTPS程序 处理空闲连接和超时 解码分隔符和基于长度的协议 写大数据 序列化数据 上一章讲解了如何创建自己的编解码器,我们现在可以用上一章的知识来编写自己的编解码器。不过Netty提供了一些标准的ChannelHandler和Codec。Netty提供了很多协议的支持,所以我们不必自己发明翻译 2015-11-17 14:30:15 · 583 阅读 · 0 评论 -
10 单元测试代码
本章介绍单元测试 EmbeddedChannel 学会了使用一个或多个ChannelHandler处理接收/发送数据消息,但是如何测试它们呢?Netty提供了2个额外的类使得测试ChannelHandler变得很容易,本章讲解如何测试Netty程序。测试使用JUnit4,如果不会用可以慢慢了解。JUnit4很简单,但是功能很强大。本章将重点讲解测试已实现的ChannelHa翻译 2015-11-17 14:31:58 · 405 阅读 · 0 评论 -
12 SPDY
本章我将不会直接翻译Netty In Action书中的原文,感觉原书中本章讲的很多废话,我翻译起来也吃力。所以,本章内容我会根据其他资料和个人理解来讲述。12.1 SPDY概念及背景 SPDY 是Google开发的基于传输控制协议 (TCP)的应用层协议,开发组正在推动 SPDY成为正式标准(现为互联网草案)。SPDY协议旨在通过压缩、多路复用和优先级来缩短翻译 2015-11-17 14:34:53 · 552 阅读 · 0 评论 -
14 实现自定义的编码解码器
本章讲述Netty中如何轻松实现定制的编解码器,由于Netty架构的灵活性,这些编解码器易于重用和测试。为了更容易实现,使用Memcached作为协议例子是因为它更方便我们实现。 Memcached是免费开源、高性能、分布式的内存对象缓存系统,其目的是加速动态Web应用程序的响应,减轻数据库负载;Memcache实际上是一个以key-value存储任意数据的内存小块。可能有人会问“翻译 2015-11-17 14:36:31 · 430 阅读 · 0 评论 -
16 从EventLoop取消注册和重新注册
本章介绍EventLoop 从EventLoop注册和取消注册 在Netty中使用旧的Socket和Channel Netty提供了一个简单的方法来连接Socket/Channel,这是在Netty之外创建并转移他们的责任到Netty。这允许你将遗留的集成框架以无缝方式一步一步迁移到Netty;Netty还允许取消注册的通道来停止处理IO,这可以暂停程序处理并释放资源。翻译 2015-11-17 14:38:12 · 768 阅读 · 0 评论 -
11 WebSocket
本章介绍WebSocket ChannelHandler,Decoder and Encoder 引导一个Netty基础程序 测试WebSocket “real-time-web”实时web现在随处可见,很多的用户希望能从web站点实时获取信息。Netty支持WebSocket实现,并包含了不同的版本,我们可以非常容易的实现WebSocket应用。使用Netty附带的Web翻译 2015-11-17 14:33:10 · 603 阅读 · 0 评论 -
09 引导Netty应用程序
本章介绍引导客户端和服务器 从Channel引导客户端 添加多个ChannelHandler 使用通道选项和属性 上一章学习了编写自己的ChannelHandler和编解码器并将它们添加到Channel的ChannelPipeline中。本章将讲解如何将它们结合在一起使用。 Netty提供了简单统一的方法来引导服务器和客户端。引导是配置Netty服务器和客户翻译 2015-11-17 14:30:58 · 314 阅读 · 0 评论 -
13 通过UDP广播事件
本章介绍UDP介绍 UDP程序结构和设计 日志事件POJO 编写广播器 编写监听者 使用广播器和监听者 Summary 前面的章节都是在示例中使用TCP协议,这一章,我们将使用UDP。UDP是一种无连接协议,若需要很高的性能和对数据的完成性没有严格要求,那使用UDP是一个很好的方法。最著名的基于UDP协议的是用来域名解析的DNS。 Netty使用了统一的传输翻译 2015-11-17 14:35:37 · 637 阅读 · 0 评论 -
06 ChannelHandler
本章介绍ChannelPipeline ChannelHandlerContext ChannelHandler Inbound vs outbound(入站和出站) 接受连接或创建他们只是你的应用程序的一部分,虽然这些任何很重要,但是一个网络应用程序旺旺是更复杂的,需要更多的代码编写,如处理传入和传出的数据。Netty提供了一个强大的处理这些事情的功能,允许用户自定义C翻译 2015-11-17 14:28:25 · 544 阅读 · 0 评论 -
05 Buffers(缓冲)
本章介绍ByteBuf ByteBufHolder ByteBufAllocator 使用这些接口分配缓冲和执行操作 每当你需要传输数据时,它必须包含一个缓冲区。Java NIO API自带的缓冲区类是相当有限的,没有经过优化,使用JDK的ByteBuffer操作更复杂。缓冲区是一个重要的组建,它是API的一部分。Netty提供了一个强大的缓冲区实现用于表示一个字节序列,翻译 2015-11-17 14:27:12 · 341 阅读 · 0 评论 -
01_netty简介
netty是一个异步的通信框架,底层使用zero-copy(通过实现了JDK没有实现的byteBuffer)的数据结构,提供event编程。高吞吐量的。使用的NIO(面向缓冲(一片片的buffer)的非阻塞IO)的api实现。java6和java7都提供了统一的NIO api(NIO1 不夸平台 )。原创 2015-10-23 10:17:44 · 311 阅读 · 0 评论 -
03 netty channelPipeline
Handler 分为 in类型和out类型的。in类型负责接收数据的详细处理类,out是发送数据的详细处理类。channelpipeline,实现了过滤器模式。设计模式里的用来过滤多级嵌套 if 代码块。和权限检查等过滤功能的设计模式。channelpipeline通过添加各种不同类型的handler加上这个高级过滤器。可以对一条msg消息的接受过程,和发送过程,添加不同的过滤规则。使得各原创 2015-11-15 22:03:09 · 344 阅读 · 0 评论 -
02 netty api编程
netty例子ServerBootstrap 负责引导程序的各个组件配置,1:group,用来设置事件循环组,2:channel方法用来设置传输方式,一般都是NIO。还有阻塞IO,local,embbedded等方式3:childHandler方法用来设置业务处理的类,用来处理网络传输中的输入流和输出流ctx.write(msg);ctx的write方法,持有输出的能力,msg代表输入流里接受原创 2015-11-16 21:33:22 · 481 阅读 · 0 评论 -
04 ByteBuf
ByteBuf是netty中的零拷贝数据结构,最大值是Integer.MAX,可以看做是一个 byte[] 字节数组。1 1 0 0原创 2015-11-16 21:46:36 · 295 阅读 · 0 评论 -
01 netty介绍
第一章:Netty介绍本章介绍Netty介绍 为什么要使用non-blocking IO(NIO) 阻塞IO(blocking IO)和非阻塞IO(non-blocking IO)对比 Java NIO的问题和在Netty中的解决方案 Netty是基于Java NIO的网络应用框架,如果你是Java网络方面的新手,那么本章将是你学习Java网络应用的开始;对于有经验的翻译 2015-11-17 14:16:24 · 407 阅读 · 0 评论 -
02 第一个Netty程序
本章介绍获取Netty4最新版本 设置运行环境来构建和运行netty程序 创建一个基于Netty的服务器和客户端 拦截和处理异常 编写和运行Netty服务器和客户端 本章将简单介绍Netty的核心概念,这个狠心概念就是学习Netty是如何拦截和处理异常,对于刚开始学习netty的读者,利用netty的异常拦截机制来调试程序问题很有帮助。本章还会介绍其他一些核心概念,如服务翻译 2015-11-17 14:17:34 · 617 阅读 · 0 评论 -
03 Netty核心概念
在这一章我们将讨论Netty的10个核心类,清楚了解他们的结构对使用Netty很有用。可能有一些不会再工作中用到,但是也有一些很常用也很核心,你会遇到。Bootstrap or ServerBootstrap EventLoop EventLoopGroup ChannelPipeline Channel Future or ChannelFuture ChannelInitializer翻译 2015-11-17 14:25:11 · 379 阅读 · 0 评论 -
04 Transports(传输)
本章内容Transports(传输) NIO(non-blocking IO,New IO), OIO(Old IO,blocking IO), Local(本地), Embedded(嵌入式)Use-case(用例) APIs(接口) 网络应用程序一个很重要的工作是传输数据。传输数据的过程不一样取决是使用哪种交通工具,但是传输的方式是一样的:都是以字节码传输。Jav翻译 2015-11-17 14:26:17 · 588 阅读 · 0 评论 -
15 选择正确的线程模型
本章介绍线程模型(thread-model) 事件循环(EventLoop) 并发(Concurrency) 任务执行(task execution) 任务调度(task scheduling) 线程模型定义了应用程序或框架如何执行你的代码,选择应用程序/框架的正确的线程模型是很重要的。Netty提供了一个简单强大的线程模型来帮助我们简化代码,Netty对所有的核心代码都进翻译 2015-11-17 14:37:15 · 440 阅读 · 0 评论