zoukankan      html  css  js  c++  java
  • 第一章:初识Netty:背景、现状与趋势 (7讲)

    如何学netty?

    关键点在于抓住主线:

    请求处理最主要的流程是什么?

    最核心的逻辑是什么?

    在了解这些主线之前,不要迷恋细节,否则容易迷失在那些细枝末节的代码中。

    如何学好一个技术?

    1、了解这个技术的本质、背景、定位、过去和未来

    2、这个技术的原理是什么

    3、看文档,怎么用这个技术

    4、别人是怎么的,有什么借鉴的地方

    5、这个技术有什么需要改进的地方,为这个技术添砖加瓦

    通过该课程学习,希望达到的目标

    1、掌握java网络编程基本知识和原理

    2、使用netty构建一个能推向产品线的java网络服务器

    3、熟悉netty核心源码以及其深层原理

    4、能够熟练诊断、分析并排查netty使用中的各种故障

    netty相关书籍

     网络知识:《TCP/IP详解》、《图解TCP/IP》、《Wireshark网络分析就这么简单》
    
    Java 网络编程:《Java 网络编程》、《Java TCP/IP Socket编程》
    
    Netty 相关:《Netty权威指南》《Netty实战》(译自《Netty in action》: Norman Maurer)《Netty进阶之路:跟着案例学Netty》

    netty解决问题的方案

    1、绕着走 epoll空转问题,做一个空检测

    2、 搞不定就不支持,http_opt 设置在jdk中的异常,不支持

    netty的优点;

    解决了一些bug

    性能更好

    屏蔽了细节,更易用

    老师,一般的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。

    使用netty的项目:

    spring5 的spring web flux

    rocketmq

    dubbo

    spark 

    hadoop

    elasticsearch

    zookeeper

  • 相关阅读:
    Ext文本框添加清除图标,
    gird鼠标移动显示tip
    shapefile文件导入mysql数据库
    百度、高德、谷歌、火星、wgs84(2000)地图坐标相互转换的JS实现
    POSTGIS修复错误数据
    地图瓦片切片方案
    mapbox.gl源码解析——基本架构与数据渲染流程
    高斯克吕格与地理坐标相互转换算法(JS版本)
    mysql空间扩展对比postgis
    从maven central下载javax.media.jai_core:1.1.3时出错
  • 原文地址:https://www.cnblogs.com/lakeslove/p/13097096.html
Copyright © 2011-2022 走看看