一起来学SpringCloud之整合Zuul网关服务(一)

简介: 一起来学SpringCloud之整合Zuul网关服务(一)

微信截图_20230209163713.png


前言

大家好,一直以来我都本着用最通俗的话理解核心的知识点, 我认为所有的难点都离不开 基础知识 的铺垫。目前正在出一个SpringCloud长期系列教程,从入门到进阶, 篇幅会较多~


适合人群

  • 有一定的Java基础
  • 想尝试微服务开发
  • 有SpringBoot开发基础
  • 想学习或了解SpringCloud
  • 想提高自己的同学

大佬可以绕过 ~


背景

如果你是一路看过来的,很高兴你能够耐心看完。之前带大家学了Springboot这门框架,熟练掌握了单体应用的开发,如今微服务开发盛行,对我们的技术要求也是越来越高,薪资也是令人兴奋。这个系列将会带大家学习SpringCloud微服务开发,我会带大家一步一步的入门,耐心看完你一定会有收获~


情景回顾

上期带大家一起认识了Sentinel以及带大家体验了常用的方法,本期正式学习微服务网关Zuul,我们一起来看一下吧~


Zuul是什么

我们之前的学习都是整后端服务,把网关学习放到最后边来讲也是做了一次整合,让大家好去理解。之前给大家讲微服务概述的时候,提到过,后端服务前面还有一层就是网关层,至于网关的作用可以参考我之前的文章。那么说一下zuul, 它是spring cloud家族的一员,它提供了很多丰富的功能,比如服务转发,接口拦截验证,统一处理响应。它有丰富的拦截器,我们可以通过它实现很多丰富的功能


整合Zuul网关

首先引入依赖

<!--        zuul api网关-->
<dependency>
    <groupId>org.springframework.cloud</groupId>
    <artifactId>spring-cloud-starter-netflix-zuul</artifactId>
</dependency>
 <dependency>
    <groupId>com.alibaba.cloud</groupId>
    <artifactId>spring-cloud-starter-alibaba-nacos-discovery</artifactId>
</dependency>
复制代码


配置网关服务

这一节先教大家配置网关服务


转发指定服务地址

server:
  port: 8003
spring:
  application:
    name: zuul
  cloud:
    # nacos
    nacos:
      config:
        server-addr: 127.0.0.1:8848
        file-extension: yml
zuul:
  routes:
    # 访问 http://localhost:8003/hello/app/1 转发-> http://localhost:18080/hello/app/1
    hello:
      path: /**
      url: http://localhost:18080
复制代码

上面配置应该很好理解,匹配到路径/***,就转发到http://localhost:18080这个服务


转发注册中心服务

我们说后端服务都是注册到注册中心的,所以我们可以直接转发到指定服务名

zuul:
  routes:
    # 访问 http://localhost:8003/hello/app/1 转发-> http://localhost:18080/hello/app/1
    hello:
      path: /**
      #url: http://localhost:18080
      # 加入注册中心后不需要url了 直接使用serviceID
      serviceId: provider
复制代码

多个服务,也是同样配置


其它配置

zuul:
  # 关闭某个过滤器
  SendResponseFilter:
    post:
        disable: true
  # 敏感请求头过滤 如果想关闭默认配置可以置为空 sensitive-headers:
  sensitive-headers: Cookie,Set-Cookie,Authorization
  add-host-header: true
  # 可以指定前缀
  prefix: /gateway
  # 关闭指定服务配置
  ignored-services: provider
复制代码


结束语

本期到这里就结束了, 总结一下,本节主要讲了什么是Zuul, 以及带大家整了一下它常用的配置,大家可以自己配置试试看, 建议大家自己多去尝试 ~


下期预告

我们之前提到过滤器, zuul有很多好用的过滤器, 这是我们学习的重点,下期就带大家学习一下它的过滤器,带大家一步步实现自己的过滤器。 关注我,不迷路, 下期不见不散 ~

相关文章
|
1月前
|
存储 数据可视化 Java
基于MicrometerTracing门面和Zipkin实现集成springcloud2023的服务追踪
Sleuth将会停止维护,Sleuth最新版本也只支持springboot2。作为替代可以使用MicrometerTracing在微服务中作为服务追踪的工具。
94 1
|
1月前
|
安全 5G 网络性能优化
|
2月前
|
监控 负载均衡 安全
微服务(五)-服务网关zuul(一)
微服务(五)-服务网关zuul(一)
|
11天前
|
负载均衡 Java 应用服务中间件
Gateway服务网关
Gateway服务网关
25 1
Gateway服务网关
|
7天前
|
JSON Java 测试技术
SpringCloud2023实战之接口服务测试工具SpringBootTest
SpringBootTest同时集成了JUnit Jupiter、AssertJ、Hamcrest测试辅助库,使得更容易编写但愿测试代码。
35 3
|
1月前
|
前端开发 Java API
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
本文是Vert.x学习系列的第五部分,讨论了回调函数的限制、Future和Promise在异步操作中的应用、响应式扩展以及Kotlin协程,并通过示例代码展示了如何在Vert.x中使用这些异步编程模式。
47 5
vertx学习总结5之回调函数及其限制,如网关/边缘服务示例所示未来和承诺——链接异步操作的简单模型响应式扩展——一个更强大的模型,特别适合组合异步事件流Kotlin协程
|
1月前
|
XML Java 数据格式
如何使用 Spring Cloud 实现网关
如何使用 Spring Cloud 实现网关
31 3
|
2月前
|
负载均衡 Java 网络架构
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
实现微服务网关:Zuul与Spring Cloud Gateway的比较分析
102 5
|
2月前
|
Java API 对象存储
微服务魔法启动!Spring Cloud与Netflix OSS联手,零基础也能创造服务奇迹!
这段内容介绍了如何使用Spring Cloud和Netflix OSS构建微服务架构。首先,基于Spring Boot创建项目并添加Spring Cloud依赖项。接着配置Eureka服务器实现服务发现,然后创建REST控制器作为API入口。为提高服务稳定性,利用Hystrix实现断路器模式。最后,在启动类中启用Eureka客户端功能。此外,还可集成其他Netflix OSS组件以增强系统功能。通过这些步骤,开发者可以更高效地构建稳定且可扩展的微服务系统。
56 1
|
2月前
|
测试技术 微服务
微服务(八)-服务网关zuul(四)
微服务(八)-服务网关zuul(四)