📣 极限科技诚招搜索运维工程师(Elasticsearch/Easysearch)- 全职/北京 👉 : 立即申请加入

配置项作用 #

http.type 配置项指定 HTTP 服务器使用的传输实现类型,决定处理 HTTP 请求的底层网络栈。

是否可选 #

默认值 #

netty4

配置项类型 #

静态配置 - 需要重启节点才能生效

可用选项 #

类型说明适用场景
netty4Netty4 HTTP 传输(默认)大多数场景
nio-http-transportJava 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

注意事项 #

  1. 静态配置:修改类型需要重启节点
  2. 默认推荐:大多数场景使用 netty4
  3. 安全功能:启用安全时必须使用安全传输
  4. 性能测试:使用 NIO 前应进行基准测试
  5. 兼容性:不同实现可能有功能差异

相关配置项 #

配置项默认值说明
http.port9200-9300HTTP 服务端口
http.compressiontrue响应压缩

完整配置示例 #

# easysearch.yml

# 默认配置
http.type: netty4
http.port: 9200

# 启用安全功能
http.type: com.infinilabs.security.http.SecurityHttpServerTransport
http.port: 9200