Apache ShenYu 2.5.1 版本发布

春节刚过,Apache ShenYu 便迎来了 2.5.1 版本。此次发布内容,共有 250+ 个 Pull Request ,60+ 位贡献者的参与。新增了若干功能,修复了 bug,优化了若干内容。

新功能

  1. 添加 bRPC 插件
  • 在网关中引入 bRPC 插件
    引入网关对 bRPC 的代理插件,在网关的 pom.xml 文件中增加如下依赖:
   <!-- apache shenyu brpc plugin -->
   <dependency>
       <groupId>org.apache.shenyu</groupId>
       <artifactId>shenyu-spring-boot-starter-plugin-brpc</artifactId>
       <version>${project.version}</version>
   </dependency>
  • bRPC 服务接入网关

    在由 bRPC 构建的微服务中,引入如下依赖:

       <dependency>
           <groupId>org.apache.shenyu</groupId>
           <artifactId>shenyu-spring-boot-starter-client-brpc</artifactId>
           <version>${shenyu.version}</version>
       </dependency>
  • 在 application.yaml 配置文件增加如下配置:
   server:
     port: 8011
     address: 0.0.0.0
     servlet:
       context-path: /
   spring:
     main:
       allow-bean-definition-overriding: true
     application:
       name: brpc-exmaples

   shenyu:
     register:
       registerType: http #zookeeper #etcd #nacos #consul
       serverLists: http://localhost:9095 #localhost:2181 #http://localhost:2379 #localhost:8848
       props:
         username: admin
         password: 123456
     client:
       brpc:
         props:
           contextPath: /brpc
           ipAndPort: brpc
           appName: brpc
           port: 8005
           host: 127.0.0.1

   # starlight
   starlight:
     server:
       enable: true
       port: 8005

关于 bRPC 插件的更多使用请参考

https://shenyu.apache.org/zh/docs/plugin-center/proxy/brpc-plugin

  1. 支持Nacos不同命名空间

具体实现请参考:https://github.com/apache/shenyu/pull/4258

  1. 优化 mock 插件

具体实现请参考:https://github.com/apache/shenyu/pull/4256

  1. 注册中心实例支持eureka

具体实现请参考:https://github.com/apache/shenyu/pull/4144

  1. 支持 API 文档

具体实现请参考:https://github.com/apache/shenyu/pull/4263

  1. 添加 Sentinel 插件的规则处理参数

具体实现请参考:https://github.com/apache/shenyu/pull/3982

  1. 添加 e2e 测试引擎
    支持Apache ShenYu的 End to End 测试。

具体实现请参考:https://github.com/apache/shenyu/pull/3942

  1. 添加 casdoor 插件支持SSO

具体使用请参考:https://shenyu.apache.org/zh/docs/plugin-center/security/casdoor

  1. 添加 logging-tencent-cls 插件
    该插件用于支持收集日志到Tencent cls日志平台,并通过Tencent cls日志平台进行数据分析。

具体使用请参考:https://shenyu.apache.org/zh/docs/plugin-center/observability/logging-tencent-cls

  1. 添加 logging-clickhouse插件

具体实现请参考:https://github.com/apache/shenyu/pull/3832

  1. 添加 logging-pulsar 插件

    通过Pulsar收集网关http请求日志,通过其他应用消费Pulsar消息,并且对日志进行分析。

    插件使用流程图

    图片

    图片

具体使用请参考:https://shenyu.apache.org/zh/docs/plugin-center/observability/logging-pulsar

  1. 添加 key-auth 插件

具体实现请参考:https://github.com/apache/shenyu/pull/3756

增强

  1. 优化 motan 客户端注解

具体实现请参考:https://github.com/apache/shenyu/pull/3889

  1. 优化motan插件配置

具体实现请参考:https://github.com/apache/shenyu/pull/3851

  1. 优化 websocket 客户端注解

具体实现请参考:https://github.com/apache/shenyu/pull/3853

  1. 优化 springcloud客户端注解

具体实现请参考:https://github.com/apache/shenyu/pull/3819

  1. 优化 springmvc 客户端注解

具体实现请参考:https://github.com/apache/shenyu/pull/3819

重构

  1. 重构 API文档的mock请求

具体实现请参考:https://github.com/apache/shenyu/pull/4311

  1. 重构 logging-clickhouse 插件

具体实现请参考:https://github.com/apache/shenyu/pull/3832

  1. 优化 dubbo相关maven依赖

具体实现请参考:https://github.com/apache/shenyu/pull/4289

  1. 重构 sign 插件

具体实现请参考:https://github.com/apache/shenyu/pull/4304

  1. 更新 ShenyuExtConfiguration

具体实现请参考:https://github.com/apache/shenyu/pull/4259

  1. 移除不必要的单例

具体实现请参考:https://github.com/apache/shenyu/pull/4230

  1. 修复并发场景mock数据

具体实现请参考:https://github.com/apache/shenyu/pull/4229

  1. 重构 sdk 测试

具体实现请参考:https://github.com/apache/shenyu/pull/4226

  1. 重构 DefaultSignService

具体实现请参考:https://github.com/apache/shenyu/pull/4217

  1. 重构 shenyu-admin 规则

具体实现请参考:https://github.com/apache/shenyu/pull/4210

  1. 优化 ShaUtil

具体实现请参考:https://github.com/apache/shenyu/pull/4205

  1. 优化缓存

