这几篇将API安全的 流控、认证、审计、授权 简单的过一遍,对这些概念先有个初步印象。后边还会详细讲解。本篇说API安全之流控~第一印象。一、概念流控,流量控制,只放系统能处理的请求的数量过去,处于api安全链路的第一关。为什么要做流控?保证系统的可用性,防止大流量把系统给压死。流控的位置做在认证、审计、授权等整个安全机制的最前边,提前控制流量,避免其他无用的资源浪费。如果没有流控放在第一道档线,
转载 2024-04-26 11:31:18
15阅读
前言: API网关是一个更为智能的应用服务器,它的定义类似于面向对象设计模式中的Facade模式,它的存在就像是整个微服务架构系统的门面一样,所有的外部客户端访问都需要经过它来进行调度和过滤。它除了要实现请求路由、 负载均衡、 校验过滤等功能之外,还需要更多能力,比如与服务治理框架的结合、请求转发时的熔断机制、服务的聚合等一系列高级功能。 Zuul实现如下: (一)创建项目,大致步骤与之前相同 唯
转载 2024-04-12 14:29:58
89阅读
在微服务架构中,一个系统往往由多个微服务组成,而这些服务可能部署在不同机房、不同地区、不同域名下。这种情况下,客户端(例如浏览器、手机、软件工具等)想要直接请求这些服务,就需要知道它们具体的地址信息,例如 IP 地址、端口号等。这种客户端直接请求服务的方式存在以下问题: 当服务数量众多时,客户端需要维护大量的服务地址,这对于客户端来说,是非常繁琐复杂的。在某些场景下可能会存在跨域请求的问题。身份
转载 2024-03-01 11:09:23
56阅读
前言由于我们使用的服务系统架构,所以没办法像传统单体应用一样依靠数据库的 join 查询来得到最终结果,那么如何才能访问各个服务呢? 按照微服务设计的指导原则,我们的微服务可能存在下面的问题:服务使用了多种协议:因为不同的协议有不同的应场景用,比如可能同时使用 HTTP, AMQP, gRPC 等。服务的划分可能随着时间而变化。服务的实例或者Host+端口可能会动态的变化。那么,对于前端的UI需求
application.yml 和bootStrap.yml 在同一目录下,则bootStrap.yml 的加载顺序要高于application.yml,即bootStrap.yml  会优先被加载。   原理:bootstrap.yml 用于应用程序上下文的引导阶段。     &nbsp
前言Spring作为企业级技术框架中的佼佼者没有错过微服务这个风口。从它第一天出现就注定它的不平凡,Spring通过其强大的抽象能力以及技术集成能力,结合Netflix成熟的开源服务套件,一出现就成为最热门的微服务技术集成方案。Spring Cloud也继承了Spring 一如既往的风格,考虑了微服务的几乎所有功能,另外组件化的思维也为企业微服务架构技术落地提供了更多的灵活性。企业不仅可以通Spr
总体思路 1.导入依赖 2.编写配置 3.启动器上加上@Enablexxx注解 API这里属于公共区域,这里就放个实体 1.导入依赖 <?xml version="1.0" encoding="UTF-8"?> <project xmlns="http://maven.apache.org/POM/ ...
转载 2021-11-03 17:29:00
106阅读
2评论
说明SpringCloud Zuul基于Netflix Zuul实现,SpringCloud Zuul通过与SpringCloud Eureka整合,将自身注册为Eureka服务治理下的应用,同时从Eureka中获得了所有其他微服务实例信息。这样的设计非常巧妙地将服务治理体系中维护的实例信息利用起来, 使得将维护服务实例的工作交给了服务治理框架自动完成, 不再需要人工介入。 而对千路由规则的维护,
我们继续上一节,继续使用 spock 测试我们自己封装的 WebClient测试针对 readTimeout 重试针对响应超时,我们需要验证重试仅针对可以重试的方法(包括 GET 方法以及配置的可重试方法),针对不可重试的方法没有重试。我们可以通过 spock 单元测试中,检查对于负载均衡器获取实例方法的调用次数看出来是否有重试我们通过 httpbin.org 的 ‘/delay/秒’ 实现 re
转载 2024-04-10 12:30:24
22阅读
当我们调用一个接口可能由于网络等原因造成第一次失败,再去尝试就成功了,这就是重试机制,spring支持重试机制,并且在Spring Cloud中可以与Hystaix结合使用,可以避免访问到已经不正常的实例。写一个简单的demo,加入依赖: org.springframework.boot spring-boot-starter-web org.s
本文档是为了演练SpringCload的Eureka。本文档演示EurekaServer开发、EurekaClient开发。本文档演示EurekaClient的调度。本文档为了更集中于SpringCloud的功能演示,没有集成MyBatis相关的功能。本文档开发了一个SpringCloud项目,该项目中包括3个子项目:  1 Eureka Server项目,是注册中心,用于服务发现和调度
在没有服务网关时,请求流程图大致如下:客户端直接与各个微服务通信,会有以下问题: 客户端会多次请求不同的微服务,增加了客户端的复杂性。存在跨域请求,在一定场景下处理相对复杂。认证复杂,大多数情况下,为了保证对外服务的安全性,我们在服务端实现的微服务接口,往往都会有一定的权限校验机制,比如对用户登录状态的校验等;同时为了防止客户端在发起请求时被篡改等安全方面的考虑,还会有一些签名校验的机制
转载 2024-07-29 10:12:35
50阅读
一、前言在我之前发布的关于SpringCloud分布式框架的介绍,相信大家已经对SpringCloud中的组件已经有了很大的了解,这些组件基本涵盖了微服务架构中最为基础的几个核心设施,利用这些组件我们已经可以构建起一个简单的微服务架构系统,比如,通过使用Spring Cloud Eureka实现高可用的服务注册中心以及实现微服务的注册与发现;通过Spring Cloud Ribbon或Feign实
转载 2024-05-14 14:23:33
98阅读
  Spring Cloud对Feign进行了封装,本例将演示如何在Spring Cloud中使用Feign。1.准备SpringCloud测试项目  测试项目主要有三个,  a.spring-feign-server: Eureka的服务器项目,端口为8761;  b.spring-feign-provider: 服务提供者,该项目通过在控制台输入对应的端口号启动两个实例,分别是8080和80
