0
点赞
收藏
分享

微信扫一扫

What's new in dubbo-go-pixiu 0.5.0

Dubbo-go-pixiu 是一款高性能 API 网关,支持 Dubbo 和 Http 等多种协议。具体介绍文章可以参考《Dubbo 跨语言调用神兽:dubbo-go-pixiu》( ​​https://mp.weixin.qq.com/s/dok42ssPJqazjeSRYaifVw​​ )。

继前一段发布 v0.4 ( ​​https://mp.weixin.qq.com/s/dok42ssPJqazjeSRYaifVw​​​ )之后,近期社区发布了 0.5.0 版本 ​​https://github.com/apache/dubbo-go-pixiu/releases/tag/v0.5.0-rc01​​ 。本文只列出相关重大 feature、bugfix 、 性能提升项。


  1. Dubbo2Triple/Triple2Dubbo/Dubbo2Http 代理

Triple是Dubbo v3.0推出的新的更高性能的协议,Pixiu添加了 triple 和 dubbo 协议的相互转换,可以在不修改旧的Dubbo协议的基础上完成Dubbo v3.X与Dubbo v2.X的混合/并存部署,以期逐步全面切换至Triple。

What

为了接收 triple 协议请求,pixiu 引入了 triple_listener,它使用 triple 的 server proxy 功能,可以接受任意的triple请求,然后同样交给 dgp.filter.dubbo.proxy 处理。同样的也可以交给 dgp.filter.dubbo.http来将其转换为 http 请求。
为了能接收 dubbo 协议请求,pixiu 引入了 tcp\_listener,它使用getty,然后交给 dgp.filter.network.dubboconnectionmanager 来解序列化为 rpc\_invocation 实例,也就是 dubbogo 中代表依次 rpc 请求的实例。
案例:​​https://github.com/apache/dubbo-go-pixiu/tree/develop/samples/dubbotripleproxy​​

  1. Http to Triple代理

此次版本,Pixiu同样新增了以http的形式将Dubbo v3.X 的新协议Triple暴露出去的能力,方便调试、作为网关/SideCar代理Triple协议。原理如下图,经过简单配置即可使用。

What

案例:​​https://github.com/apache/dubbo-go-pixiu/tree/develop/samples/dubbogo/simple/triple​​
3.Http to Dubbo默认转化协议
通过 Http 提供一个统一的服务提供者视图,用户不用在乎后端Dubbo服务的版本差异,协议差异,通过简单地在Http请求中传递rpc调用的参数,完成一次Rpc调用,通过实现http调用后端dubbo服务,进一步简化后端服务设计的复杂性。

What

默认转化协议请查看 原文。
4.支持Jwt Auth认证
Pixiu新增支持Jwt Auth认证,案例:​​https://github.com/apache/dubbo-go-pixiu/tree/develop/samples/dubbogo/simple/jwt​​

  1. HTTP to gRPC 支持 Reflection

在 http-to-gRPC 的场景,支持 gRPC Reflection,pixiu 不用加载 proto 文件,也可以正常代理 http to gRPC 的请求,前提是,gRPC 服务必须开启 Reflection,即在当前 gRPC 服务上注册服务器反射服务。
PR:​​https://github.com/apache/dubbo-go-pixiu/pull/315​​

  1. Spring Cloud代理支持Zookepper

在v.0.4.0发布的Spring Cloud代理的基础上,新增了Zookepper作为注册中心的功能。
PR: ​​https://github.com/apache/dubbo-go-pixiu/pull/367​​

7.Http/Https监听器支持多个CA证书
Pixiu新增Http/Https监听器同时支持多个CA证书。
PR: ​​https://github.com/apache/dubbo-go-pixiu/pull/292​​

8.一系列增强与Bugfix
路由使用字典树 PR:​​https://github.com/apache/dubbo-go-pixiu/pull/310​​

在容器中获得正确的CPU核数 PR:​​https://github.com/apache/dubbo-go-pixiu/pull/340​​

支持https to grpc PR:​​https://github.com/apache/dubbo-go-pixiu/pull/315​​

对Pixiu过滤器链的重构 PR:​​https://github.com/apache/dubbo-go-pixiu/pull/307​​

更多内容,请查看Pixiu的Github页面(​​https://github.com/apache/dubbo-go-pixiu/releases)与官网(https://dubbo-go-pixiu.github.io/zh-cn/),也欢迎更多的有识之士加入我们。​​
如果对 dubbo-go 感兴趣,欢迎加入搜索钉钉群号 23331795【或者扫描如下二维码】钉钉群与社区进行交流。

What

作者:吕梦超,山西人,2019 年从洛阳理工学院毕业。目前就职于南京一家致力于搭建零售、消费的行业云服务提供商。

举报

相关推荐

0 条评论