- 新建springcloud-zuul-9527,pom.xml添加zuul依赖
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-zuul</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<!--hystrix依赖-->
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-hystrix-dashboard</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-ribbon</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>org.springframework.cloud</groupId>
<artifactId>spring-cloud-starter-eureka</artifactId>
<version>1.4.6.RELEASE</version>
</dependency>
<dependency>
<groupId>com.zhang</groupId>
<artifactId>springcloud-api</artifactId>
<version>1.0-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-devtools</artifactId>
<optional>true</optional>
<scope>true</scope>
</dependency>
server:
port: 9527
spring:
application:
name: springcloud-zuul
eureka:
client:
service-url:
defaultZone: http://eureka7001.com:7001/eureka/,http://eureka7002.com:7002/eureka/,http://eureka7003.com:7003/eureka/
instance:
instance-id: zuul-9527.com
prefer-ip-address: true
info:
app.name: kaka
company.name: www.longzhu.com
- 修改hosts文件,模仿网址访问
- 添加主启动类,并添加注解@EnableZuulProxy
- 测试,启动7001,7002,7003,再启动springcloud-provider-dept-hystrix-8001,再启动springcloud-zuul-9527
1、访问eureka,http://localhost:7001/
2、首先测试服务是否启动成功http://localhost:8001/dept/get/3 ,正常可以访问
3、再测试Zuul http://www.kaka.com:9527/springcloud-provider-dept/dept/get/3 ,也可以访问
其中springcloud-provider-dept指的是在eureka中注册的服务,需要小写。
4、因为在3中可以看到服务名,这样不好,可以通过自定义访问服务名
在application.yml中添加对应配置
5、再次访问http://www.kaka.com:9527/mydept/dept/get/2 ,其中mydept是自定义的,可以正常访问
6、虽然这样配置了,但是用3的方式依然可以访问,现在禁用3的方式访问
在application.yml中添加对应配置
再次访问3的地址,就访问不到了
当然也可以隐藏全部的服务,也就是禁止所有用服务名访问的方式,添加ignored-services: "*" #这是隐藏全部的服务
7、为了区分不同的服务模块,可以设置统一的前缀
在application.yml中添加对应配置
8、再次访问,只可以这样访问http://www.kaka.com:9527/kaka/mydept/dept/get/2 ,kaka是自定义的前缀