客户端接入配置
应用客户端接入是指将你的微服务接入到Apache ShenYu网关,当前支持Http、 Dubbo、 Spring Cloud、 gRPC、 Motan、 Sofa、 Tars等协议的接入。
将应用客户端接入到Apache ShenYu网关是通过注册中心来实现的,涉及到客户端注册和服务端同步数据。注册中心支持Http、Zookeeper、Etcd、Consul和Nacos。
本篇文章介绍将应用客户端接入到Apache ShenYu网关,应该如何配置。相关原理请参考设计文档中的 客户端接入原理 。
Http方式注册配置
shenyu-admin配置
在 yml文件中配置注册类型为http,配置信息如下:
shenyu:
register:
registerType: http
props:
checked: true #是否开启检测
zombieCheckTimes: 5 #失败几次后剔除服务
scheduledTime: 10 #定时检测间隔时间 (秒)
shenyu-client配置
下面展示的是http服务作为客户端接入到Apache ShenYu网关时,通过Http方式注册配置信息。其他客户端接入时(Dubbo、 Spring Cloud等),配置方式同理。
在微服务中的 yml文件配置注册方式设置为http,并填写shenyu-admin服务地址列表,配置信息如下:
shenyu:
client:
registerType: http
serverLists: http://localhost:9095
props:
contextPath: /http
appName: http
port: 8188
isFull: false
# registerType : 服务注册类型,填写 http
# serverList: 为http注册类型时,填写Shenyu-Admin项目的地址,注意加上http://,多个地址用英文逗号分隔
# port: 你本项目的启动端口,目前springmvc/tars/grpc需要进行填写
# contextPath: 为你的这个mvc项目在shenyu网关的路由前缀, 比如/order ,/product 等等,网关会根据你的这个前缀来进行路由.
# appName:你的应用名称,不配置的话,会默认取 `spring.application.name` 的值
# isFull: 设置true 代表代理你的整个服务,false表示代理你其中某几个controller;目前适用于springmvc/springcloud
Zookeeper方式注册配置
shenyu-admin配置
- 首先在
pom文件中加入相关的依赖(默认已经引入):
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-register-server-zookeeper</artifactId>
<version>${project.version}</version>
</dependency>
- 然后在
yml文件中配置注册类型为zookeeper,填写zookeeper服务地址和参数,配置信息如下:
shenyu:
register:
registerType: zookeeper
serverLists: localhost:2181
props:
sessionTimeout: 5000
connectionTimeout: 2000
shenyu-client配置
下面展示的是http服务作为客户端接入到Apache ShenYu网关时,通过Zookeeper方式注册配置信息。其他客户端接入时(Dubbo、 Spring Cloud等),配置方式同理。
- 首先在
pom文件中加入相关的依赖:
<!-- apache shenyu zookeeper register center -->
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-register-client-zookeeper</artifactId>
<version>${shenyu.version}</version>
</dependency>
- 然后在
yml中配置注册类型为zookeeper,并填写Zookeeper服务地址和相关参数,如下:
shenyu:
client:
registerType: zookeeper
serverLists: localhost:2181
props:
contextPath: /http
appName: http
port: 8189
isFull: false
# registerType : 服务注册类型,填写 zookeeper
# serverList: 为zookeeper注册类型时,填写zookeeper地址,多个地址用英文逗号分隔
# port: 你本项目的启动端口,目前springmvc/tars/grpc需要进行填写
# contextPath: 为你的这个mvc项目在shenyu网关的路由前缀, 比如/order ,/product 等等,网关会根据你的这个前缀来进行路由.
# appName:你的应用名称,不配置的话,会默认取 `spring.application.name` 的值
# isFull: 设置true 代表代理你的整个服务,false表示代理你其中某几个controller;目前适用于springmvc/springcloud
Etcd方式注册配置
shenyu-admin配置
- 首先在
pom文件中加入相关的依赖(默认已经引入):
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-register-server-etcd</artifactId>
<version>${project.version}</version>
</dependency>
- 然后在
yml配置注册类型为etcd, 填写etcd服务地址和参数,配置信息如下:
shenyu:
register:
registerType: etcd
serverLists : http://localhost:2379
shenyu-client配置
下面展示的是http服务作为客户端接入到Apache ShenYu网关时,通过Etcd方式注册配置信息。其他客户端接入时(Dubbo、 Spring Cloud等),配置方式同理。
- 首先在
pom文件中加入相关的依赖:
<!-- apache shenyu etcd register center -->
<dependency>
<groupId>org.apache.shenyu</groupId>
<artifactId>shenyu-register-client-etcd</artifactId>
<version>${shenyu.version}</version>
</dependency>
- 然后在
yml中配置注册类型为etcd, 并填写etcd