首页/网络/常用端口速查/6334 Qdrant gRPC 接口

6334 Qdrant gRPC 接口

Qdrant 的 gRPC 接口默认 6334:官方 SDK 高频批量读写走这里,性能敏感场景与 REST 并用。

常用端口速查网络更新于 2026-10-13

Qdrant 的两张门

Qdrant 对外开两个接入面:REST 在 6333,gRPC 在 6334。官方 Python/Go/Rust/Java SDK 默认走 gRPC,批量 upsert 与向量检索复用 HTTP/2 多路复用,报文更小、吞吐更高。两个端口读写的是同一份 collection 数据,鉴权与来源限制必须一起做,只加固其中一个等于没加固。

基本信息

服务Qdrant(gRPC 接口)
协议HTTP/2 + gRPC(可配 TLS)
默认端口6334(REST 为 6333)
鉴权api-key 头,gRPC 侧同名为 metadata
暴露面仅应用网段,勿映射公网

典型使用场景

  • SDK 批量写入:百万级向量入库用 gRPC 分片 upsert,避免 REST 逐条往返
  • RAG 检索链路:应用侧查询走 6334,高并发下 P99 更稳
  • 从 REST 迁移到 gRPC:只换端口不动业务语义,先确认中间链路是否放通 HTTP/2
  • 容器与 K8s:Service 把 6334 暴露给业务 Pod,6333 留给运维与调试
  • 发布前连通性验证:用 grpcurl 枚举服务,确认网关没有截断 HTTP/2

连通性验证

连通性验证
grpcurl -plaintext qdrant01:6334 list          # 枚举 gRPC 服务
nc -zv qdrant01 6334                          # 只看 TCP 是否可达
ss -lntp | grep -E '633[34]'                  # 本机监听核对
# K8s 临时调试: kubectl -n vec port-forward svc/qdrant 6334:6334

排障与核对

检查项做法异常表现
监听与协议ss -lntp | grep 6334只有 6333 在听:SDK 整批连不上
鉴权覆盖不带 api-key 直连 6334能写入说明鉴权只做在了 REST 上
网关透传经反代 grpcurl 枚举服务报 HTTP/2 不支持:缺 grpc_pass 或 h2c
版本匹配server 版本与 SDK 版本对照大版本不匹配时 proto 不兼容,报字段错误
Qdrant 单机与分布式节点都用 6334 这个默认值;分布式部署还会用到内部 gRPC 通信口(Qdrant 默认 6335),做网络策略时不要只放通 6334。用 Nginx 反代时 REST 走 proxy_pass,gRPC 必须走 grpc_pass 并开启 HTTP/2。
给 6333 加了鉴权却漏掉 6334,写权限仍然敞着:两个端口要么共用同一套认证与来源限制,要么就把 6334 限制在应用网段内。

REST 与 gRPC 怎么选

REST 调试直观,curl 就能试,适合一次性查询与排障;gRPC 的优势在批量场景:单连接多路复用、protobuf 报文更小、并发写入不必自己拼批次。生产里常见的分工是业务服务走 6334、运维巡检走 6333,两条路径共用同一套 api-key 与来源限制策略。

用负载均衡承接 6334 时注意 gRPC 的连接级分发问题:HTTP/2 长连接下按连接轮询会把流量压在少数后端,需要支持 HTTP/2 的负载均衡或客户端侧负载均衡,否则扩容后热点依旧。

易错点

  • 反代只代理 6333:业务 SDK 直连 6334,绕过全部鉴权与限流
  • 防火墙只按 TCP 放通却不支持 HTTP/2:端口能握手但 gRPC 调用失败,容易把排查方向带偏到应用日志
  • 为调试把 6334 映射到公网:未配认证时扫描器可枚举 collection 并导出向量数据
  • 压测只打 REST 就估算容量:gRPC 侧的并发连接与内存占用被低估,上线后资源先到瓶颈
  • REST 与 gRPC 用两套不同来源白名单:迁移期两边策略不一致,等于给漏掉的那一侧留后门

数据来源与参考

  • Qdrant 官方文档(gRPC 6334)

相关工具

​‌‌​​‌​​​‌‌​‌‌‌‌​‌‌​​​‌‌​‌‌‌​​‌‌​​‌​‌‌‌​​‌‌‌​​​‌​‌‌​‌​​‌​‌‌‌​​​‌​‌‌​‌​​‌​‌‌​​​‌‌​‌‌‌​‌​​​‌‌​‌‌‌‌​​‌​‌‌‌​​‌‌​​​‌‌​‌‌​‌‌‌‌​‌‌​‌‌​‌