笔记
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 真正部署是内外网隔离的方式