1.引入Zuul依赖spring-cloud-starter-netflix-zuul
2.配置文件:
eureka.client.serviceUrl.defaultZoo=http://localhost:8100/eureka #服务注册url地址
server.port=80 # 网关端口号
spring.application.name=service-zuul # 网关名称
zuul.routes.api-a.path=/api-ticket/** #当客户端发送请求127.0.0.1:80/api-ticket/开头的,都会被发送到app-ticket服务中
zuul.routes.api-a.serviceId=app-ticket # ticket服务别名,zuul整合ribbon默认自动实现负载均衡效果
zuul.routes.app-b.path=/api-user/** # 当客户端发送请求127.0.0.1/api-user/开头的,都会被发送到app-user服务中
zuul.routes.app-b.serviceId=app-user # app-b定义转发规则
3.在类上标注@EnableZuulProxy注解开启网关代理
1.创建过滤器类继承ZuulFilter
2.获取上下文
3.获取Request对象
4.从请求头中获取token
5.创建过滤器执行逻辑
6.实现ZuulFilter中的方法:
过滤类型:filterType() pre-表示在请求之前执行.
过滤器执行顺序:filterOrder() 当一个请求在同一阶段存在多个过滤器的时候,规定多个过滤器的执行顺序
判断过滤器是否生效:shouldFilter()
1.引入actuator依赖spring-boot-starter-actuator
2.在配置文件中开启监控端点
management.endpoints.web.exposure.include="*" # 开启所有端点
3.启动运行configClient
4.在需要刷新的controller类中的bean当标注@RefreshScope注解使actuator刷新生效
1.在host中配置域名
2.在Nginx配置文件中配置上游服务器(upstream),默认实现负载均衡
3.在过滤器中调用网关接口
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。