spring cloud快速入门教程(四)路由网关Zuul

来源:互联网 发布:js防水 编辑:程序博客网 时间:2024/06/06 20:33

现在服务也统一注册管理了,配置也统一管理了,我们就可以疯狂的开发各项微服务了,是不是还觉得少了点什么?前端怎么访问到相应服务?这就用到路由网关了。

路由网关就是整个微服务的统一入口,看看第一张的架构图,项目的前端做成了动静分离,静态文件、html页面、css文件和js文件都放在了web服务器(Nginx或Apache),

如果微服务都是单台部署,web服务器直接找到对应的服务看起来也没多大问题,如果单个微服务挂了呢?就任凭系统返回500么,所以,真实的部署环境中每个微服务都应该有负载均衡或者备用服务的,用这种方式提升大象系统的可靠性,同时也分可以分散业务处理的压力,如果这样,前端的请求地址配置起来就会显得非常乱,而且不知道什么时候请求哪一个服务,路由网关的作用就显现出来了,通过路由的配置,访问同一个资源,路由网关就会帮你把请求转到最适合的微服务中去。

我们来实现一下路由网关,第一步都是一样的,创建module,命名gateway,引入依赖包:

<parent>    <groupId>org.springframework.boot</groupId>    <artifactId>spring-boot-starter-parent</artifactId>    <version>1.4.0.RELEASE</version></parent><dependencyManagement>    <dependencies>        <dependency>            <groupId>org.springframework.cloud</groupId>            <artifactId>spring-cloud-dependencies</artifactId>            <version>Camden.SR2</version>            <type>pom</type>            <scope>import</scope>        </dependency>    </dependencies></dependencyManagement><dependencies>    <dependency>        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-eureka</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-starter-web</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.cloud</groupId>        <artifactId>spring-cloud-starter-zuul</artifactId>    </dependency>    <dependency>        <groupId>org.springframework.boot</groupId>        <artifactId>spring-boot-devtools</artifactId>        <optional>true</optional>    </dependency></dependencies>
在resource目录下城建配置文件application.yml,写入以下内容:

eureka:  client:    service-url:      defaultZone: http://localhost:8090/eureka/spring:  application:    name: gatewayserver:  port: 8091zuul:  routes:    service-user: /service-user/**    service-product: /service-product/**    config-client: /config-client/**
看过前面章节内容的都已经很眼熟了,只有zuul那块是新内容,routes下面的内容是路由的映射,例如service-product:/service-product/**,表示所有的/service-product/**资源请求都会交给spring.application.name为service-product的微服务处理,清晰合理的管理了各种微服务资源。

再来实现他的微服务主程序:

package com.tzy.gateway;import org.springframework.boot.SpringApplication;import org.springframework.boot.autoconfigure.SpringBootApplication;import org.springframework.cloud.netflix.eureka.EnableEurekaClient;import org.springframework.cloud.netflix.zuul.EnableZuulProxy;@SpringBootApplication@EnableEurekaClient@EnableZuulProxypublic class Main {    public static void main(String[] args){        SpringApplication.run(Main.class,args);    }}
@EnableZuulProxy表示该应用是路由代理

此时,Zuul的配置已成功,延续上一节的内容,再启动路由网关(Eureka只要先启动就ok,其他后启动的会自动注册上),访问地址localhost:8091/service-product/getConfig,还是会获得到password的内容,这里要注意访问的是Zuul的端口号8091。

阅读全文
'); })();
0 0
原创粉丝点击
热门IT博客
热门问题 老师的惩罚 人脸识别 我在镇武司摸鱼那些年 重生之率土为王 我在大康的咸鱼生活 盘龙之生命进化 天生仙种 凡人之先天五行 春回大明朝 姑娘不必设防,我是瞎子 嘉州麻辣涮串 麻辣涮串做法 串烤肉 铁板串 烧烤烤串 麻辣涮串机器 飘香麻辣涮串 麻辣涮串菜品 麻辣烫 串 福成泥锅麻辣涮串 660555港京印涮图源 铜火锅涮肉 马斯克吃涮肉 老北京铜锅涮肉 火锅涮肉 南门涮肉北京各店地址 炸肉 老北京铜火锅涮肉 麻辣涮肚配方制作过程 毛肚涮锅几秒能吃 涮肚的做法 泥锅涮肚 涮肚是什么肚 涮肚锅具 麻辣肚锅的做法 麻辣涮肚配方 麻辣涮肚的做法 涯侠 车涯 不涯 涯组词 琼涯海南麻将下载 吾生也有涯 洪涯洞 西涯侠全集免费观看 涯成语 涯的拼音 涯的成语 涯拼音 朵颜涯作品