Netty

netty

k.attachment();为什么就有值了 我们自己写的nioserversocketchannle 就是null 为啥 ??? safeExecute(task); head->ServerBootstrapAcceptor->tail ①:java.nio.channels.spi.Abstr ......
netty

Netty源码学习9——从Timer到ScheduledThreadPoolExecutor到HashedWheelTimer

系列文章目录和关于我 一丶前言 之前在学习netty源码的时候,经常看netty hash时间轮(HashedWheelTimer)的出现,时间轮作为一种定时调度机制,在jdk中还存在Timer和ScheduledThreadPoolExecutor。那么为什么netty要重复造轮子昵,Hashed ......

Netty @Sharable

标有@Sharable的Handler,代表了他是一个可以被分享的handler,这就是说服务器注册了这个handler后,可以分享给多个客户端使用,如果没有使用该注解,则每次客户端请求时,都必须重新创建一个handler。 ex private NettyHandler nettyHandler ......
Sharable Netty

《Java架构师的第一性原理》26Java基础之Netty入门

1 Reactor模式演进 1)读请求内容——》解码——》计算处理——》编码回复——》回复 2)采用基于事件驱动的设计,当有事件触发时,才会调用处理器进行数据处理 3)改进:使用多线程处理业务逻辑 4)继续改进:对于多个CPU的机器,为充分利用系统资源,将Reactor拆分为两部分 2 JVM和内核 ......
第一性 Java 架构 原理 基础

《Java架构师的第一性原理》26Java基础之Netty源码剖析与实战(极客时间 傅健)

极客时间 98.Netty源码剖析与实战 课程名称:极客时间《Netty源码剖析与实战》 讲师简介 傅健,Netty 源码贡献者。 思科中国研发中心平台软件工程师,毕业后一直在思科工作,已有 9 年。做过很多项目,从移动端应用到文档存储系统、从消息系统到电话接入系统,接触过很多不同类型的开源软件且很 ......
第一性 Java 架构 实战 源码

记录一次在k8s上,web服务内嵌的netty-socketio注册到nacos,gateway转发路由 遇到的问题

web服务内嵌的nacos怎么注册? 使用java sdk方式 参考链接:https://nacos.io/zh-cn/docs/sdk.html 每个socket不同怎么设置端口 我这里使用的是注解,让用户传过来,并且在bean初始化之前进行变量存储。 这个链接里面的[netty-socketio ......

记录一次在k8s上,web服务内嵌的netty-socketio注册到nacos,gateway转发路由

注册到nacos的多种方式(本人只知道两种) 1. springboot中yml配置 2. java sdk方式注册 参考链接:https://nacos.io/zh-cn/docs/sdk.html 注意点:instance.setIp("127.0.0.1"), 这里的ip地址要与socketi ......
路由 netty-socketio socketio gateway netty

Seata 启动报错:[imeoutChecker_1] i.s.c.r.netty.NettyClientChannelManager : no available server to connect.

Seata 启动报错:[imeoutChecker_1] i.s.c.r.netty.NettyClientChannelManager : no available server to connect. 1. 问题 2. 解决【application.xml 和 file.conf 参数要相对应】 ......

Netty-在NIO基础上的优化

零拷贝 零拷贝指的是,应用程序在需要把内核中的一块区域数据转移到另外一块内核区域去时,不需要经过先复制到用户空间,再转移到目标内核区域去了,而直接实现转移。 在网络通信上,使用直接内存。Netty 接收和发送 ByteBuf 采用堆外直接内存进行 Socket 读写,不需要进行字节缓冲区的二次拷贝。 ......
基础 Netty NIO

Netty04-优化与源码

四. 优化与源码 1. 优化 1.1 扩展序列化算法 序列化,反序列化主要用在消息正文的转换上 序列化时,需要将 Java 对象变为要传输的数据(可以是 byte[],或 json 等,最终都需要变成 byte[]) 反序列化时,需要将传入的正文数据还原成 Java 对象,便于处理 目前的代码仅支持 ......
源码 Netty 04

