当前位置: 首页 > news >正文

(三)总结(缓存/ETag请求头)


文章目录

  • 项目地址
  • 一、缓存
    • 1.1 Cache-Control Header(不常用)
    • 1.2 ETag请求头(不常用)
  • 二、乐观锁
  • 三、HTTP Resilience/Polly/Rate limit
    • 3.1 HTTP Resilience
    • 3.2 Polly
    • 3.3 Rate limit
  • 四、Idempotent Request Header


项目地址

  • 教程作者:
  • 教程地址:
  • 代码仓库地址:
  • 所用到的框架和插件:
dbt 
airflow

一、缓存

1.1 Cache-Control Header(不常用)

  • 直接在Controller的顶部写上缓存的事件
    1. 在依赖注入里添加缓存服务
    2. 注册缓存中间件在program里
    3. 在Controller的头部添加缓存

1.2 ETag请求头(不常用)

  1. 创建InMemoryETagStore类,用来设置,获取和更新内存中的ETag
  2. 实现ETagMiddleware类,用于对内存中的ETag进行判断
  3. 注册InMemoryETagStore服务和ETagMiddleware

二、乐观锁

  1. 添加使用乐观锁的请求类型 put和patch
  2. 在上面Etag的基础上,添加ifMatch请求头
  3. 判断当前内存中的Etag和请求头中的ifMatch是否相等
  4. 如果不相同,就说明有并发数据不一致问题
  5. 在会出现并发问题的controller的方法里注入InMemoryETagStore服务
  6. 在数据存储后,设置新的Etag值

三、HTTP Resilience/Polly/Rate limit

3.1 HTTP Resilience

  • 解决请求外部api时候,遇到的错误,并且自动恢复
    1. 直接在Refit服务配置后面,实现重试,熔断等策略

3.2 Polly

  • 失败重试3次,如果还失败,就停留30s后在请求

3.3 Rate limit

  • 给登用户使用token bucket策略
  • 给匿名用户使用Fixed Window策略

四、Idempotent Request Header

相关文章:

  • 【P2P使用指南】
  • 【从零学习JVM|第五篇】打破双亲委派机制
  • 每日收获总结20250610
  • 鹰盾加密器如何对视频进行分析?
  • 深度学习小项目合集2-视频介绍下自取
  • [特殊字符] 以太坊智能合约:原理、执行与核心机制
  • [UnrealCircle武汉]UE5跨平台游戏常见问题及解决方案笔记
  • PCB设计实践(三十五)STM32与ESP32的核心应用场景及选型
  • 第13篇:数据库中间件缓存策略设计与热点数据优化实践
  • JavaSec-RCE
  • [灵感源于算法] 算法问题的优雅解法
  • 【数据结构】图论经典:Dijkstra最短路径算法精解与工程优化
  • 机器人模型文件urdf介绍
  • 【Zephyr 系列 17】多协议网关实战:BLE + LoRa + UART + MQTT 综合调度系统设计与实现
  • Redis 7.2.3 Windows 安装指南(简单易懂版)
  • ​​CentOS 7.9​​ 上配置 ​​Fail2ban 自动封禁 IP​​ 的完整步骤,整合了多篇权威资料的最佳实践
  • CentOS 安装Python 3教程
  • Docker 安装教程(CentOS 系统)纯新手可入门
  • 二.Gitee分支管理
  • CentOS 7.3环境中部署Kerberos集群
  • 微网站的定义/吉林seo技术交流
  • 西安网站建设公司找哪家/seopeixun
  • 德阳网站网站建设/网络seo优化平台
  • 辽宁电力建设监理有限公司网站/黑帽seo是什么
  • 广东企业黄页网站/推广渠道有哪些方式
  • 东莞专业做淘宝网站推广/最好的网站优化公司