小D课堂 - 新版本微服务springcloud+Docker教程_6-02 springcloud网关组件zuul

笔记 

2、SpringCloud的网关组件zuul基本使用
    简介:讲解zuul网关基本使用

    1、加入依赖


    2、启动类加入注解 @EnableZuulProxy
        默认集成断路器  @EnableCircuitBreaker

        默认访问规则  
            http://gateway:port/service-id/**

                例子:默认 /order-service/api/v1/order/save?user_id=2&product_id=1
                     自定义 /xdclass_order/api/v1/order/save?user_id=2&product_id=1

        自定义路由转发:
            zuul:
             routes:
                 order-service: /apigateway/**


        环境隔离配置:
            需求 :不想让默认的服务对外暴露接口
                /order-service/api/v1/order/save

            配置:
            zuul: 
                ignored-patterns:
                    - /*-service/api/v1/order/save

 

开始


新建项目之前回复一些之前模拟的数据、例如ProductService里面延迟2秒的这里注释掉。

新建项目






需要往注册中心注册。

选择网关 Zuul

最终选择这两个


默认的依赖在创建项目的时候已经加载进来了

配置文件改成yml格式的

需要给应用起个名称。spring.a会有只能提示,选择application.name第一个 就可以了


指定注册中心的地址

启动类加注解

EnableZuulProxy的注解

 

启动应用

api-gateway已经注册到注册中心



        默认访问规则  
            http://gateway:port/service-id/**

                例子:默认 /order-service/api/v1/order/save?user_id=2&product_id=1
                     自定义 /xdclass_order/api/v1/order/save?user_id=2&product_id=1

这是原来订单的服务访问的地址

通过网关访问,订单服务的接口。现在就是经过Zuul网关的了

原来直接访问productService的方式


通过网关访问productService

自定义路径规则



apigateway就替换了order-service

重启应用进行测试
默认是用order-service访问的

换成apigateway



忽略掉product-service.商品服务不对外给提供路由

重启服务
订单服务是可以正常的访问的

product-service原先可以访问,现在访问不到

忽略掉:/*-service/**
一个*是匹配两个斜线之间的所有内容,**是匹配斜线后的所有内容。

重启应用
 



把商品服务也加进来了

商品服务的列表数据接口也可以访问到了



直接通过端口访问product的服务也是可以的 不通过网关。端口8773

环境隔离

    环境隔离配置:
            需求 :不想让默认的服务对外暴露接口
                /order-service/api/v1/order/save
真正部署是内外网隔离的方式





 

猜你喜欢

转载自www.cnblogs.com/wangjunwei/p/11455076.html