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

3 参考文档

4 社区

欢迎钉钉扫码加入 dubbogo 社区钉钉群【钉钉群号 23331795】进行交流。

以及 dubbogo 社区微信公众号:

从今年开始,除了以往负责的 dubbogo 社区项目外,于雨还负责了 pika 项目(https://github.com/OpenAtomFoundation/pika),如果对该项目感兴趣,请扫码:

优秀的个人博客,低调大师

微信关注我们

原文链接:https://my.oschina.net/dubbogo/blog/10294380

转载内容版权归作者及来源网站所有!

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。

相关文章

发表评论

资源下载

更多资源
Mario,低调大师唯一一个Java游戏作品

Mario,低调大师唯一一个Java游戏作品

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Apache Tomcat7、8、9(Java Web服务器)

Apache Tomcat7、8、9(Java Web服务器)

Tomcat是Apache 软件基金会(Apache Software Foundation)的Jakarta 项目中的一个核心项目,由Apache、Sun 和其他一些公司及个人共同开发而成。因为Tomcat 技术先进、性能稳定,而且免费,因而深受Java 爱好者的喜爱并得到了部分软件开发商的认可,成为目前比较流行的Web 应用服务器。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

JDK是 Java 语言的软件开发工具包,主要用于移动设备、嵌入式设备上的java应用程序。JDK是整个java开发的核心,它包含了JAVA的运行环境(JVM+Java系统类库)和JAVA工具。

Sublime Text 一个代码编辑器

Sublime Text 一个代码编辑器

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。