配置项作用 #
http.type 配置项指定 HTTP 服务器使用的传输实现类型,决定处理 HTTP 请求的底层网络栈。
是否可选 #
是
默认值 #
netty4
配置项类型 #
静态配置 - 需要重启节点才能生效
可用选项 #
| 类型 | 说明 | 适用场景 |
|---|---|---|
netty4 | Netty4 HTTP 传输(默认) | 大多数场景 |
nio-http-transport | Java NIO HTTP 传输 | 特定性能需求 |
com.infinilabs.security.http.SecurityHttpServerTransport | 安全 HTTP 传输(SSL) | 启用安全功能 |
com.infinilabs.security.http.SecurityNonSslHttpServerTransport | 安全 HTTP 传输(非 SSL) | 启用安全功能但无 SSL |
配置格式 #
# 默认配置(推荐)
http.type: netty4
# 使用 NIO 传输
http.type: nio-http-transport
# 使用安全传输
http.type: com.infinilabs.security.http.SecurityHttpServerTransport
传输实现对比 #
Netty4 传输(默认):
- 使用 Netty 框架
- 支持管道化
- 内置压缩支持
- 高级 TCP 调优选项
- 适合高吞吐量场景
NIO 传输:
- 使用 Java NIO
- 非阻塞 I/O
- 不同的线程模型
- 特定性能需求的替代方案
安全传输:
- 提供身份认证和授权
- 审计日志功能
- SSL/TLS 终止
- 安全头处理
- 启用安全功能时必需
推荐设置 #
| 场景 | 推荐值 | 说明 |
|---|---|---|
| 默认配置 | netty4 | 经过充分测试 |
| 高吞吐量 | netty4 | 性能优化 |
| 启用安全 | SecurityHttpServerTransport | 必须使用安全传输 |
| 特定需求 | nio-http-transport | 需要基准测试验证 |
使用示例 #
默认配置(推荐):
http.type: netty4
启用安全功能:
http.type: com.infinilabs.security.http.SecurityHttpServerTransport
使用 NIO 传输:
http.type: nio-http-transport
配置验证 #
# 查看当前配置
GET /_nodes/settings?filter_path=nodes.*.http.type
# 查看传输信息
GET /_nodes
注意事项 #
- 静态配置:修改类型需要重启节点
- 默认推荐:大多数场景使用 netty4
- 安全功能:启用安全时必须使用安全传输
- 性能测试:使用 NIO 前应进行基准测试
- 兼容性:不同实现可能有功能差异
相关配置项 #
| 配置项 | 默认值 | 说明 |
|---|---|---|
http.port | 9200-9300 | HTTP 服务端口 |
http.compression | true | 响应压缩 |
完整配置示例 #
# easysearch.yml
# 默认配置
http.type: netty4
http.port: 9200
# 启用安全功能
http.type: com.infinilabs.security.http.SecurityHttpServerTransport
http.port: 9200





