Netty学习一:netty是什么

好久没有更新了(反正也没有人看),最近打算学习一下Netty,争取一周搞完,GOGOGO。

Netty的简介:

  1.Netty是由JBoss提供的一个java开源框架。

  2.Netty是一个异步的、基于时间驱动的网络驱动框架,用于快速开发高性能,高可靠的网络IO程序。

  事件驱动:比如常见的在网页上点击一个按钮,这个按钮会调用相应的函数,其中点击按钮这个动作就可以看作一个事件,整个过程就是一个事件驱动的一个模型。

  对应到Netty中就是,客户端的读写的行为。比如客户端发送连接请求后,会调用哪个相应的函数,客户端发送读写的请求后,又会调用哪一个相应的函数。其中连接、读写都是事件。

  3.Netty主要针对TCP协议下,面向Client端的高并发应用,或者P2P场景下大量数据持续传输的应用。

  4.Netty的本质是一个NIO框架,适用于服务器通讯相关的各种应用场景。

    

    上图为四者之间的层级关系。

 

Netty的应用场景:

    典型的应用场景为:

    1.分布式系统中个节点之间的远程服务调用,作为基础的通信组件被RPC框架使用。例如DUBBO协议默认使用Netty作为基础通信组件,来实现个节点之间的通信。

    2.游戏行业中,Netty作为高性能的通信基础组件,提供了TCP/UDP和HTTP协议栈,方便定制和开发私有协议栈,账号登陆服务器(例如好友登录后的通知)。

    3.大数据领域中,Hadoop的高性能通讯和序列化组件(AVRO实现数据文件的共享)的RPC框架,默认使用Netty实现跨界点通讯。flink和spark等也都使用了netty

 

posted @ 2021-04-12 14:15  G一七G  阅读(216)  评论(0编辑  收藏  举报
Live2D