具体实现请参考:https://github.com/apache/shenyu/pull/4197

  1. 修复 ConcurrentModificationException

具体实现请参考:https://github.com/apache/shenyu/pull/4155

  1. 修复 etcd 数据同步

具体实现请参考:https://github.com/apache/shenyu/pull/4141

  1. 重构 sdk 客户端

具体实现请参考:https://github.com/apache/shenyu/pull/4130

  1. 优化请求超时

具体实现请参考:https://github.com/apache/shenyu/pull/4070

  1. 重构日志模块

具体实现请参考:https://github.com/apache/shenyu/pull/3917

  1. 重构 springcloud 客户端

具体实现请参考:https://github.com/apache/shenyu/pull/4001

  1. 重构 Motan插件

具体实现请参考:https://github.com/apache/shenyu/pull/3959

  1. 重构 admin 数据同步

具体实现请参考:https://github.com/apache/shenyu/pull/3940

  1. 重构 tars 客户端

具体实现请参考:https://github.com/apache/shenyu/pull/3938

  1. 重构 alibaba-dubbo 客户端

具体实现请参考:https://github.com/apache/shenyu/pull/3935

  1. 重构 springmvc 客户端

具体实现请参考:https://github.com/apache/shenyu/pull/3931

  1. 重构 admin 配置

具体实现请参考:https://github.com/apache/shenyu/pull/3918

  1. 优化随机算法

具体实现请参考:https://github.com/apache/shenyu/pull/3911

  1. 重构负载均衡算法

具体实现请参考:https://github.com/apache/shenyu/pull/3890

  1. 重构 logging-kafka 插件

具体实现请参考:https://github.com/apache/shenyu/pull/3885

错误修复

  1. 移除多余的 cookie 设置

具体实现请参考:https://github.com/apache/shenyu/pull/4283

  1. 修复 appAuth删除逻辑

具体实现请参考:https://github.com/apache/shenyu/pull/4268

  1. 修复 Cryptor-Request 插件

具体实现请参考:https://github.com/apache/shenyu/pull/4267

  1. 修复 ext 插件

具体实现请参考:https://github.com/apache/shenyu/pull/4260

  1. 修复升级脚本

具体实现请参考:https://github.com/apache/shenyu/pull/4194

  1. 修复 Nacos 注册空指针问题

具体实现请参考:https://github.com/apache/shenyu/pull/4176

  1. 修复 sandbox json 解析

具体实现请参考:https://github.com/apache/shenyu/pull/4170

  1. 修复插件更新时的异常

具体实现请参考:https://github.com/apache/shenyu/pull/4146

  1. 修复 postgresql 脚本

具体实现请参考:https://github.com/apache/shenyu/pull/4091

  1. 修复 sentinel 插件的异常

具体实现请参考:https://github.com/apache/shenyu/pull/3954

  1. 修复 TencentClsLog异常

具体实现请参考:https://github.com/apache/shenyu/pull/3951

  1. 修复更新密码异常

具体实现请参考:https://github.com/apache/shenyu/pull/3898

  1. 修复选择器分页异常

具体实现请参考:https://github.com/apache/shenyu/pull/3875

  1. 修复 request 插件异常

具体实现请参考:https://github.com/apache/shenyu/pull/3872

  1. 修复 RateLimiter插件并发处理异常

具体实现请参考:https://github.com/apache/shenyu/pull/3852

  1. 修复 sign 插件异常

具体实现请参考:https://github.com/apache/shenyu/pull/4267

  1. 修复 context-path 插件异常

具体实现请参考:https://github.com/apache/shenyu/pull/4260

贡献者

特别感谢以下贡献者对 2.5.1版本的支持和参与(排名不分先后)。

dragon-zhang, zhengpeng, mahaitao, 愿凌飞, hdgaadd, dayu, SongTao Zhuan g, Misaya295 , Shawn Jim , yunlongn , Will , moremind , RayayChung , Kevin Clair , huanccwang , 柯杨 , Kunshuai Zhu , fantiq , youzipi , class , kyeongsun , 杨阳洋 , Liming Deng , 杨文杰 , xcsnx , hnxiaoyuan , dependabot , xiaoyu , wzhangNJ , Zihao Huang , ywj1352 , pandaapo , WuLang , Nineteen , kyeongsun , ableYang , Runqi Zhao , WeiS , Luke.Z , lahmxu , Sinsy , Daming , BoyuLi4 , jakiuncle , Bowen Li , huanccwang , gitchenjh , DamonXue , Wu Daifu , Jiageng , nuo-promise , Guocheng Tang , likeguo , Sixh-PrFor , throwable , renzhuyan , wangteng , qinghai777 , zly123987123 , 奕仁 , 尔等同学 , qifanyyy , Jairo , ousinka

关于Apache ShenYu

Apache ShenYu 一款使用 Java Reactor 开发的响应式API 网关。以其高性能,动态灵活的流量管控,热插拔,易部署等特性,开箱即用为用户提供整套全生命周期的 API网关,包含 API注册、服务代理、协议转换与 API治理等功能。于2022年7月毕业成为Apache顶级项目。

官网: https://shenyu.apache.org
GitHub: https://github.com/apache/shenyu

成为贡献者

我们欢迎每一位贡献者的加入!

贡献者指南请参考:

https://shenyu.apache.org/zh/community/contributor-guide

猜你喜欢

转载自blog.csdn.net/qqxixy/article/details/128951027