Spring5 底层用Netyy
Spring Boot 内部实现了Web容器
Zookeeper 也是用的Netty
Dubbo 分布式服务框架 多协议支持(RPC) Nettyreact
网络通讯、RPC、远程调用、高并发、MQ、web服务器、IM、注册中心、调度系统web
SpringBoot (内置的Tomcat)
Dubbo(RPC)
Zookeepaer(分布式协调)编程
RocketMQwindows
Spark等设计模式
IO模型 | 性能对比 | 关键思路 | 操做系统 | JAVA支持 |
---|---|---|---|---|
select | 较高 | Reactor | Windows/Linux | 支持,Reactor 模式(反应器设计模式)。 Linux操做系统的kernels 2.4 内核版本以前,默认使用select; 而目前windows下对同步IO的支持,都是select模型 |
poll | 较高 | Reactor | Linux | Linux 下的JAVA NIO 框架,Linux kernels 2.6 内核版本以前使用poll进行支持,也是使用过的Reactor模式 |
epoll | 高 | Reactor Proactor |
Linux | Linux kernels 2.6 内核版本及之后使用epoll进行支持; Linux kernels 2.6 内科版本以前使用poll进行支持; 另一定注意,因为 Linux 下没有 Windows 下的 IOCP 技术提供真正的 异步IO 支持,因此Linux使用epoll模拟异步IO |
kqueue | 高 | proactor | Linux | 目前JAVA的版本不支持 |
忽然想起一个小笑话:netty原本出了5.0 里面就是有aio可是,,,以为不太好,又取消了发布了。这不是重点,重点,,,我入门采用的5.0 alpha。。。。。api
volatile 的大量、正确使用;缓存
CAS和原子类的普遍使用;安全
线程安全容器的使用;服务器
经过读写锁提高并发性能。websocket
Netty 是一个异步、事件驱动的用来作高性能、高可靠性的网络应用框架。主要的优势有:
框架的设计优雅,底层模型随意切换使用不一样的网络协议要求
提供更不少标准的协议、安全、编解码的支持
解决了不少NIO不易用的问题
社区活跃,不少开源框架使用(底气足啊)
官网首页图形解释
一、底层核心:零拷贝、统一api、可扩展事件模型
二、传输支持:管道通讯、http隧道、TCP/UDP
三、协议支持:原始文本和二进制协议、解压缩、流媒体、protobuf编解码、安全认证、http、websocket、大文件