当前位置: 首页 > news >正文

Apache Dubbo Pixiu打造微服务生态的轻量级 API 网关

一、Pixiu 简介:Dubbo 官方的轻量级 API 网关

在这里插入图片描述

Apache Dubbo Pixiu 是一个由 Golang 编写、专为 Dubbo 微服务生态设计的轻量网关:

  • ✅ 支持 HTTP/gRPC/Dubbo 协议互通
  • ✅ 内建服务治理能力:限流、熔断、路由、认证
  • ✅ 插件式架构,可灵活扩展各种过滤器
  • ✅ 可独立部署,也可作为 Sidecar 实现服务网格流控

Pixiu 不仅是“HTTP 入口 + 转发工具”,更是 Dubbo 世界里的协议适配器 + 流量治理中枢

二、为什么是 Pixiu,而不是 Nginx/Kong?

功能对比项NginxKongPixiu
支持 Dubbo 协议⚠️ 可扩展✅ 原生支持
协议转换✅(部分)✅ HTTP⇋RPC
插件机制🌕 Lua 模块🌕 丰富🌕 Golang 插件
服务发现✅ Nacos/ZK
配置动态热更✅ YAML/中心
微服务治理✅ 限流/熔断/标签路由

Pixiu 的定位很明确:

🔥 专注 Dubbo、专注微服务、专注高性能,轻但够用,能打还好扩展。

三、Pixiu 架构解读:组件一图看懂

在这里插入图片描述

核心模块:

  • Listener:接收 HTTP/gRPC 请求
  • Router:基于 path/method/header 做智能路由
  • Protocol Adapter:将请求转换为 RPC 调用(支持 Triple)
  • Invoker:调用 Dubbo 后端服务(Go/Java/其他语言)
  • Filter 插件链:权限认证、日志审计、限流、追踪都在这儿
  • Service Discovery:自动对接注册中心(Nacos/ZK)

四、实际场景怎么用?

场景一:统一 Dubbo 服务接入(HTTP ⇋ RPC)

curl http://localhost:8888/api/v1/user/get?id=123
# Pixiu 自动转为 RPC 请求 -> UserService.GetUser(id=123)

场景二:REST 接入 Java Dubbo 服务(跨语言)

  • 前端调用 /user/login
  • Pixiu 将请求转为 Triple 协议
  • Java 后端用 Dubbo 实现逻辑处理

Pixiu Sidecar 拦截出入流量,实现可编程治理,无需 Istio。

五、Pixiu 配置详解(YAML)

apiVersion: dubbo.apache.org/v1alpha1
kind: Route
metadata:
  name: login-route
spec:
  path: /login
  method: POST
  service: com.demo.UserService
  rpcMethod: Login
  protocol: triple

可以按 headermethod标签 精细路由,也支持灰度发布:

filters:
  - name: ratelimit
    config:
      rate: 50
      burst: 100
  - name: jwt-auth
    config:
      secret: my-jwt-secret

六、插件机制:Filter 架构 & 示例

Pixiu 使用类似网关中间件的 Filter 架构,你可以在请求前、请求后插入逻辑。

常用内置插件:

  • jwt-auth:Token 认证
  • ratelimit:基于 IP、Path 限流
  • prometheus:暴露 /metrics
  • mock:测试环境模拟返回
  • 自定义插件:Golang 编写,支持热加载

七、与服务注册中心联动

Pixiu 可读取服务注册中心的服务列表,动态感知 Dubbo 服务上下线:

registry:
  protocol: nacos
  address: 127.0.0.1:8848

同时支持:Nacos、Zookeeper、Consul、Kubernetes CRD。

八、在 Mesh 架构中的位置图

在这里插入图片描述

部署 Pixiu 为每个服务的 Sidecar,实现流量透明转发、隔离和治理:

九、性能与扩展性亮点

能力表现
吞吐量支持数千 QPS 请求稳定转发
延迟请求转 RPC 平均延迟 < 2ms
启动速度毫秒级,秒级热重载
插件扩展可插拔 Golang 插件系统
资源消耗单实例 <100MB,支持容器化部署

十、未来规划与发展方向

来自官方路线图:

  • ✅ 插件热加载 + 插件市场
  • ✅ Dubbo3 协议全面支持 + 流控增强
  • ✅ 图形化控制台(Web UI)
  • ✅ 路由策略动态下发(配置中心接入)
  • ✅ 多语言客户端集成(Pixiu SDK)

十一、总结

Pixiu 是 Dubbo 世界里的边关将军,既懂 HTTP、又通 RPC,既轻量、又可扩展:

  • 是微服务的网关统一入口
  • 是 Dubbo 服务治理的操作面板
  • 是构建服务网格的重要代理器
  • 是云原生部署中的贴心助手

如果你:

  • 已在使用 Dubbo(Go / Java)
  • 正想从 Nginx 转型治理网关
  • 想搭建轻量 Mesh、流量可编排系统

Pixiu 值得你立刻试一试。

参考链接 & 推荐阅读

  • 官方文档(中文)
  • GitHub 源码
  • 示例项目
  • 配置文件参考

相关文章:

  • 【测试工具】如何使用 burp pro 自定义一个拦截器插件
  • 3.23-libevent
  • Android Studio常见问题解决
  • 2024年认证杯SPSSPRO杯数学建模C题(第二阶段)云中的海盐全过程文档及程序
  • HTML云原生:概念、技术与应用的全面解析
  • STM32学习笔记之keil使用记录
  • 模式搜索+扩散模型:FlowMo重构图像Token化的技术革命
  • 2025年河北省第二届职业技能大赛网络安全项目 模块 B样题任务书
  • 运动仿真——phased.Platform
  • StarRocks vs Doris:深度剖析与选型分析
  • DeepSeek底层揭秘——EPLB
  • llama源码学习·model.py[5]FeedForward前馈神经网络
  • PyTorch生成式人工智能实战:从零打造创意引擎
  • 华为OD机试2025A卷 - 构成正方形的数量(Java Python JS C++ C )
  • dsPIC33CK64MC105 Curiosity Nano|为高性能数字电源与电机控制而生
  • Eclipse IDE for ModusToolbox™ 3.4环境CYT4BB7串口配置发送
  • Opencv计算机视觉编程攻略-第二节 图像像素操作
  • 华为p10 plus 鸿蒙2.0降级emui9.1.0.228
  • Claude“延展思考extended thinking“
  • 深度剖析 RuoYi - AI:打造专属智能助手的全栈解决方案
  • 解密62个“千亿县”:强者恒强,新兴产业助新晋县崛起
  • 2025年度中国青年五四奖章暨新时代青年先锋奖评选揭晓
  • 总书记考察的上海“模速空间”,是一个怎样的空间?
  • 船只深夜撞上海上风机后沉没1死1失踪,调查报告公布
  • 诗词文赋俱当歌,听一听古诗词中的音乐性
  • 非法收受财物逾1648万,湖南原副厅级干部康月林一审被判十年半