springcloud(Zuul)五

  • 新建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>
  • 在application.yml中添加配置信息
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文件,模仿网址访问
    image
  • 添加主启动类,并添加注解@EnableZuulProxy
    image
  • 测试,启动7001,7002,7003,再启动springcloud-provider-dept-hystrix-8001,再启动springcloud-zuul-9527
    1、访问eureka,http://localhost:7001/
    image
    2、首先测试服务是否启动成功http://localhost:8001/dept/get/3 ,正常可以访问
    image
    3、再测试Zuul http://www.kaka.com:9527/springcloud-provider-dept/dept/get/3 ,也可以访问
    其中springcloud-provider-dept指的是在eureka中注册的服务,需要小写。
    image
    4、因为在3中可以看到服务名,这样不好,可以通过自定义访问服务名
    在application.yml中添加对应配置
    image
    5、再次访问http://www.kaka.com:9527/mydept/dept/get/2 ,其中mydept是自定义的,可以正常访问
    image
    6、虽然这样配置了,但是用3的方式依然可以访问,现在禁用3的方式访问
    在application.yml中添加对应配置
    image
    再次访问3的地址,就访问不到了
    image
    当然也可以隐藏全部的服务,也就是禁止所有用服务名访问的方式,添加ignored-services: "*" #这是隐藏全部的服务
    7、为了区分不同的服务模块,可以设置统一的前缀
    在application.yml中添加对应配置
    image
    8、再次访问,只可以这样访问http://www.kaka.com:9527/kaka/mydept/dept/get/2 ,kaka是自定义的前缀
    image
原文地址:https://www.cnblogs.com/kaka-qiqi/p/14642717.html