Netty IO 和 Thrift IO

1. Netty IO Netty是一个高性能的异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端。它极大地简化了网络编程,如TCP和UDP套接字服务器。 异步和事件驱动:Netty基于事件驱动模型,可以处理成千上万个并发连接。 高性能:优化的传输尝试减少资源消耗和延迟。 ......
Thrift Netty IO

Netty源码学习8——从ThreadLocal到FastThreadLocal(如何让FastThreadLocal内存泄漏doge)

系列文章目录和关于我 一丶引入 在前面的netty源码学习中经常看到FastThreadLocal的身影,这一篇我们将从ThreadLocal说起,来学习FastThreadLocal的设计(《ThreadLocal源码学习笔记》) 二丶从ThreadLocal说起 ThreadLocal是JDK中 ......

Netty内置的http报文解码流程

netty解码 netty通过内置处理器HttpRequestDecoder和HttpObjectAggregator对Http请求报文进行解码之后,Netty会将Http请求封装成一个FullHttpRequest实例,然后发送给下一站。 Netty内置的与Http请求报文相对应的类大致有如下几个 ......
报文 流程 Netty http

并发设计类分析(Guava/Netty)

1. 限流器 1.1 限流器 常见限流算法: 计数器算法 计数器算法是一种简单的限流方法,通过对请求进行计数,当请求达到一定的阈值时,进行限制。这种方法适用于简单场景,但不够灵活。容易出现临界时间点限流失效问题。 滑动窗口算法 滑动窗口算法维护一个时间窗口内的请求数量,通过动态调整窗口大小,可以更灵 ......
设计类 Guava Netty

Netty源码学习7——netty是如何发送数据的

零丶引入 系列文章目录和关于我 经过《Netty源码学习4——服务端是处理新连接的&netty的reactor模式和《Netty源码学习5——服务端是如何读取数据的》,我们了解了netty服务端是如何建立连接,读取客户端数据的,通过《Netty源码学习6——netty编码解码器&粘包半包问题的解决》 ......
源码 数据 Netty netty

Netty 对 Java NIO 空轮询问题的处理

目录1. Java NIO 在 Linux 平台的空轮询问题1.1 空轮询问题的介绍1.1.1 空轮询的现象1.1.2 空轮询的原因1.2 空轮询的处理思路1.2.1 JDK 层面1.2.2 应用程序层面2. Netty 的应对措施 1. Java NIO 在 Linux 平台的空轮询问题 1.1 ......
Netty Java NIO

跟着源码学IM(十二):基于Netty打造一款高性能的IM即时通讯程序

关于Netty网络框架的内容,前面已经讲了两个章节,但总归来说难以真正掌握,毕竟只是对其中一个个组件进行讲解,很难让诸位将其串起来形成一条线,所以本章中则会结合实战案例,对Netty进行更深层次的学习与掌握,实战案例也并不难,一个非常朴素的IM聊天程序。 原本打算做个多人斗地主练习程序,但那需要织... ......
高性能 源码 跟着 通讯 程序

通过Java-Netty实现一个简单的HTML实时聊天——demo

demo效果 初步准备 想要实现聊天就需要用到WebSocket,他是专门用于http进行实时聊天的的协议。因为主要核心在后端开发,所以我去白嫖了个超级简单的界面(就是不会!) 我编写demo时系统环境为Win-11,Java-8 环境依赖 只需要一个netty即可实现需要的功能 <!--netty ......
Java-Netty 实时 Netty Java HTML

Netty源码学习6——netty编码解码器&粘包半包问题的解决

系列文章目录和关于我 零丶引入 经过《Netty源码学习4——服务端是处理新连接的&netty的reactor模式和《Netty源码学习5——服务端是如何读取数据的》的学习,我们了解了服务端是如何处理新连接并读取客户端发送的数据的: netty的reactor:主reactor中的NioEventL ......
解码器 源码 编码 问题 Netty

