gateway(网关)是什么

用来保护、增强、控制 对于API对于服务的作用

在restful API提供其服务之前的系统(就是说所有的API都要走这个gateway网关呗)

用来管理授权、访问控制和流量限制等,

API网关的四大职责

1.请求接入(所有的API 走这道门 和定义一样 不多说了)

2.业务聚合 含义;API网关作为所有后端业务服务的聚合点,允许所有的业务服务在这里被调用

作用:一次性可调用很多个服务。

3.中介策略 5个词 10个字

安全 验证 路由 过滤 流控 

啥是安全:安全在这里就是授权 没授权的直接拦下来了 不准访问。(老知识点 用spring-security 或者是shiro权限框架)

啥是验证:验证就是检查你的客户端发的路由有没有缺失或者格式错误(用到的是咱spring框架里面的老知识点 这里只是用到了而已)

啥是路由路由策略可以在Nacos控制台进行定义和管理(可参照别人的文章 这里简单 但是需要看看)

啥是过滤:过滤的功能太强大笔者不会 找篇博客去看看(过滤包含了前面几个功能的作用 但是它又独立出来了 既然你独立出来了(说是效率)就不能白白独立)

啥是流控:流控是指对进入系统的流量进行限制和管理,以确保系统的稳定性和可用性。在微服务架构中,流控通常用于防止某个服务被过多的请求压垮,从而导致服务不可用。Spring Cloud Gateway提供了多种流控策略,如基于令牌桶的限流、基于漏桶算法的限流等。

流控可以在nacos控制台或者配置文件(前者是动态更新流控)

校验举例:

(在controller 中 比如来点 非空、格式、安全、一致性校验)

举例:

 @NotNull(message = "商品ID不能为空")  
    @Positive(message = "商品ID必须是正数")  
    private Long productId;  
import org.springframework.validation.annotation.Validated;  
import org.springframework.web.bind.annotation.*;  
  
import javax.validation.Valid;  
import java.util.HashMap;  
import java.util.Map;  
  
@RestController  
@RequestMapping("/orders")  
@Validated  
public class OrderController {  
  
    @PostMapping  
    public Map<String, Object> createOrder(@Valid @RequestBody Order order) {  
        // 在这里处理订单创建逻辑  
        // ...  
  
        // 假设订单创建成功,返回一个简单的响应  
        Map<String, Object> response = new HashMap<>();  
        response.put("message", "订单创建成功");  
        response.put("order", order);  
        return response;  
    }  
  
    // 其他与订单相关的API方法...  
}
<dependency>  
    <groupId>org.springframework.boot</groupId>  
    <artifactId>spring-boot-starter-validation</artifactId>  
</dep

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值