SpringCloud——服务网关(eureka-zuul)

绝地灬酷狼 2022-05-10 00:52 328阅读 0赞

服务网关(zuul)又称路由中心,用来统一访问所有api接口,维护服务。

Spring Cloud Zuul通过与Spring Cloud Eureka的整合,实现了对服务实例的自动化维护,所以在使用服务路由配置的时候,我们不需要向传统路由配置方式那样去指定具体的服务实例地址,只需要通过Ant模式配置文件参数即可

pom.xml

  1. <project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
  2. <modelVersion>4.0.0</modelVersion>
  3. <groupId>com.springcloud.demo</groupId>
  4. <artifactId>eureka-zuul</artifactId>
  5. <version>dev</version>
  6. <packaging>jar</packaging>
  7. <name>springcloud-eureka-zuul</name>
  8. <description>Demo Project of Eureka zuul</description>
  9. <parent>
  10. <groupId>org.springframework.boot</groupId>
  11. <artifactId>spring-boot-starter-parent</artifactId>
  12. <version>1.5.7.RELEASE</version>
  13. <relativePath/> <!-- lookup parent from repository -->
  14. </parent>
  15. <properties>
  16. <!--main方法类 -->
  17. <start-class>com.cc.yonyou.app.zuul.BootMain</start-class>
  18. <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
  19. <project.reporting.outputEncoding>UTF-8</project.reporting.outputEncoding>
  20. <java.version>1.8</java.version>
  21. <spring-cloud.version>Dalston.SR4</spring-cloud.version>
  22. </properties>
  23. <dependencies>
  24. <dependency>
  25. <groupId>org.springframework.cloud</groupId>
  26. <artifactId>spring-cloud-starter-eureka</artifactId>
  27. </dependency>
  28. <dependency>
  29. <groupId>org.springframework.cloud</groupId>
  30. <artifactId>spring-cloud-starter-zuul</artifactId>
  31. </dependency>
  32. <dependency>
  33. <groupId>org.springframework.boot</groupId>
  34. <artifactId>spring-boot-starter-web</artifactId>
  35. </dependency>
  36. <dependency>
  37. <groupId>io.springfox</groupId>
  38. <artifactId>springfox-swagger2</artifactId>
  39. <version>2.2.2</version>
  40. </dependency>
  41. <dependency>
  42. <groupId>org.springframework.boot</groupId>
  43. <artifactId>spring-boot-starter-test</artifactId>
  44. <scope>test</scope>
  45. </dependency>
  46. <dependency>
  47. <groupId>com.alibaba</groupId>
  48. <artifactId>druid</artifactId>
  49. <version>1.0.20</version>
  50. </dependency>
  51. <dependency>
  52. <groupId>com.alibaba</groupId>
  53. <artifactId>fastjson</artifactId>
  54. <version>1.2.12</version>
  55. </dependency>
  56. <dependency>
  57. <groupId>com.github.pagehelper</groupId>
  58. <artifactId>pagehelper</artifactId>
  59. <version>4.1.6</version>
  60. </dependency>
  61. <dependency>
  62. <groupId>org.springframework.boot</groupId>
  63. <artifactId>spring-boot-starter-redis</artifactId>
  64. <version>1.3.8.RELEASE</version>
  65. </dependency>
  66. </dependencies>
  67. <dependencyManagement>
  68. <dependencies>
  69. <dependency>
  70. <groupId>org.springframework.cloud</groupId>
  71. <artifactId>spring-cloud-dependencies</artifactId>
  72. <version>${spring-cloud.version}</version>
  73. <type>pom</type>
  74. <scope>import</scope>
  75. </dependency>
  76. </dependencies>
  77. </dependencyManagement>
  78. <build>
  79. <plugins>
  80. <plugin>
  81. <groupId>org.springframework.boot</groupId>
  82. <artifactId>spring-boot-maven-plugin</artifactId>
  83. </plugin>
  84. <!--打包跳过测试插件-->
  85. <plugin>
  86. <groupId>org.apache.maven.plugins</groupId>
  87. <artifactId>maven-surefire-plugin</artifactId>
  88. <configuration>
  89. <skip>true</skip>
  90. </configuration>
  91. </plugin>
  92. </plugins>
  93. </build>
  94. </project>

application.properties

  1. #在注册中心显示的名字
  2. spring.application.name=rndealer-eureka-zuul
  3. #端口
  4. server.port= 12001
  5. #禁止在ribbon中使用
  6. ribbon.eureka.enabled: false
  7. #注册中心的地址
  8. eureka.client.serviceUrl.defaultZone=http://localhost:12000/eureka/
  9. #启用熔断的开关
  10. feign.hystrix.enabled=true
  11. #路由
  12. zuul.routes.user.path=/eureka-server/**
  13. zuul.routes.user.serviceId=eureka-server

BootMain.java

  1. package com.springcloud.demo;
  2. import org.springframework.boot.SpringApplication;
  3. import org.springframework.boot.autoconfigure.SpringBootApplication;
  4. import org.springframework.cloud.netflix.eureka.EnableEurekaClient;
  5. import org.springframework.cloud.netflix.zuul.EnableZuulProxy;
  6. @EnableEurekaClient
  7. @EnableZuulProxy
  8. @SpringBootApplication
  9. public class BootMain {
  10. public static void main(String[] args) {
  11. SpringApplication.run(BootMain.class, args);
  12. }
  13. }

发表评论

表情:
评论列表 (有 0 条评论,328人围观)

还没有评论,来说两句吧...

相关阅读

    相关 SpringCloud之微服务网

    什么是微服务网关 在微服务架构中,整个系统是由很多个微服务组成的,每一个微服务负责一块独立的业务,当外部的系统需要调用微服务中的一些功能的时候,我们对外提供接口(暴露接口)。