|Dubbo 跨语言调用神兽:dubbo-go-pixiu

文章图片
文章图片
Pixiu 是什么 在回答 Pixiu 是什么之前 , 我们简单解释一下 Dubbo 是什么 。 Dubbo 是一个开源的高性能 RPC 框架 , 有着丰富的服务治理能力以及优秀的扩展能力 。 Dubbo 更扩展出 Dubbo-go , 为用户提供了 Golang 的 Dubbo 解决方案 , 打通了两种语言之间的隔阂 , 使 Dubbo 更加贴近云原生 。
Dubbo-go 作为 Golang 服务 , 实现与 Dubbo 服务之间的相互调用 。 然而 , 在日常使用场景中 , 用户往往有把 Dubbo 服务以 RESTful 风格向外暴露的需求同时也要兼顾内部 Dubbo 调用 。 为了解决这种场景 , 作为 Dubbo API 网关的 Pixiu? (中文: 貔貅 ,曾用名 dubbo-go-proxy) 便应运而生 。 之所以采用 Pixiu 这个名称 , 是因为 Java 同类产品 Zuul 的意象是一个西方怪兽 , Pixiu 作为一个国产产品 , 就用了我们中国的一个类似的神兽貔貅作为项目名称 。 也同时表达了 Dubbo 社区希望扩展出一整套云原生生态链的决心 。
目前 Dubbo 多语言生态 , 发展最好的自然是 Java , 其次是 Golang , 其他语言都差强人意 。 dubbo-go-pixiu 项目是一个基于 dubbo-go 发展起来的项目 , 目前接口协议层支持的是七层的 HTTP 请求调用 , 计划在未来的 0.5 版本中支持 gRPC 请求调用 , 其另外一个使命是作为一种新的 dubbo 多语言解决方案 。
为什么使用 Pixiu Pixiu 是基于 Dubbogo 的云原生、高性能、可扩展的微服务 API 网关 。 作为一款网关产品 , Pixiu 帮助用户轻松创建、发布、维护、监控和保护任意规模的 API, 接受和处理成千上万个并发 API 调用 , 包括流量管理、 CORS 支持、授权和访问控制、限制、监控 , 以及 API 版本管理 。 除此以外 , 作为 Dubbo 的衍生产品 , Pixiu可以帮助 Dubbo 用户进行协议转换 , 实现跨系统、跨协议的服务能力互通 。
Pixiu 的整体设计遵守以下原则:
High performance: 高吞吐量以及毫秒级的延时 。可扩展: 通过 go-plugin , 用户可以根据自己的需求延展 Pixiu 的功能 。简单可用: 用户通过少量配置 , 即可上线 。Pixiu 的特性及核心功能 为 RESTful API 和 Dubbo API 提供支持 非 RESTful 风格的 API 和 Dubbo 协议的服务往往需要修改才可以以 RESTful API 风格对外开放 。 Pixiu 提供协议转换功能 , 通过 Pixiu , 开发者可以将自己的 HTTP API 或 Dubbo API 通过配置 , 以 RESTful API 风格对外开放 。 v0.2.1 版本已支持基于泛化调用的 HTTP 至 Dubbo 的协议转换以及 HTTP 协议的转发 。 在后续的版本 , 社区将会增加对 gRPC 和 http2 协议的支持 。
面向用户的配置方式 一般的网关的配置往往繁琐且复杂 。 Pixiu , 目标作为一款易用的网关产品 , 在设计上拥有三层配置层级 , Gateway 层全局配置 ,API resource 层配置以及 HTTP verbs 方法层配置 。 通过三个不同层级的配置 , 既可以实现深度的定制 , 亦支持统一的默认配置;同时 , 支持本地的配置文件 , 亦可使用统一配置服务器 。 另外 , 还提供控制台模块 , 通过控制台模块 , 支持配置的热更新 。 Pixiu 配套配套的控制台界面也在同步开发中 。
通用功能的集成? 重试、熔断、流量控制、访问控制等通用功能不再需要在每个后端服务上重复实现 。 使用 Pixiu , 通过配置 filter, 开发者可以进行全局的控制 , 亦可以根据 API 配置各自的规则 。 因此开发者可以专注于业务逻辑和服务 , 而不是将时间用在维护基础设施上 。
- 跨境|跨境电商迈入数字化变革期
- 鸿蒙的跨屏协同,安卓也可拥有
- 电子商务|欧洲跨境电商销售额市场排名公布,第一名令人意外!
- 拼多多争抢618
- |未来5年,跨境电商是取代房子的最好投资
- 文艺辣评丨新东方直播:一场语言的行为艺术?
- c语言|负责任地推荐这3部手机,好看又配置强,用到2026年不成问题
- 徐立|恒讯科技分析:跨境电商vps和跨境电商vpn谁更有优势?
- 奈飞|Ajax跨域请求的两种实现方式
- 华为mate|华为跨界造车成功,扯下了多少“巨头”的遮羞布?
