What's new in dubbo-go-pixiu v1.0.0
dubbo 原生网关 dubbo-go-pixiu v1.0 https://github.com/apache/dubbo-go-pixiu/releases/tag/v1.0.0-rc2 正式发版了,项目从 2019 年一路走来,四年磨剑,感谢从 铁城、张天 到 吕梦超 三位负责人。
目前,dubbo-go-pixiu 可作为 dubbo/dubbogo 服务网关,也可作为 dubbo/dubbogo 服务的 sidecar,还额外基于 Istio v1.14.3 实现了 dubbo 的控制面。
dubbo-go 和 dubbo-go-pixiu 在 2023 年初被蚂蚁集团采用内部容器 PAAS HCS(Hyper Container Service) 超级容器平台的微服务技术底座, v1.0.0 集成了蚂蚁集团使用过程中的提交的很多改进和优化。感谢本次版本的主要贡献者 胡潇晗、樊凡、龚娜、张国强、【阿里】远云、【蚂蚁】多航、王虓雄、望哥、于雨 等社区同学。
1 New Features In v1.0.0
1.1 Triple支持传递Header和引入PB定义
Triple代理现在可以正确传递header到Triple服务,且支持通过引入protoset文件来支持未开启Proto反射或不支持反射的特定proto,例如使用旧版本编译的或gogoproto编译的服务。
samples: https://github.com/apache/dubbo-go-pixiu-samples/tree/main/dubbogo/simple/triple
1.2 负载均衡 Maglev hashing
负载均衡支持新算法:Maglev hashing。Maglev 是 Google 开发的基于 kernal bypass 技术实现的 4 层负载均衡,它具有非常强大的负载性能,承载了Google绝大部分接入流量。Maglev在负载均衡算法上采用自行开发的一致性哈希算法被称为Maglev Hashing,该哈希算法在节点变化时能够尽量少的影响其他几点,且尽可能的保证负载的均衡,是一个非常优秀的一致性哈希算法。
samples: https://github.com/shawnh2/dubbo-go-pixiu-samples/tree/main/dubbogo/simple/traffic
1.3 Router支持Header路由
Router支持通过header路由,可以更方便的管理流量。
http_filters: - name: dgp.filter.http.traffic config: traffics: - name: "user-v1" router: "/user" canary-by-header: v1 canary-weight: 0 - name: "user-v2" router: "/user" canary-by-header: v2 canary-weight: 100
samples: https://github.com/shawnh2/dubbo-go-pixiu-samples/tree/main/dubbogo/simple/traffic
1.4 错误注入
支持对特定API做错误注入,例如返回固定的响应,施加随机性的延时/错误等。
http_filters: - name: dgp.filter.http.faultinjection config: fail_inject_rules: "/UserService/com.dubbogo.pixiu.UserService/GetUserByCode": type: delay trigger_type: random status_code: 500 body: 'error' delay: 5s odds: 30
samples: https://github.com/apache/dubbo-go-pixiu/blob/develop/docs/sample/others/fail-inject.md
1.5 Add GracefulShutdown Signal For Windows
支持Windows优雅下线,Pixiu关闭时避免流量损失。
static_resources: ....... ....... shutdown_config: timeout: "60s" step_timeout: "10s" reject_policy: "immediacy"
配置方式参考: https://github.com/apache/dubbo-go-pixiu-samples/tree/main/shutdown
2 Enhancement in v1.0.0
- 优化Prometheus指标上报
- 修复一致性Hash数组越界
- 优化Timeout时的http status code
- 优化Metric推拉模式
- 优化Nacos客户端启动时的参数配置
- 修复特定Filter配置为空时的NPE问题
- 升级wasmer-go v1.0.4以支持Mac ARM版本
- fix sample url using github.com/apache/dubbo-go-pixiu-samples
- 修复流量管理路由权重计算错误的问题
- 修复负载均衡在特定情况下无法正常工作的问题
- 移除无用的imports
- chore: unnecessary use of fmt.Sprintf
- chore:use wasm filter build tags add wasm
- 修复无法错误的samples链接等
- revert gatewayCmd to Run dubbo go pixiu
- 升级 hessian2依赖到v1.11.3
3 参考文档
- What's new in dubbo-go-pixiu v0.6.0
- What's new in dubbo-go-pixiu 0.5.1
- What's new in dubbo-go-pixiu 0.4.0
- Dubbo 跨语言调用神兽:dubbo-go-pixiu
4 社区
欢迎钉钉扫码加入 dubbogo 社区钉钉群【钉钉群号 23331795】进行交流。
以及 dubbogo 社区微信公众号:
从今年开始,除了以往负责的 dubbogo 社区项目外,于雨还负责了 pika 项目(https://github.com/OpenAtomFoundation/pika),如果对该项目感兴趣,请扫码:

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
Spring Data Redis切换底层Jedis 和 Lettuce实现
1 简介 Spring Data Redis是 Spring Data 系列的一部分,它提供了Spring应用程序对Redis的轻松配置和使用。它不仅提供了对Redis操作的高级抽象,还支持Jedis和Lettuce两种连接方式。 可通过简单的配置就能连接Redis,并且可以切换Jedis和Lettuce两个连接方式。下面先来看看我们该如何使用它。 2 使用 2.1 引入Redis依赖 使用Spring Boot 提供的spring-boot-starter-data-redis依赖 <dependency> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-data-redis</artifactId> <version>3.1.0</version> </dependency> 2.2 自定义配置类 自定义配置类,用于设置Key和Value的序列化。 @Configuration pub...
- 下一篇
Visual Studio 的中一键打开当前代码 Gitee.com 的 Web 页面
Open on GitHub 是一个Visual Studio 的扩展, 用于将当前编辑器中的代码在托管网站上打开, 目前支持 GitHub, GitLab, Gitea,Gitee, Bitbucket 和AzureDevOps (dev.azure.com, visualstudio.com, tfs) 在编辑器中右键, 如果仓库托管在 前面提到的网站上, 你可以跳转至 master/当前分支/当前版本的在线代码查看页面,如果在编辑器中选择了行或区域, 将会跳转至指定指定代码所在的页面位置。 从 2.0.4 版本开始 ,开始支持了 Gitee。 详情了解 https://github.com/neuecc/Open-on-GitHub/releases/tag/2.0.4 如何安装? 1. 打开VS扩展商店https://marketplace.visualstudio.com/items?itemName=neuecc.OpenonGitHub 2. VS的扩展管理中搜索Open on GitHub 并安装。
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Red5直播服务器,属于Java语言的直播服务器
- CentOS7,8上快速安装Gitea,搭建Git服务器
- CentOS6,7,8上安装Nginx,支持https2.0的开启
- CentOS8,CentOS7,CentOS6编译安装Redis5.0.7
- SpringBoot2更换Tomcat为Jetty,小型站点的福音
- Jdk安装(Linux,MacOS,Windows),包含三大操作系统的最全安装
- SpringBoot2整合MyBatis,连接MySql数据库做增删改查操作
- SpringBoot2全家桶,快速入门学习开发网站教程
- CentOS8安装MyCat,轻松搞定数据库的读写分离、垂直分库、水平分库
- CentOS8编译安装MySQL8.0.19