Apache ShenYu is a responsive API gateway developed using Java Reactor. With its high performance, dynamic and flexible traffic control, hot swap, easy deployment and other features, out of the box to provide users with a full lifecycle of ‘API’ gateway, including ‘API’ registration, service proxy, protocol conversion, ‘API’ documentation and ‘API’ governance and other functions. Apache ShenYu graduated as an Apache top-level project in ‘July 2022’.
website: https://shenyu.apache.org
GitHub: https://github.com/apache/shenyu
Six months later, Apache ShenYu released version 2.6.0, which submitted a total of 280+ Pull requests
, added about 20+ new features
, added several enhancements, refactored several features, and fixed several bugs. A total of 78
contributors participated, with a cumulative total of 350+ contributors.
version records: https://github.com/apache/shenyu/compare/v2.5.1...v2.6.0
the specific use please see: https://shenyu.apache.org/zh/docs/next/developer/custom-plugin
specific pr please see: https://github.com/apache/shenyu/pull/4392
sheneyu: sync: apollo: appId: shenyu meta: http://localhost:8080 env: dev clusterName: test namespace: application
specific pr please see: https://github.com/apache/shenyu/pull/4532
The springboot client can be dynamically configured on the shenyu client
Add the TCP plug-in
the specific use please see: https://shenyu.apache.org/zh/docs/next/plugin-center/proxy/tcp-plugin
specific pr please see: https://github.com/apache/shenyu/pull/4607
specific pr please see: https://github.com/apache/shenyu/pull/4600
the specific use please see: https://shenyu.apache.org/zh/docs/user-guide/kubernetes-controller/build-deploy
https://shenyu.apache.org/zh/docs/user-guide/kubernetes-controller/config
specific pr please see: https://github.com/apache/shenyu/pull/4620
配置如下:
shenyu: netty: http: sni: enabled: true mod: k8s #k8s模式适用 defaultK8sSecretNamespace: shenyu-ingress #默认secret资源的namespace defaultK8sSecretName: default-cert #默认secret资源名字
specific pr please see: https://github.com/apache/shenyu/pull/4636
https://github.com/apache/shenyu/pull/4657
https://github.com/apache/shenyu/pull/4802
https://github.com/apache/shenyu/pull/4795
specific pr please see: https://github.com/apache/shenyu/pull/4812
specific pr please see: https://github.com/apache/shenyu/pull/4856
10.添加polaris作为shenyu的数据同步和注册中心
shenyu: sync: polaris: url: 127.0.0.1:8093 namespace: fileGroup:
specific pr please see: https://github.com/apache/shenyu/pull/4410
shenyu: selectorMatchCache: ## selector L1 cache cache: enabled: false initialCapacity: 10000 # initial capacity in cache maximumSize: 10000 # max size in cache ## selector L2 cache, use trie as L2 cache trie: enabled: false cacheSize: 128 # the number of plug-ins matchMode: antPathMatch ruleMatchCache: ## rule L1 cache cache: enabled: true initialCapacity: 10000 # initial capacity in cache maximumSize: 65536 # max size in cache ## rule L2 cache, use trie as L2 cache trie: enabled: false cacheSize: 1024 # the number of selectors matchMode: antPathMatch
the specific use please see: https://shenyu.apache.org/zh/docs/next/user-guide/property-config/client-property-config
specific pr please see: https://github.com/apache/shenyu/pull/4417
specific pr please see: https://github.com/apache/shenyu/pull/4336
Note: You can use pr to view the memory data of shenyu gateway
specific pr please see: https://github.com/apache/shenyu/pull/4637
Check the configuration of actuator:
management: endpoints: web: exposure: include: "*" # or health,info
the specific use please see: https://shenyu.apache.org/docs/user-guide/api-doc/shenyu-annotation-apidoc
specific pr please see: https://github.com/apache/shenyu/pull/4362
specific pr please see: https://github.com/apache/shenyu/pull/4319
3.Brpc supports shared thread pools
specific pr please see: https://github.com/apache/shenyu/pull/4402
specific pr please see: https://github.com/apache/shenyu/pull/4418
specific pr please see: https://github.com/apache/shenyu/pull/4435
specific pr please see: https://github.com/apache/shenyu/pull/4451
the specific use please see: https://shenyu.apache.org/zh/docs/next/developer/custom-plugin
specific pr please see: https://github.com/apache/shenyu/pull/4473
specific pr please see: https://github.com/apache/shenyu/pull/4488
specific pr please see: https://github.com/apache/shenyu/pull/4383
specific pr please see: https://github.com/apache/shenyu/pull/4450
Specific configurations are as follows:
shenyu: switchConfig: local: true collapseSlashes: false #true表示开启宽泛路径支持specific pr please see: https://github.com/apache/shenyu/pull/4522
specific pr please see: https://github.com/apache/shenyu/pull/4541
specific pr please see: https://github.com/apache/shenyu/pull/4549/
specific pr please see: https://github.com/apache/shenyu/issues/4540
specific pr please see: https://github.com/apache/shenyu/pull/4557
specific pr please see: https://github.com/apache/shenyu/pull/4567
specific pr please see: https://github.com/apache/shenyu/pull/4579
specific pr please see: https://github.com/apache/shenyu/pull/4591
specific pr please see: https://github.com/apache/shenyu/pull/4606
ShenyuClientApiDocExecutorSubscriber
test casesspecific pr please see: https://github.com/apache/shenyu/pull/4632
specific pr please see: https://github.com/apache/shenyu/pull/4688
specific pr please see: https://github.com/apache/shenyu/pull/4362
specific pr please see: https://github.com/apache/shenyu/pull/4673
specific pr please see: https://github.com/apache/shenyu/pull/4645
specific pr please see: https://github.com/apache/shenyu/pull/4698
specific pr please see: https://github.com/apache/shenyu/pull/4702
specific pr please see: https://github.com/apache/shenyu/pull/4705
the specific use please see: https://shenyu.apache.org/zh/docs/next/plugin-center/proxy/spring-cloud-plugin
shenyu: springCloudCache: enabled: false # 为true是开启springcloud缓存
specific pr please see: https://github.com/apache/shenyu/pull/4758
29.shenyu discovery supports websocket synchronization
specific pr please see: https://github.com/apache/shenyu/pull/4768
specific pr please see: https://github.com/apache/shenyu/pull/4783
specific pr please see: https://github.com/apache/shenyu/pull/4747
specific pr please see: https://github.com/apache/shenyu/pull/4845
specific pr please see: https://github.com/apache/shenyu/pull/4806
specific pr please see: https://github.com/apache/shenyu/pull/4855
specific pr please see: https://github.com/apache/shenyu/pull/4849
specific pr please see: https://github.com/apache/shenyu/pull/4890
specific pr please see: https://github.com/apache/shenyu/pull/4859
specific pr please see: https://github.com/apache/shenyu/pull/4899
specific pr please see: https://github.com/apache/shenyu/pull/4913
specific pr please see: https://github.com/apache/shenyu/pull/4919
specific pr please see: https://github.com/apache/shenyu/pull/4918
specific pr please see: https://github.com/apache/shenyu/pull/4938
specific pr please see: https://github.com/apache/shenyu/pull/4951
specific pr please see: https://github.com/apache/shenyu/pull/4355
specific pr please see: https://github.com/apache/shenyu/pull/4342
specific pr please see: https://github.com/apache/shenyu/pull/4332
the specific use please see: https://shenyu.apache.org/docs/plugin-center/security/sign-plugin
specific pr please see: https://github.com/apache/shenyu/pull/4386
specific pr please see: https://github.com/apache/shenyu/pull/4394
specific pr please see: https://github.com/apache/shenyu/pull/4400
specific pr please see: https://github.com/apache/shenyu/pull/4414
specific pr please see: https://github.com/apache/shenyu/pull/4403
specific pr please see: https://github.com/apache/shenyu/pull/4462
specific pr please see: https://github.com/apache/shenyu/pull/4409
specific pr please see: https://github.com/apache/shenyu/pull/4673
specific pr please see: https://github.com/apache/shenyu/pull/4429
specific pr please see: https://github.com/apache/shenyu/pull/4516
specific pr please see: https://github.com/apache/shenyu/pull/4526
specific pr please see: https://github.com/apache/shenyu/pull/4564
specific pr please see: https://github.com/apache/shenyu/pull/4569
specific pr please see: https://github.com/apache/shenyu/pull/4392
specific pr please see: https://github.com/apache/shenyu/pull/4598
specific pr please see: https://github.com/apache/shenyu/pull/4614
specific pr please see: https://github.com/apache/shenyu/pull/4624
specific pr please see: https://github.com/apache/shenyu/pull/4635
specific pr please see: https://github.com/apache/shenyu/pull/4578
specific pr please see: https://github.com/apache/shenyu/pull/4653
specific pr please see: https://github.com/apache/shenyu/pull/4669
specific pr please see: https://github.com/apache/shenyu/pull/4637
specific pr please see: https://github.com/apache/shenyu/pull/4697
specific pr please see: https://github.com/apache/shenyu/pull/4637
specific pr please see: https://github.com/apache/shenyu/pull/4709
specific pr please see: https://github.com/apache/shenyu/pull/4679
specific pr please see: https://github.com/apache/shenyu/pull/4700
specific pr please see: https://github.com/apache/shenyu/pull/4710
specific pr please see: https://github.com/apache/shenyu/pull/4765
specific pr please see: https://github.com/apache/shenyu/pull/4772
specific pr please see: https://github.com/apache/shenyu/pull/4773
specific pr please see: https://github.com/apache/shenyu/pull/4780
specific pr please see: https://github.com/apache/shenyu/pull/4787
specific pr please see: https://github.com/apache/shenyu/pull/4790
specific pr please see: https://github.com/apache/shenyu/pull/4799
specific pr please see: https://github.com/apache/shenyu/pull/4809
specific pr please see: https://github.com/apache/shenyu/pull/4803
specific pr please see: https://github.com/apache/shenyu/pull/4821
specific pr please see: https://github.com/apache/shenyu/pull/4832
specific pr please see: https://github.com/apache/shenyu/pull/4837
specific pr please see: https://github.com/apache/shenyu/pull/4820
specific pr please see: https://github.com/apache/shenyu/pull/4865
specific pr please see: https://github.com/apache/shenyu/pull/4825
specific pr please see: https://github.com/apache/shenyu/pull/4873
specific pr please see: https://github.com/apache/shenyu/pull/4874
specific pr please see: https://github.com/apache/shenyu/pull/4879
specific pr please see: https://github.com/apache/shenyu/pull/4892
specific pr please see: https://github.com/apache/shenyu/pull/4841
specific pr please see: https://github.com/apache/shenyu/pull/4948
specific pr please see: https://github.com/apache/shenyu/pull/4945
specific pr please see: https://github.com/apache/shenyu/pull/4351
specific pr please see: https://github.com/apache/shenyu/pull/4331
specific pr please see: https://github.com/apache/shenyu/pull/4338
specific pr please see: https://github.com/apache/shenyu/pull/4368
specific pr please see: https://github.com/apache/shenyu/pull/4374
specific pr please see: https://github.com/apache/shenyu/pull/4382
specific pr please see: https://github.com/apache/shenyu/pull/4390
specific pr please see: https://github.com/apache/shenyu/pull/4387
specific pr please see: https://github.com/apache/shenyu/pull/4396
specific pr please see: https://github.com/apache/shenyu/pull/4340
specific pr please see: https://github.com/apache/shenyu/pull/4411
specific pr please see: https://github.com/apache/shenyu/pull/4412
specific pr please see: https://github.com/apache/shenyu/pull/4413
specific pr please see: https://github.com/apache/shenyu/pull/4420
specific pr please see: https://github.com/apache/shenyu/pull/4433
specific pr please see: https://github.com/apache/shenyu/pull/4425
specific pr please see: https://github.com/apache/shenyu/pull/4252
specific pr please see: https://github.com/apache/shenyu/pull/4430
specific pr please see: https://github.com/apache/shenyu/pull/4486
specific pr please see: https://github.com/apache/shenyu/pull/4499
specific pr please see: https://github.com/apache/shenyu/pull/4506
specific pr please see: https://github.com/apache/shenyu/pull/4509
specific pr please see: https://github.com/apache/shenyu/pull/4507
specific pr please see: https://github.com/apache/shenyu/pull/4906
specific pr please see: https://github.com/apache/shenyu/pull/4524
specific pr please see: https://github.com/apache/shenyu/pull/4528
specific pr please see: https://github.com/apache/shenyu/pull/4533
specific pr please see: https://github.com/apache/shenyu/pull/4589
specific pr please see: https://github.com/apache/shenyu/pull/4595
specific pr please see: https://github.com/apache/shenyu/pull/4605
specific pr please see: https://github.com/apache/shenyu/pull/4593
specific pr please see: https://github.com/apache/shenyu/pull/4619
specific pr please see: https://github.com/apache/shenyu/pull/4639
specific pr please see: https://github.com/apache/shenyu/pull/4644
specific pr please see: https://github.com/apache/shenyu/pull/4681
specific pr please see: https://github.com/apache/shenyu/pull/4716
specific pr please see: https://github.com/apache/shenyu/pull/4720
specific pr please see: https://github.com/apache/shenyu/pull/4756
specific pr please see: https://github.com/apache/shenyu/pull/4763
specific pr please see: https://github.com/apache/shenyu/pull/4784
specific pr please see: https://github.com/apache/shenyu/pull/4762
specific pr please see: https://github.com/apache/shenyu/pull/4805
specific pr please see: https://github.com/apache/shenyu/pull/4843
specific pr please see: https://github.com/apache/shenyu/pull/4851
specific pr please see: https://github.com/apache/shenyu/pull/4852
specific pr please see: https://github.com/apache/shenyu/pull/4854
specific pr please see: https://github.com/apache/shenyu/pull/4867
specific pr please see: https://github.com/apache/shenyu/pull/4872
specific pr please see: https://github.com/apache/shenyu/pull/4882
specific pr please see: https://github.com/apache/shenyu/pull/4889
specific pr please see: https://github.com/apache/shenyu/pull/4844
specific pr please see: https://github.com/apache/shenyu/pull/4885
specific pr please see: https://github.com/apache/shenyu/pull/4911
specific pr please see: https://github.com/apache/shenyu/pull/4941
specific pr please see: https://github.com/apache/shenyu/pull/4934
Special thanks to the following contributors for their support and participation in the ‘2.6.0’ release (in no particular order).
midnight2104,koonchen,847850277,balloon72,yu199195,iwangjie,damonxue,tian-pengfei,caojiajun,dragon-zhang,u3breeze,li-keguo,SuperMonkeyC,mahaitao617,tomsun28,moremind,liaolzy,Ceilzcx,misaya295,BoyuLi4,HaiqiQin,starlight2003,stulzq,ywj1352,yunlongn,aFlyBird0,dengliming,plutokaito,xuyicheng1995,lan-dian,sachin10fi,zuobiao-zhou, hudongdong129,crudboy,aoshiguchen,VampireAchao,JooKS-me,Redick01,huanccwang,lijay7674,omernaci,peng-heng,December-Pb,6freeair2016,jieyangxchen,lianjunwei,u3breeze,eurecalulu,wanyaoasiainfo,wanyaoasiainfo,Kakk22,xuziyang,menglujing,xcsnx,yu1183688986,lahmXu,fabian4,ileonli,VampireAchao,GOODBOY008,TeslaCN
We welcome every contributor to join ShenYu, and welcome contributors to participate in ShenYu in the spirit of Apache Way!
See the contributor guidelines: