您现在的位置是:主页 > 数据库技术 > 数据库技术

Spring Cloud的Web项目中如何使用Zuul

IDCBT2021-12-24服务器技术人已围观

简介这篇文章给大家分享的是有关Spring Cloud的Web项目中如何使用Zuul的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。 Web项目中使用Zuul关于Zuul Spring Cloud集群

这篇文章给大家分享的是有关Spring Cloud的Web项目中如何使用Zuul的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

Web项目中使用Zuul关于Zuul

        Spring Cloud集群提供了多个组件,用于进行集群内部的通信,例如服务管理组件Eureka,负载均衡组件Ribbon。如果集群提供了API或者Web服务,需要与外部进行通信,比较好的方式是添加一个网关,将集群的服务都隐藏到网关后面。这样的做法,对于外部客户端来说,无需关心集群的内部结构,只需关心网关的位置等信息;对于Spring Cloud集群来说,不必过多的暴露服务,提升了集群的安全性。

        代理层作为应用集群的大门,在技术选取上尤为重要,很多传统的解决方案,在软件上选择了Nginx、Apache等服务器。Netflix提供了自己的解决方案:Zuul。Zuul是Netflix的一个子项目,Spring Cloud将Zuul做进一步的实现与封装,整合到spring-netflix项目中,为微服务集群提供过代理、过滤、路由等功能。

Web项目整合Zuul

        新建一个名称为“first-router”的Maven项目,项目使用的依赖如下:

        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-zuul</artifactId>
        </dependency>
        <dependency>
            <groupId>org.apache.httpcomponents</groupId>
            <artifactId>httpclient</artifactId>
            <version>4.5.3</version>
        </dependency>

        需要加入“spring-cloud-starter-zuul”的依赖,由于Zuul底层使用了HttpClient,因此还要加入相应的依赖。为了能让Web项目开启对Zuul的支持,在应用类中加入@EnableZuulProxy注解,请见代码清单7-1。

        代码清单7-1:

        codes\07\02\first-router\src\main\java\org\crazyit\cloud\GatewayApplication.java

@EnableZuulProxy
@SpringBootApplication
public class GatewayApplication {

    public static void main(String[] args) {
        new SpringApplicationBuilder(GatewayApplication.class).properties(
                "server.port=8080").run(args);
    }
}

标签:

很赞哦! ()

本栏推荐