转载 2024-04-06 20:49:28
104阅读
先看一张spring-cloud-config的架构图: 从图中可以清晰的知道spring-cloud服务从configServer中或者配置文件信息,configServer从git里面拉配置文件信息。 构建一个config client:引入maven依赖:<dependency> <groupId>org.springframework.cl
1、链路追踪与日志的可追踪性概念链路追踪:        是在遵守openTraceing的情况下,把一次接口调用的各个逻辑分支以trace和span的形式记录下来,并在UI里展示出来,以供网络故障排查、性能监控、安全分析等。日志的可追踪性:一般的做法,就是把日志用traceId串起来。为了实现日志的可追踪性,日志应当
转载 2024-03-31 07:56:40
447阅读
一、灰度发布1.1 简介灰度发布,是指黑与白之间,能够平滑过渡的一种发布方式。 通过不同策略对用户进行分流,不同的用户组使用不同的应用版本。1.2 优缺点 优点 互联网服务变动频繁,发布周期短。速度和质量总是难以双全。灰度发布有以下优点: (1)降低发布风险,减少影响范围 (2)可以灰度测试账号,降低测试依赖,减少自测的数据构造成本 (3)方便回滚 缺点 (1)开发、测试和部署的成本较高 (2)数
Spring Cloud 创建Spring Cloud Gateway网关服务一、API网关简介概念简介 在通信领域,网关(Gateway)又称网间连接器、协议转换器。网关在网络层以上实现网络互连,是最复杂的网络互连设备,仅用于两个高层协议不同的网络互连。 在系统架构中,和上面定义类似,API网关负责联通多个微服务或者内部服务的通信,负责所有请求的鉴权转发等处理,可以说,**API网关是一个服务器
转载 2024-06-10 14:49:17
62阅读
Spring Cloud Zuul:API网关服务SpringCloud学习教程SpringCloudAPI网关Spring Cloud Zuul 是Spring Cloud Netflix 子项目的核心组件之一,可以作为微服务架构中的API网关使用,支持动态路由与过滤功能,本文将对其用法进行详细介绍。 #Zuul简介API网关为微服务架构中的服务提供了统一的访问入口,客户端通过API网关访问相关
Gateway是在Spring生态系统之上构建的API网关服务,提供一种简单而有效的方式来对API进行路由,以及提供一些强大的过滤器功能, 例如:熔断、限流、重试等 微服务下一个系统被拆分为多个服务,但是像 安全认证,流量控制,日志,监控等功能是每个服务都需要的,没有网关的话,我们就需要在每个服务中单独实现,这使得我们做了很多重复的事情并且没有一个全局的视图来统一管理这些功能。网关主要做了一件事情
转载 2024-04-12 13:33:24
37阅读
  • 1
  • 2
  • 3
  • 4
  • 5