一个人至少拥有一个梦想,有一个理由去坚强

心若没有栖息的地方,到哪里都是在流浪

Netty概述

说实话,看文档介绍Netty,我最开始是一脸懵逼的。对于网络知识缺乏的我来说,SSL/TLS等到底是什么鬼?(别笑话,我自知自己太菜)看技术文档真的很头大,我往往是看不进去的。最近越来越发现自己无药可救,然后就没有然后了…….既然我看不懂,那么我只需要关注我自己看懂的部分就行了,其他的后续慢慢来嘛。我往往前一天或者前一个小时才看的东西,过几个小时就不知道是什么了。这说明我的学习方式存在大问题。那么到底该如何掌握一个知识点呢?这就好比去相亲,往往需要知道对方姓名年龄?干什么的?生活在什么地方?比如Netty我只需要知道这点:

  1. 什么是Netty?
  2. Netty特性?
  3. Netty使用在什么地方?
  4. Netty怎么用?

好了,废话不多说,切入正题下面继续我的废话吧:

一、Netty是什么

在官网中是这么说的:

Netty是一个异步事件驱动的网络应用程序框架,用于快速开发可维护的高性能协议服务器和客户端

Netty是一款NIO客户端服务器框架,可以快速轻松地开发协议服务器和客户端等网络应用程序。它极大地简化并简化了TCP和UDP套接字服务器等网络编程。

二、Netty 特性

1)设计

基于灵活、可扩展的事件驱动模型

高度可定制的线程模型

可靠的无连接数据Socket支持(UDP)

2)性能

更好的吞吐量,低延迟

更省资源

尽量减少不必要的内存拷贝

3)安全

完整的SSL/TLS和STARTTLS的支持

能在Applet与Android的限制环境运行良好

4)健壮性

不再因过快、过慢或超负载连接导致OutOfMemoryError

不再有在高速网络环境下NIO读写频率不一致的问题

5)易用

完善的JavaDoc,用户指南和样例

简洁简单

仅信赖于JDK1.5

三、Netty应用实例

阿里分布式服务框架 Dubbo 的 RPC 框架使用 Dubbo 协议进行节点间通信,Dubbo 协议默认使用 Netty 作为基础通信组件,用于实现各进程节点之间的内部通信,它的结构如下:

《Netty概述》

其中,服务提供者和服务消费者之间,服务提供者、服务消费者和性能统计节点之间使用 Netty 进行异步/同步通信。

除了 Dubbo 之外,淘宝的消息中间件 RocketMQ 的消息生产者和消息消费者之间,也采用 Netty 进行高性能、异步通信。

除了阿里系和淘宝系之外,很多其它的大型互联网公司或者电商内部也已经大量使用 Netty 构建高性能、分布式的网络服务器。

四、Netty怎么用?

要想知道Netty怎么实现,这才是重中之重,一步一步脚踏实地,待后续…….

 

 

点赞

发表评论

电子邮件地址不会被公开。 必填项已用*标注