1)✅基于 Reactor 模型的设计:Netty 采用了基于 Reactor 模型的设计,通过 NIO 提供的事件驱动机制,实现了非阻塞的 IO 操作。这种设计模式使得 Netty 能够处理大量并发连接而不会因为阻塞而降低性能。
2)✅零拷贝技术:Netty 在内部实现中采用了零拷贝技术,(斤斤计较)减少了数据在 内存 和 IO 设备之间的复制次数,降低了 内存 和 CPU 的消耗。🌰:使用池化的 Direct Buffer 等技术,在提高 IO 性能的同时,减少了对象的创建和销毁。通过使用 堆外内存 和 直接内存,Netty 能够在进行 IO 操作时避免了数据的复制,从而提高了性能。
3)✅优化的线程模型:Netty 采用了多线程模型,通过使用少量的线程处理大量的并发连接,可以更充分地利用多核处理器的性能。同时,Netty 提供了线程池和任务队列等机制,可以灵活地控制线程的数量和任务的调度,提高了系统的吞吐量和响应速度。
4)✅使用更多本地代码:🌰直接利用 JNI 调用 Open SSL 等方式,获得比 Java 内建 SSL 引擎更好的性能。