Netty 源码分析

ServerBootstrap 主要介绍服务端的启动流程以及如何绑定端口号、开启服务端 Socket 并让其进入接收连接状态的 启动模板如下; try { ChannelFuture future = new ServerBootstrap().group(bossGroup, workerGrou ......
源码 Netty

Netty源码学习5——服务端是如何读取数据的

系列文章目录和关于我 零丶引入 在前面《Netty源码学习4——服务端是处理新连接的&netty的reactor模式》的学习中,我们了解到服务端是如何处理新连接的,即注册ServerSocketChannel对accept事件,包装ServerSocketChannel为NioServerSocke ......
源码 数据 Netty

一个关于用netty的小错误反思

一个关于用netty的小认知 在使用netty时,观看了黑马的netty网课,没想就直接用他的依赖了 依赖如下 <dependency> <groupId>io.netty</groupId> <artifactId>netty-all</artifactId> <version>4.1.39.Fi ......
小错 netty

netty服务端加解密

参考链接:https://www.cnblogs.com/silyvin/articles/11827030.html 一、解密 1、自定义解密类 import io.netty.buffer.ByteBuf; import io.netty.buffer.Unpooled; import io.n ......
netty

Netty - ChannelGroup 和 ArrayList 的区别

一、Netty - ChannelGroup 和 ArrayList 有什么区别? 我正在使用 Netty 4.x,我想知道以下:ChannelGroup 和 ArrayList 之间有什么区别? ChannelGroup channels = new DefaultChannelGroup(Glo ......
ChannelGroup ArrayList Netty

用Netty实现一个简单全双工通信

用Netty实现一个简单全双工通信 ​ 如题,需要注意在ByteBuf使用的过程中要使用buf.retain()保证buf引用计数大于0,才能够正常使用否则会报异常,原因是pipeline上的handler都是使用NIO线程执行的,因此使用buf的handler和tail handler(最后调用b ......
Netty

Netty-操作篇

服务端创建步骤 步骤一:创建ServerBootstrap实例。 步骤二:设置并绑定Reactor线程池。 步骤三:设置并绑定服务端Channel。 步骤四:链路建立的时候创建并初始化ChannelPipeline(非必须)。 用于处理网络事件: 1.链路注册、激活、断开、发生异常 2.接收到请求消 ......
Netty

Netty-基础篇(4)

不使用Java原生NIO编程的原因 1、NIO的类库和API复杂,使用麻烦 2、需要具备其他的额外技能做铺垫,例如熟悉Java多线程编程 3、可靠性能力补齐,工作量和难度都非常大。例如客户端面临断线重连、网络闪断、半包读写、失败缓存、网络拥塞和异常码流的处理等问题。 4、JDK NIO的BUG,例如 ......
基础 Netty

Netty-基础篇(3)

UNIX网络编程I/O模型 1.阻塞I/O模型(BIO,同步阻塞I/O) 2.非阻塞I/O模型(NIO,非阻塞I/O) 3.I/O复用模型 4.信号驱动I/O模型 5.异步I/O(AIO,事件驱动I/O) 传输 1.OIO-阻塞传输 2.NIO-异步传输 3.Local-JVM内部的异步通信 4.E ......
基础 Netty

Netty源码学习4——服务端是处理新连接的&netty的reactor模式

系列文章目录和关于我 零丶引入 在前面的源码学习中,梳理了服务端的启动,以及NioEventLoop事件循环的工作流程,并了解了Netty处理网络io重要的Channel ,ChannelHandler,ChannelPipeline。 这一篇将学习服务端是如何构建新的连接。 一丶网络包接收流程 当 ......
源码 reactor 模式 Netty netty
共151篇  :1/6页 首页上一页1下一页尾页