{"id":368,"date":"2022-04-20T20:55:53","date_gmt":"2022-04-20T12:55:53","guid":{"rendered":"https:\/\/blog.lijiajia.top\/?p=368"},"modified":"2026-06-19T21:32:44","modified_gmt":"2026-06-19T13:32:44","slug":"springcloud%e5%ad%a6%e4%b9%a0%e7%ac%94%e8%ae%b0%ef%bc%9azuul%e8%b7%af%e7%94%b1%e7%bd%91%e5%85%b3%e5%85%ab","status":"publish","type":"post","link":"https:\/\/blog.ttwow.top\/?p=368","title":{"rendered":"SpringCloud\u5b66\u4e60\u7b14\u8bb0\uff1azuul\u8def\u7531\u7f51\u5173(\u516b)"},"content":{"rendered":"<h2>\u6982\u8ff0<\/h2>\n<h3>\u662f\u4ec0\u4e48<\/h3>\n<p>Zuul\u5305\u542b\u4e86\u5bf9\u8bf7\u6c42\u7684\u8def\u7531\u548c\u8fc7\u6ee4\u4e24\u4e2a\u6700\u4e3b\u8981\u7684\u529f\u80fd\uff1a<br \/>\n\u5176\u4e2d\u8def\u7531\u529f\u80fd\u8d1f\u8d23\u5c06\u5916\u90e8\u8bf7\u6c42\u8f6c\u53d1\u5230\u5177\u4f53\u7684\u5fae\u670d\u52a1\u5b9e\u4f8b\u4e0a\uff0c\u662f\u5b9e\u73b0\u5916\u90e8\u8bbf\u95ee\u7edf\u4e00\u5165\u53e3\u7684\u57fa\u7840\u800c\u8fc7\u6ee4\u5668\u529f\u80fd\u5219\u8d1f\u8d23\u5bf9\u8bf7\u6c42\u7684\u5904\u7406\u8fc7\u7a0b\u8fdb\u884c\u5e72\u9884\uff0c\u662f\u5b9e\u73b0\u8bf7\u6c42\u6821\u9a8c\u3001\u670d\u52a1\u805a\u5408\u7b49\u529f\u80fd\u7684\u57fa\u7840.Zuul\u548cEureka\u8fdb\u884c\u6574\u5408\uff0c\u5c06Zuul\u81ea\u8eab\u6ce8\u518c\u4e3aEureka\u670d\u52a1\u6cbb\u7406\u4e0b\u7684\u5e94\u7528\uff0c\u540c\u65f6\u4eceEureka\u4e2d\u83b7\u5f97\u5176\u4ed6\u5fae\u670d\u52a1\u7684\u6d88\u606f\uff0c\u4e5f\u5373\u4ee5\u540e\u7684\u8bbf\u95ee\u5fae\u670d\u52a1\u90fd\u662f\u901a\u8fc7Zuul\u8df3\u8f6c\u540e\u83b7\u5f97\u3002<\/p>\n<pre><code>\u6ce8\u610f\uff1aZuul\u670d\u52a1\u6700\u7ec8\u8fd8\u662f\u4f1a\u6ce8\u518c\u8fdbEureka<\/code><\/pre>\n<p>\u63d0\u4f9b=\u4ee3\u7406+\u8def\u7531+\u8fc7\u6ee4\u4e09\u5927\u529f\u80fd<\/p>\n<h3>\u80fd\u5e72\u561b<\/h3>\n<p><strong>\u8def\u7531<\/strong> <\/p>\n<p><strong>\u8fc7\u6ee4<\/strong><\/p>\n<h3>\u5b98\u7f51\u8d44\u6599<\/h3>\n<p><a href=\"https:\/\/github.com\/Netflix\/zuul\/wiki\/Getting-Started\">https:\/\/github.com\/Netflix\/zuul\/wiki\/Getting-Started<\/a><\/p>\n<h2>\u8def\u7531\u57fa\u672c\u914d\u7f6e<\/h2>\n<p>\u65b0\u5efaModule\u6a21\u5757microservicecloud-zuul-gateway-9527<\/p>\n<p>POM<\/p>\n<pre><code class=\"language-xml\">  &lt;dependencies&gt;\n   &lt;!-- zuul\u8def\u7531\u7f51\u5173 --&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-cloud-starter-zuul&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-cloud-starter-eureka&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;!-- actuator\u76d1\u63a7 --&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-boot-starter-actuator&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;!--  hystrix\u5bb9\u9519--&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-cloud-starter-hystrix&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.cloud&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-cloud-starter-config&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;!-- \u65e5\u5e38\u6807\u914d --&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;com.example&lt;\/groupId&gt;\n     &lt;artifactId&gt;microservicecloud-api&lt;\/artifactId&gt;\n     &lt;version&gt;${project.version}&lt;\/version&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-boot-starter-jetty&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-boot-starter-web&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-boot-starter-test&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;!-- \u70ed\u90e8\u7f72\u63d2\u4ef6 --&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework&lt;\/groupId&gt;\n     &lt;artifactId&gt;springloaded&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n   &lt;dependency&gt;\n     &lt;groupId&gt;org.springframework.boot&lt;\/groupId&gt;\n     &lt;artifactId&gt;spring-boot-devtools&lt;\/artifactId&gt;\n   &lt;\/dependency&gt;\n  &lt;\/dependencies&gt;<\/code><\/pre>\n<p>YML<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 9527\n\nspring:\n  application:\n    name: microservicecloud-zuul-gateway\n\neureka:\n  client:\n    service-url:\n      defaultZone: http:\/\/eureka7001.com:7001\/eureka,http:\/\/eureka7002.com:7002\/eureka,http:\/\/eureka7003.com:7003\/eureka\n  instance:\n    instance-id: gateway-9527.com\n    prefer-ip-address: true\n\ninfo:\n  app.name: atguigu-microcloud\n  company.name: www.atguigu.com\n  build.artifactId: $project.artifactId$\n  build.version: $project.version$<\/code><\/pre>\n<p>hosts\u4fee\u6539<\/p>\n<p>127.0.0.1  myzuul.com<\/p>\n<p>\u4e3b\u542f\u52a8\u7c7b<\/p>\n<p>@EnableZuulProxy<\/p>\n<pre><code class=\"language-java\">import org.springframework.boot.SpringApplication;\nimport org.springframework.boot.autoconfigure.SpringBootApplication;\nimport org.springframework.cloud.netflix.zuul.EnableZuulProxy;\n\n@SpringBootApplication\n@EnableZuulProxy\npublic class Zuul_9527_StartSpringCloudApp\n{\n  public static void main(String[] args)\n  {\n   SpringApplication.run(Zuul_9527_StartSpringCloudApp.class, args);\n  }\n}<\/code><\/pre>\n<p>\u542f\u52a8<\/p>\n<p>\u4e09\u4e2aeureka\u96c6\u7fa4<\/p>\n<p>\u4e00\u4e2a\u670d\u52a1\u63d0\u4f9b\u7c7bmicroservicecloud-provider-dept-8001<\/p>\n<p>\u4e00\u4e2a\u8def\u7531<\/p>\n<p>\u6d4b\u8bd5<\/p>\n<p>\u4e0d\u7528\u8def\u7531:<a href=\"http:\/\/localhost:8001\/dept\/get\/2\">http:\/\/localhost:8001\/dept\/get\/2<\/a><\/p>\n<p>\u542f\u7528\u8def\u7531:<a href=\"http:\/\/myzuul.com:9527\/microservicecloud-dept\/dept\/get\/2\">http:\/\/myzuul.com:9527\/microservicecloud-dept\/dept\/get\/2<\/a><\/p>\n<h2>\u8def\u7531\u8bbf\u95ee\u6620\u5c04\u89c4\u5219<\/h2>\n<p>\u5de5\u7a0bmicroservicecloud-zuul-gateway-9527<\/p>\n<p>\u4ee3\u7406\u540d\u79f0<\/p>\n<p>YML<\/p>\n<p>before<br \/>\n<a href=\"http:\/\/myzuul.com:9527\/microservicecloud-dept\/dept\/get\/2\">http:\/\/myzuul.com:9527\/microservicecloud-dept\/dept\/get\/2<\/a><\/p>\n<pre><code class=\"language-yaml\">zuul:\n  routes:\n    mydept.serviceId: microservicecloud-dept\n    mydept.path: \/mydept\/**<\/code><\/pre>\n<p>after<br \/>\n<a href=\"http:\/\/myzuul.com:9527\/mydept\/dept\/get\/1\">http:\/\/myzuul.com:9527\/mydept\/dept\/get\/1<\/a><\/p>\n<p>\u5c06\u5fae\u670d\u52a1\u540dmicroservicecloud-dept \u4ee3\u7406\u4e3amydept<\/p>\n<p>\u6b64\u65f6\u95ee\u9898\uff1a<\/p>\n<p><a href=\"http:\/\/myzuul.com:9527\/mydept\/dept\/get\/1\">http:\/\/myzuul.com:9527\/mydept\/dept\/get\/1<\/a><\/p>\n<p><a href=\"http:\/\/myzuul.com:9527\/microservicecloud-dept\/dept\/get\/2\">http:\/\/myzuul.com:9527\/microservicecloud-dept\/dept\/get\/2<\/a><\/p>\n<p>\u90fd\u53ef\u4ee5\u8bbf\u95ee<\/p>\n<p>\u539f\u771f\u5b9e\u670d\u52a1\u540d\u5ffd\u7565<\/p>\n<pre><code class=\"language-yaml\">\nzuul:\n  ignored-services: microservicecloud-dept\n  #ignored-services: *  #\u5355\u4e2a\u5177\u4f53\uff0c\u591a\u4e2a\u53ef\u4ee5\u7528&quot;*&quot;\n  routes:\n    mydept.serviceId: microservicecloud-dept\n    mydept.path: \/mydept\/**\n<\/code><\/pre>\n<p>\u8bbe\u7f6e\u7edf\u4e00\u516c\u5171\u524d\u7f00<\/p>\n<pre><code class=\"language-yaml\">\nzuul:\n  prefix: \/at\n  ignored-services: &quot;*&quot;\n  routes:\n    mydept.serviceId: microservicecloud-dept\n    mydept.path: \/mydept\/**<\/code><\/pre>\n<p><a href=\"http:\/\/myzuul.com:9527\/at\/mydept\/dept\/get\/1\">http:\/\/myzuul.com:9527\/at\/mydept\/dept\/get\/1<\/a><\/p>\n<p>\u6700\u540eYML<\/p>\n<pre><code class=\"language-yaml\">server:\n  port: 9527\n\nspring:\n  application:\n    name: microservicecloud-zuul-gateway\n\neureka:\n  client:\n    service-url:\n      defaultZone: http:\/\/eureka7001.com:7001\/eureka,http:\/\/eureka7002.com:7002\/eureka,http:\/\/eureka7003.com:7003\/eureka\n  instance:\n    instance-id: gateway-9527.com\n    prefer-ip-address: true\n\ninfo:\n  app.name: atguigu-microcloud\n  company.name: www.atguigu.com\n  build.artifactId: $project.artifactId$\n  build.version: $project.version$\n\nzuul:\n  prefix: \/at\n  #ignored-services: microservicecloud-dept\n  #\u5355\u4e2a\u5177\u4f53\uff0c\u591a\u4e2a\u53ef\u4ee5\u7528&quot;*&quot;\n  ignored-services: &quot;*&quot;\n  routes:\n    mydept.serviceId: microservicecloud-dept\n    mydept.path: \/mydept\/**<\/code><\/pre>\n","protected":false},"excerpt":{"rendered":"<p>\u6982\u8ff0 \u662f\u4ec0\u4e48 Zuul\u5305\u542b\u4e86\u5bf9\u8bf7\u6c42\u7684\u8def\u7531\u548c\u8fc7\u6ee4\u4e24\u4e2a\u6700\u4e3b\u8981\u7684\u529f\u80fd\uff1a \u5176\u4e2d\u8def\u7531\u529f\u80fd\u8d1f\u8d23\u5c06\u5916\u90e8\u8bf7\u6c42\u8f6c\u53d1\u5230\u5177\u4f53\u7684\u5fae\u670d\u52a1 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[126],"tags":[70],"class_list":["post-368","post","type-post","status-publish","format-standard","hentry","category-java-microservices","tag-springcloud"],"_links":{"self":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/368","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=368"}],"version-history":[{"count":1,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions"}],"predecessor-version":[{"id":2110,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=\/wp\/v2\/posts\/368\/revisions\/2110"}],"wp:attachment":[{"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=368"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=368"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/blog.ttwow.top\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=368"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}