Apache ShenYu 2.5.1 发布

春节刚过,Apache ShenYu 便迎来了 2.5.1 版本。此次发布内容,共有 250+Pull Request60+ 位贡献者的参与。新增了若干功能,修复了 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 ShenYuEnd 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

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

微信关注我们

原文链接:https://www.oschina.net/news/227696/apache-shenyu-2-5-1-released

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

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

相关文章

发表评论

资源下载

更多资源
Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS

Oracle Database,又名Oracle RDBMS,或简称Oracle。是甲骨文公司的一款关系数据库管理系统。它是在数据库领域一直处于领先地位的产品。可以说Oracle数据库系统是目前世界上流行的关系数据库管理系统,系统可移植性好、使用方便、功能强,适用于各类大、中、小、微机环境。它是一种高效率、可靠性好的、适应高吞吐量的数据库方案。

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

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

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

Eclipse(集成开发环境)

Eclipse(集成开发环境)

Eclipse 是一个开放源代码的、基于Java的可扩展开发平台。就其本身而言,它只是一个框架和一组服务,用于通过插件组件构建开发环境。幸运的是,Eclipse 附带了一个标准的插件集,包括Java开发工具(Java Development Kit,JDK)。

Java Development Kit(Java开发工具)

Java Development Kit(Java开发工具)

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