• netty是什么?


    Netty是什么?

    相对于Tomcat这种Web Server(顾名思义主要是提供Web协议相关的服务的),Netty是一个Network Server,是处于Web Server更下层的网络框架,也就是说你可以使用Netty模仿Tomcat做一个提供HTTP服务的Web容器。

    简而言之,Netty通过使用NIO的很多新特性,对TCP/UDP编程进行了简化和封装,提供了更容易使用的网络编程接口,让你可以根据自己的需要封装独特的HTTP Server活着FTP Server等.


    作者:郭大宽
    链接:https://www.zhihu.com/question/24322387/answer/27412211
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。

    1)本质:JBoss做的一个Jar包

    2)目的:快速开发高性能、高可靠性的网络服务器和客户端程序

    3)优点:提供异步的、事件驱动的网络应用程序框架和工具

    通俗的说:一个好使的处理Socket的东东

    如果没有Netty?

    远古:

    java.net + java.io
    

    近代:

    java.nio
    

    其他:

    Mina,Grizzly
    

    与Mina相比有什么优势?

    1、都是Trustin Lee的作品,Netty更晚;

    2、Mina将内核和一些特性的联系过于紧密,使得用户在不需要这些特性的时候无法脱离,相比下性能会有所下降,Netty解决了这个设计问题;

    3、Netty的文档更清晰,很多Mina的特性在Netty里都有;

    4、Netty更新周期更短,新版本的发布比较快;

    5、它们的架构差别不大,Mina靠apache生存,而Netty靠jboss,和jboss的结合度非常高,Netty有对google protocal buf的支持,有更完整的ioc容器支持(spring,guice,jbossmc和osgi);



    Netty 在哪些行业得到了应用?

    • 互联网行业:随着网站规模的不断扩大,系统并发访问量也越来越高,传统基于 Tomcat 等 Web 容器的垂直架构已经无法满足需求,需要拆分应用进行服务化,以提高开发和维护效率。从组网情况看,垂直的架构拆分之后,系统采用分布式部署,各个节点之间需要远程服务调用,高性能的 RPC 框架必不可少,Netty 作为异步高性能的通信框架,往往作为基础通信组件被这些 RPC 框架使用。

    netty是一套在java NIO的基础上封装的便于用户开发网络应用程序的api. 应用场景很多,诸如阿里的消息队列(RocketMQ),分布式rpc(Dubbo)通信层都使用到了netty(dubbo可以用服务发现自由选择通信层). 主要优点个人总结如下:

    1. netty是非阻塞事件驱动框架, 并结合线程组(group)的概念,可以很好的支持高并发,慢连接的场景。


    作者:吉悦
    链接:https://www.zhihu.com/question/24322387/answer/27444924
    来源:知乎
    著作权归作者所有,转载请联系作者获得授权。


    除了 Dubbo 之外,淘宝的消息中间件 RocketMQ 的消息生产者和消息消费者之间,也采用 Netty 进行高性能、异步通信。
  • 相关阅读:
    jmeter如何引用自己编写的java文件编译的jar包
    Vue+Django REST framework 打造生鲜电商项目(学习笔记二)
    mysql笔试题
    面试遇到的问题
    Idea中maven项目pom文件中已引入testng但项目文件中无法引入@Test
    记录一次TestNg+MyBatis中的SqlSession出现的问题,问题虽然解决了但尚未明白问题原因
    PyMySQL的基本操作
    MySQL循环语句
    Vue父子组件和非父子组件间的通信
    Python的静态方法和类成员方法
  • 原文地址:https://www.cnblogs.com/panxuejun/p/5975668.html
Copyright © 2020-2023  润新知