第一章:初识Netty:背景、现状与趋势 (7讲)
2021-02-07 06:14
标签:长连接 alt width 请求 代码 字节 本质 排查 arch 如何学netty? 关键点在于抓住主线: 请求处理最主要的流程是什么? 最核心的逻辑是什么? 在了解这些主线之前,不要迷恋细节,否则容易迷失在那些细枝末节的代码中。 如何学好一个技术? 1、了解这个技术的本质、背景、定位、过去和未来 2、这个技术的原理是什么 3、看文档,怎么用这个技术 4、别人是怎么的,有什么借鉴的地方 5、这个技术有什么需要改进的地方,为这个技术添砖加瓦 通过该课程学习,希望达到的目标 1、掌握java网络编程基本知识和原理 2、使用netty构建一个能推向产品线的java网络服务器 3、熟悉netty核心源码以及其深层原理 4、能够熟练诊断、分析并排查netty使用中的各种故障 netty相关书籍 netty解决问题的方案 1、绕着走 epoll空转问题,做一个空检测 2、 搞不定就不支持,http_opt 设置在jdk中的异常,不支持 netty的优点; 解决了一些bug 性能更好 屏蔽了细节,更易用 老师,一般的netty服务端能支持多少长连接? 使用netty的项目: spring5 的spring web flux rocketmq dubbo spark hadoop elasticsearch zookeeper 第一章:初识Netty:背景、现状与趋势 (7讲) 标签:长连接 alt width 请求 代码 字节 本质 排查 arch 原文地址:https://www.cnblogs.com/lakeslove/p/13097096.html 网络知识:《TCP/IP详解》、《图解TCP/IP》、《Wireshark网络分析就这么简单》
Java 网络编程:《Java 网络编程》、《Java TCP/IP Socket编程》
Netty 相关:《Netty权威指南》《Netty实战》(译自《Netty in action》: Norman Maurer)《Netty进阶之路:跟着案例学Netty》
一个连接是由:客户端【IP + PORT】+ 服务器 【IP(固定的) + PORT(固定的)】 四个元素决定的
tcp层:客户端TCP层:最大64k,服务端:ip地址数量(约43亿)*64k
系统限制:最大文件句柄数:21亿
资源限制:linux系统下,一个socket连接一般占用3K,所以100万连接至少需要3G,而1000万就要30G了。
理论值:单个客户端连接到一个服务器最多连接数取决于本地可用端口数(因为其他3个元素固定了): 65535(报文中端口占用字节数是16,所以最大端口数65535)- 1024(保留端口,不给用) 约 64K。