Wesley13 Wesley13
3年前
java高并发设计(十一)
一直在写java高并发的博客,突然想起自己刚开始学习相关技术开发的境况,一切都只是理论,案例是最能讲解的地方,后面的章节将从采用netty通信实现rpc的服务调用,采用hession序列化来设计netty的编码解码操作。该项目将涉及到单例设计,回调设计,数据安全设计,数据加载设计,面向接口设计。会涉及java自身的线程池,多线程执行,高并发数据安全,同时也出
一文详解 Netty 组件
作者:京东物流张弓言一、背景Netty是一款优秀的高性能网络框架,内部通过NIO的方式来处理网络请求,在高负载下也能可靠和高效地处理I/O操作作为较底层的网络通信框架,其被广泛应用在各种中间件的开发中,比如RPC框架、MQ、Elasticsearch等,这
爱写码 爱写码
3年前
t-io应用场景和能力
tio历史、应用场景(图示——简)tio应用场景(文字描述——详)tio是基于JVM的网络编程框架,和netty属同类,所以netty能做的tio都能做,考虑到tio是从项目抽象出来的框架,所以tio提供了更多的和业务相关的API,大体上tio具有如下特点和能力:内置完备的监控和流控能力内置半包粘包处理一骑绝尘的资源管理能力内置心跳检查和心跳发送能力
Stella981 Stella981
3年前
Netty中FastThreadLocal源码分析
Netty中使用FastThreadLocal替代JDK中的ThreadLocal【JAVA】ThreadLocal源码分析(https://www.oschina.net/action/GoToLink?urlhttps%3A%2F%2Fwww.cnblogs.com%2Fa526583280%2Fp%2F10725093.html),其用法和Thr
Stella981 Stella981
3年前
Netty3之ServerBootstrap分析
概述ServerBootstrap是Netty提供的一个服务端工具类,通过设置ChanneFactory,ChannelPipelineFactory,用户可以很方便的启动一个服务端。ServerBootstrap是做什么的ServerBootstrap是一个帮助类,用来创建服务端的Channel以
Stella981 Stella981
3年前
Netty 超时机制及心跳程序实现
本文同步至http://www.waylau.com/nettytimeoutandheartbeat/(https://www.oschina.net/action/GoToLink?urlhttp%3A%2F%2Fwww.waylau.com%2Fnettytimeoutandheartbeat%2F)本文介绍了Netty
Stella981 Stella981
3年前
Netty 中的内存分配浅析
Netty出发点作为一款高性能的RPC框架必然涉及到频繁的内存分配销毁操作,如果是在堆上分配内存空间将会触发频繁的GC,JDK在1.4之后提供的NIO也已经提供了直接直接分配堆外内存空间的能力,但是也仅仅是提供了基本的能力,创建、回收相关的功能和效率都很简陋。基于此,在堆外内存使用方面,Netty自己实现了一套创建、回收堆外内存池的相关功能。基
Stella981 Stella981
3年前
Netty之粘包问题解决
最近接到一项新的任务,其中涉及到用netty解决粘包问题,该问题解决得很顺利。下面是一些心得体会。我们知道,netty当中有boss线程和worker线程,通常是1对多的关系,可以理解为boss接到客户的请求之后,分配给其中一个worker去处理,如果客户过多,可能会出现一个worker服务多个客户的情况。这是背景。按照我的理解,粘包问题解决的关键在
Stella981 Stella981
3年前
Netty 应用:Socket服务器
Socket服务器Netty作为Socket服务器,需要编写服务端和客户端,服务器端和客户端收发消息通过自定义的Handler.channelRead0方法来交互,客户端连接上服务器后,需要在active时向服务器发送一条消息来触发服务器的行为。服务端实现/Createdbyfubinon2019/7/
Stella981 Stella981
3年前
Netty 线程模型与Reactor 模式
前言     Netty 的线程模型是基于NIO的Selector 构建的,使用了异步驱动的Reactor 模式来构建的线程模型,可以很好的支持成百上千的SocketChannel 连接。由于READ/WRITE 都是非阻塞的,可以充分提升I/O线程的运行效率,避免了IO阻塞导致线程挂起, 同时可以让一个线程支持对多个客户端的连接So