Application Client Access Config
Notice After ShenYu version 2.6.1, the ShenYu register just support http type, and the middleware register type has been removed. So, please use the http register type to register your service. ShenYu Register Center isn't microservice register center, it just register metadata, selector data, rule data to shenyu-admin, and then shenyu-admin will sync data to shenyu-gateway.
Application client access means to access your microservice to ShenYu gateway, currently supports HTTP, Dubbo, Spring Cloud, gRPC, Motan, Sofa, Tars and other protocols access. Currently, ShenYu just support HTTP register type.
This article describes how to configure the application client to access the Apache ShenYu gateway. For related principles, see Application Client Access in the design document .
#
Http Registry Config#
shenyu-admin configSet the register type to 'Http
in the yml
file. The configuration information is as follows:
shenyu: register: registerType: http props: checked: true # is checked zombieCheckTimes: 5 # how many times does it fail to detect the service scheduledTime: 10 # timed detection interval time
#
shenyu-client configThe following shows the configuration information registered through Http
when the Http
service accesses the Apache ShenYu
gateway as a client. Other clients (such as Dubbo
and Spring Cloud
) can be configured in the same way.
shenyu: register: registerType: http serverLists: http://localhost:9095 props: username: admin password: 123456 client: http: props: contextPath: /http appName: http port: 8188 isFull: false# registerType : register type, set http# serverList: when register type is http,set shenyu-admin address list,pls note 'http://' is necessary.# port: your project port number; apply to springmvc/tars/grpc# contextPath: your project's route prefix through shenyu gateway, such as /order ,/product etc,gateway will route based on it.# appName:your project name,the default value is`spring.application.name`.# isFull: set true means providing proxy for your entire service, or only a few controller. apply to springmvc/springcloud
#
Register different type API at same timefollow example use the http and dubbo.
the yml
configuration like follow:
shenyu: register: registerType: http serverLists: localhost:9195 props: username: admin password: 123456 client: http: props: contextPath: /http appName: http port: 8188 isFull: false dubbo: props: contextPath: /dubbo appName: dubbo port: 28080 props: nacosNameSpace: ShenyuRegisterCenter# registerType : register type, set nacos # serverList: when register type is nacos, add nacos address list# http.port: your project port number; apply to springmvc# http.contextPath: your project's route prefix through shenyu gateway, such as /order ,/product etc,gateway will route based on it.# http.appName:your project name,the default value is`spring.application.name`.# http.isFull: set true means providing proxy for your entire service, or only a few controller. apply to springmvc/springcloud# dubbo.contextPath: your project dubbo service's context path# dubbo.port: your project dubbo rpc port# dubbo.appName: your project dubbo application name# nacosNameSpace: nacos namespace
In conclusion, this paper mainly describes how to connect your microservices (currently supporting Http
, Dubbo
, Spring Cloud
, gRPC
, Motan
, Sofa
, Tars
and other protocols) to the Apache ShenYu
gateway. the Apache ShenYu gateway support registry has Http
This paper introduces the different ways to register configuration information when Http
service is used as the client to access Apache ShenYu
gateway.