dubbo-gateway 高性能dubbo网关 (2)

第一步:按照示例改造api接口,接口需要引入dubbo-gateway-api jar包

<dependency> <groupId>com.atommiddleware</groupId> <artifactId>dubbo-gateway-api</artifactId> <version>1.0.5</version> </dependency>

第二步:网关引入改造后的jar包,同时引用以下jar包

` <dependency> <groupId>com.atommiddleware</groupId> <artifactId>dubbo-gateway-spring-boot-starter</artifactId> <version>1.0.5</version> </dependency>`

第三步:没有了。。就是这么简单

项目说明

dubbo-gateway-api 是核心的api,相关注解都是在此项目中定义

dubbo-gateway-core 核心实现,实现dubbo-gateway的相关逻辑都在此项目中

dubbo-gateway-spring-boot-autoconfigure dubbo-gateway的自动装配

dubbo-gateway-spring-boot-starter dubbo-gateway的starter

dubbo-gateway-sample-api 示例服务api定义在此项目中

dubbo-gateway-sample-provider 基于spring cloud的dubbo 服务提供者示例

dubbo-gateway-sample 基于webflux(spring cloud gateway、zuul2)的接入dubbo-gateway示例

dubbo-gateway-sample-web-provider 基于sevlet类型的dubbo服务提供者示例

dubbo-gateway-sample-web-consumer 基于sevlet类型的项目(包括网关比如zuul-1)接入dubbo-gateway示例

配置中心

按照dubbo的正常接入配置进行配置就好了,以下贴出例子使用的配置在nacos配置中心的配置,其中filters使用了Dubbo作为过滤器

服务提供者配置:

dubbo: protocol: name: dubbo port: 20861 server: port: 8861 spring: cloud: nacos: discovery: namespace: dev server-addr: 127.0.0.1:8848

服务消费者配置:

dubbo: cloud: subscribed-services: dubbo-gateway-sample-provider server: port: 8862 spring: cloud: nacos: discovery: namespace: dev server-addr: 127.0.0.1:8848 gateway: routes: - id: myGateway uri: :8862 predicates: - Path=http://www.likecs.com/** filters: - Dubbo

注意:其中filters下面配的"Dubbo"表示使用的是DubboGatewayFilter去处理,如果不配置则不会生效.

其它说明

基于webflux的网关与基于servlet类的web应用接入整合方式是一样的步骤,例子使用的nacos版本2.0.3,如果需要在cookie,header,url,传递复杂参数【非java基本类型】,需先将参数转为json,然后使用UrlEncode进行编码,js中可以使用encodeURIComponent进行编码

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zgfjxd.html