| 类 | 说明 |
|---|---|
| NettyChannel | |
| NettyChannelFactory | |
| NettyChannelHandler | |
| NettyClient |
netty client 相关
1) timeout 设置 (connecttimeout,sotimeout, application timeout)
2) 线程池设置
3) 最大连接池设置
4) 最大消息队列设置 (netty channel内部: writeQueue)
5) 最大返回数据包设置
6) RPC 的测试的时候,需要非常关注 OOM的问题
|
| NettyDecoder |
netty client decode
|
| NettyEncoder | |
| NettyEndpointFactory | |
| NettyServer |
netty server 的相关优化
1) server 的 executor handler 相关防护
2) server 的 隔离保护,不同方法。
|
| NettyServerChannelManage | |
| ProtectedExecutionHandler | |
| StandardThreadExecutor |
代码和思路主要来自于:
tomcat :
org.apache.catalina.core.StandardThreadExecutor
java.util.concurrent
threadPoolExecutor execute执行策略: 优先offer到queue,queue满后再扩充线程到maxThread,如果已经到了maxThread就reject
比较适合于CPU密集型应用(比如runnable内部执行的操作都在JVM内部,memory copy, or compute等等)
StandardThreadExecutor execute执行策略: 优先扩充线程到maxThread,再offer到queue,如果满了就reject
比较适合于业务处理需要远程资源的场景
|
Copyright © 2021. All rights reserved.