-
什么是网关?
API Gateway,是系统的唯一对外的入口,介于客户端和服务器之间的中间层,处理非业务功能,提供路由请求,鉴权,监控,缓存,限流等功能 -
SpringCloud的网关组件zuul基本使用
- 加入依赖,网关也是一个springboot项目,加入eureka的服务发现,再加入zuul网关的依赖
- 在启动类上打上注解:@EnableZuulProxy,开启网关代理,默认代理所有注册中心的服务,包含注解@EnableCircuitBreaker,熔断降级
- 指定注册中心地址,服务名称,自定义路由转发
- 启动服务,注册中心,提供者和消费者,网关服务,默认的访问规则是:http://gateway:port/service-id/**,即网关的端口和服务的名称加上路由映射
- 例如:http://localhost:9000/product-service/findProductById?id=1
- 可以进行自定义服务的路径映射,如下
zuul:
routes:
#自定义路由映射
order-service: /apigateway/**
7.访问:http://localhost:9000/apigateway/callProductService?id=1
8.环境隔离:
- 不让某个服务的对外暴露接口,配置如下,通过网关调用商品接口失败,只能通过自定义路由映射或商品服务的端口号进行访问
ignored-services: product-service
2.正则表达式匹配方式:ignored-patterns: /*-service/**
,这样只能通过自定义路由映射进行访问