spring cloud(六):Zuul的集成

发布时间:2020-08-11 13:11:29 作者:browser123
来源:网络 阅读:1477

1、概念

     Zuul 是在云平台上提供动态路由,监控,弹性,安全等边缘服务的框架。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。另外需要理解的概念就是反向代理和负载均衡,反向代理:就是外网向内网请求资源,并把资源返回给客户端,正向代理相反;负载均衡就是多个客户端请求,会如果有多个相同的serviceid,网关则会进行轮询的方式进行访问。

2、搭建

        2.1、添加依赖

           <dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>spring-cloud-starter-zuul</artifactId>

            <version>1.3.4.RELEASE</version>

        </dependency>

        <dependency>

            <groupId>org.springframework.cloud</groupId>

            <artifactId>spring-cloud-starter-eureka</artifactId>

            <version>1.3.2.RELEASE</version>

        </dependency>

      2.2、具体实现

        @EnableZuulProxy

        @SpringCloudApplication

        public class ZuulApplication {

            public static void main(String[] args) {

                new SpringApplicationBuilder(ZuulApplication.class).web(true).run(args);

            }

        }

    2.3、配置    

        spring.application.name=api-gateway

        server.port=9412

        # routes to serviceId 这里边是通过serviceid来绑定地址,当在路径后添加/xx-a/   则是访问service-A对应的服务。

        zuul.routes.xx-a.path=/xx-a/**

        zuul.routes.xx-a.serviceId=service-A

        zuul.routes.yy-b.path=/yy-b/**

        zuul.routes.yy-b.serviceId=service-B

        eureka.client.serviceUrl.defaultZone=http://localhost:8761/eureka/

  2.4、新建微服务service-A和微服务service-B

          可以在controller里面注入 @Autowired    private DiscoveryClient client;然后通过client获得主机及端口号

  2.5、对A、B服务复制一份,修改端口,进行启动,然后分别请求,会发现两次请求A服务,获得端口号不同的微服务,从而实现了客户端负载均衡。

3、总结

       zuul简化客户端调用复杂度;负载均衡功能减少了单台服务器的压力,把请求压力分发到相同的服务。


推荐阅读:
  1. 搞清楚Spring Cloud架构原理的这4个点,轻松应对面试官
  2. Spring Cloud 微服务开发系列整理

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

zuul spring cloud

上一篇:PC人脸识别登录,出乎意料的简单

下一篇:Python入门知识点汇总

相关阅读

您好,登录后才能下订单哦!

密码登录
登录注册
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》