微服務是多個服務共同完成一件事情,那麼「一致對外」就頗有必要,就像咱們去買麪包,不可能先去找農民買小麥,再。。。。spring
盜圖api
spring cloud 引入zuul方式來實現這一功能服務器
添加依賴app
<dependency> <groupId>org.springframework.cloud</groupId> <artifactId>spring-cloud-starter-zuul</artifactId> </dependency>
配置文件微服務
單純的url轉發url
#這裏的配置表示,訪問/app/** 直接重定向到(url路徑後面是相同的,zuul只是作了轉發) http://127.0.0.1:8090/** zuul.routes.baidu.path=/app/** zuul.routes.baidu.url=http://127.0.0.1:8090/
經過註冊來實現轉發spa
#當請求/api/**會直接交給listOfServers配置的服務器處理 #當stripPrefix=true的時候 (http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/user/list) #當stripPrefix=false的時候(http://127.0.0.1:8181/api/user/list -> http://192.168.1.100:8080/api/user/list) zuul.routes.api.path=/api/** zuul.routes.api.stripPrefix=false api.ribbon.listOfServers=192.168.1.100:8080,192.168.1.101:8080,192.168.1.102:8080
#zuul.routes.api-a.path=/producer/** #zuul.routes.api-a.serviceId=spring-cloud-producer
serviceId服務的id
三、啓動類code
@SpringBootApplication @EnableZuulProxy public class GatewayServiceZuulApplication { public static void main(String[] args) { SpringApplication.run(GatewayServiceZuulApplication.class, args); } }