《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——三、 网关(3) https://developer.aliyun.com/article/1223991
c) 启动shenyu-examples-dubbo
以官网提供的例子为例shenyu-examples-dubbo。假如dubbo服务定义如下:
声明应用服务名称,注册中心地址,使用dubbo协议,声明服务接口,对应接口实现类:
在接口实现类中,使用注解@ShenyuDubboClient向shenyu-admin注册服务。
在配置文件application.yml中的配置信息:
在配置文件中,声明dubbo使用的注册中心地址,dubbo服务向shenyu-admin注册,使用的方式是http,注册地址是http://localhost:9095。
关于注册方式的使用,请参考应用客户端接入。
d) 调用dubbo服务
shenyu-examples-dubbo项目成功启动之后会自动把加@ShenyuDubboClient注解的接口方法注册到网关。
打开插件列表->Proxy->dubbo可以看到插件规则配置列表:
注册成功的选择器信息:
注册成功的规则信息:
选择器和规则是Apache ShenYu网关中最灵魂的东西。掌握好它,你可以对任何流量进行管理。对应为选择器与规则里面的匹配条件(conditions),根据不同的流量筛选规则,我们可以处理各种复杂的场景。流量筛选可以从Header,URI,Query,Cookie等等Http请求获取数据。
然后可以采用Match,=,Regex,Groovy,Exclude等匹配方式,匹配出你所预想的数据。多组匹配添加可以使用And/Or的匹配策略。
具体的介绍与使用请看:选择器与规则管理。
发起GET请求,通过ShenYu网关调用dubbo服务:
成功响应之后,结果如下:
至此,就成功的通过http请求访问dubbo服务了,ShenYu网关通过shenyu-plugin-dubbo模块将http协议转成了dubbo协议。
《Apache Dubbo微服务开发从入门到精通》——服务治理与生态——三、 网关(5) https://developer.aliyun.com/article/1223987