Netty是什么?
Netty是一款在网络编程领域的卓越框架,他封装了java高级API的能力,并且将其隐藏在一个易于使用的API之后,使得网络编程更加简单,从而让你有更多的时间去处理你需要真正关心的业务上的逻辑处理。
Netty的特性?
设计:有一个统一的API,支持多种传输类型(阻塞的和非阻塞的),连接逻辑组件(ChannelHander中顺序处理消息)以及组件复用(一个ChannelHandel可以被多个ChannelPipeLine复用)
性能:拥有比 java 的核心 API 更高的吞吐量以及更低的延迟(得益于池化和复用),拥有更小的资源消耗以及最小的内存复制
安全性:完整的 SSL/TLS 以及 StarttLS 支持
Netty设计的关键技术?
也就是异步和事件驱动。异步,也就是非同步,相信大家都很熟悉。通常来说,异步事件也可以是具有某种有序的关系。通常来说,你只有在已经问了一个问题之后才会得到一个和它对应的答案,而你在等待它的同时也可以做点别的事情。本质上来说,一个即使异步的又是事件驱动的系统会表现出一种特殊的、很有价值的行为:他可以以任意的顺序响应在任意时间点产生的事件。这种能力对于实现高级别的可伸缩性至关重要,定义为:当一个系统需要处理的工作不断的增长时,可以通过某种方式来扩大该系统的处理能力,从而可以适应任务的不断增长
异步和可伸缩性的联系:
非阻塞的网络调用使得我们可以不必等待一个操作的完成。完全异步 IO 正式基于这个来构建的,并且更进一步:异步方法会立刻返回,并且在方法处理完时,会直接或者稍后在某个时间点通知客户。
选择器是的我们能够使用叫少的线程去处理多个连接事件,使得资源利用最大化。与阻塞 IO 来处理大量事件相比,非阻塞 IO 处理更快、更经济。
本节问题:
池化是什么?
StarttLS 是什么?