首页
学习
活动
专区
圈层
工具
发布

#netty

基于Netty手写RPC框架

老周聊架构

RPC又称远程过程调用,我们所知的远程调用分为两种,现在在服务间通信的方式也基本以这两种为主:

7610

深入理解Netty:从搭建到核心实现原理解析

程序员唱见

在现代网络编程中,构建高性能的服务器应用是每个后端开发者的必备技能。传统的阻塞 IO(如 BIO)在高并发场景下表现迟钝,而 Java NIO 虽强大,但 AP...

23600

使用 Spring Boot 和 Netty 打造实时聊天系统

用户8589624

在现代 Web 应用中,实时通信系统(如聊天应用、通知系统等)变得越来越重要。传统的 HTTP 协议是一种请求-响应模型,不适合实时通信。为了解决这个问题,We...

17610

基于 Netty 实现的 TCP 长连接服务详解

用户11821718

在实际项目开发中,我们经常需要实现服务端与客户端之间的长连接通信,比如用于实时消息推送、设备监控、物联网(IoT)数据上报等场景。相比于 HTTP 短连接,TC...

34010

深入解析Netty零拷贝技术:FileRegion的transferTo与CompositeByteBuf的虚拟缓冲聚合

用户6320865

在网络编程领域,数据拷贝一直是制约性能的关键瓶颈。传统的数据传输流程中,数据需要经历多次拷贝:从内核缓冲区到用户空间缓冲区,再从用户空间缓冲区到网络协议栈。这种...

18910

从BIO到Netty的演变

用户11808537

计算机网络可以说是每个学计算机的都绕不过去的一道坎。计算机网络到底有多么重要,你走到大学图书馆的计算机部分,翻开那些什么《从零开始:黑客XXX》,《黑客攻防从入...

20310

⚡ 构建真正的高性能即时通讯服务:基于 Netty 集群的架构设计与实现

别惹CC

腾讯云TDP | 先锋会员 (已认证)

在前面的文章中,我们基于 Netty 构建了一套单体架构的即时通讯服务。虽然单体架构在开发初期简单高效,但随着用户量的增长和业务规模的扩大,其局限性逐渐显现。当...

31120

Netty 超详细解答十问十答

程序员皮皮林

Netty是一个高性能、异步事件驱动的网络应用框架,用于快速开发可维护的高性能协议服务器和客户端。它极大地简化了TCP和UDP套接字服务器等网络编程,例如TCP...

17900

Netty源码—10.Netty工具之时间轮

东阳马生架构

简单来说,时间轮是一个高效利用线程资源进行批量化调度的调度器。首先把大批量的调度任务全部绑定到同一个调度器上,然后使用这个调度器对所有任务进行管理、触发、以及运...

25310

📌 Java 工程师进阶必备:Spring Boot 3 + Netty 构建高并发即时通讯服务

别惹CC

腾讯云TDP | 先锋会员 (已认证)

Netty作为异步事件驱动的网络框架,凭借出色的性能和设计,已成为高并发通信领域的标杆。它不仅简化了 Java NIO 编程的复杂性,还能轻松支持数万并发连接,...

1.3K22

Netty源码—9.性能优化和设计模式二

东阳马生架构

线程的Stack里有3指针:head、pre、cursor。往Stack中插入一个WeakOrderQueue都是往头部插入的(头插法)。head指向第一个We...

14000

Netty源码—9.性能优化和设计模式一

东阳马生架构

FastThreadLocal的作用与ThreadLocal相当,但比ThreadLocal更快。ThreadLocal的作用是多线程访问同一变量时能够通过线程...

16600

Netty源码—8.编解码原理二

东阳马生架构

首先从tail结点开始往前传播。然后逐个调用ChannelHandler的write()方法,直到某个ChannelHandler不再往前传播write事件。接...

15810

Netty源码—8.编解码原理一

东阳马生架构

当客户端Channel的Reactor线程NioEventLoop检测到有读事件时,会执行NioByteUnsafe的read()方法。该方法会调用doRead...

18410

Netty源码—7.ByteBuf原理三

东阳马生架构

PooledByteBufAllocator的directBuffer()方法通过其newDirectBuffer()方法执行代码directArena.all...

16510

Netty源码—7.ByteBuf原理二

东阳马生架构

Netty里所有的内存申请都是以Chunk为单位向操作系统申请的,后续所有的内存分配都是在这个Chunk里进行对应的操作。比如要分配1M的内存,那么首先要申请一...

18010

Netty源码—6.ByteBuf原理一

东阳马生架构

答:ByteBuf可以按三个维度来进行分类:一个是堆内和堆外,一个是Unsafe和非Unsafe,一个是Pooled和非Pooled。

23200

Netty源码—5.Pipeline和Handler二

东阳马生架构

Netty最大的特征之一就是ChannelHandler是可插拔的,可以动态编织ChannelPipeline。比如在客户端首次连接服务端时,需要进行权限认证,...

13100

Netty源码—5.Pipeline和Handler一

东阳马生架构

可以在处理复杂的业务逻辑时避免if else的泛滥,可以实现对业务逻辑的模块化处理,不同的逻辑放置到单独的类中进行处理。最后将这些逻辑串联起来,形成一个完整的逻...

13300
领券