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

系统设计(数据库/微服务)


文章目录

  • 项目地址
  • 一、数据架构
    • 1.1 Query Separation
      • 1. 场景
      • 2. 实现思路
        • 触发查询分离
        • 引入MQ
        • 难点
    • 1.2 分表分库(写数据缓慢)
      • 1. 场景
      • 2. 思路
        • 分片键的选择
        • 分片的算法
    • 1.3 Redis(读/写数据频繁)
  • 二、微服务
    • 2.1 服务发现
      • 1. 服务发现的方法
    • 2.2 全链路追踪
      • 1. 需要追踪什么
    • 2.3 熔断/限流
      • 1. 请求第三方接口慢
      • 2. redis超时
      • 3. 限流
        • 令牌桶算法
        • 在网关层限流


项目地址

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

一、数据架构

1.1 Query Separation

1. 场景

  • 实际场景:

    1. 工单查询,表中有几千万数据,并且需要关联十几个子表,查询速度30-40s
    2. 由于有些工单数据是诉讼书,所以需要频繁查询,不能使用冷热分离
    3. 采用查询分离的解决方案,更新数据放在一个系统里,查询数据库放在另外一个数据库
    4. 由于数据更新都是单表,所以很快
    5. 数据查询则通过一个大数据量的查询引擎,将速度减少到了500s
  • 什么时候需要使用:

在这里插入图片描述

2. 实现思路

触发查询分离
  1. 直接串行修改代码:在写入数据的时候,写库和查库双写
  2. 修改代码引入MQ:写入数据,通过mq异步同步到查库
  3. 数据库的CDC:直接监控数据的变更
引入
http://www.dtcms.com/a/352041.html

相关文章:

  • 基于Python+AlphaBot 实现红外遥控且自动避障的嵌入式智能小车系统
  • Cursor 中文输出设置:繁体改为简体的方法
  • uniapp 页面favicon.ico文件不存在提示404问题解决
  • uniapp 自动升级-uni-upgrade-center
  • 家庭事务管理系统|基于java和vue的家庭事务管理系统设计与实现(源码+数据库+文档)
  • 【Python实战练习】用 Python与Pygame 打造完整的贪吃蛇小游戏
  • Elasticsearch中的设置refresh_interval
  • Linux SSH 密钥认证登录原理与配置指南
  • linux下的网络编程:TCP(传输控制协议)编程
  • 数据结构(C语言篇):(一)算法复杂度
  • 复盘一个诡异的Bug之FileNotFoundException
  • 数据结构的线性表 之 链表
  • 二、JVM 入门——(三)栈
  • 动手学深度学习(pytorch版):第七章节—现代卷积神经网络(2)使用块的网络(VGG)
  • MyBatis 流式查询详解
  • 使用 mcp-use 构建极简 Web 自动化测试智能体「喂饭教程」
  • 前端漏洞(上)- CORS漏洞
  • 静态HTML网页模板设计与实现
  • python基础-面向对象编程(OOP)
  • 我们来学mysql -- safe启动
  • Mysql——日志
  • 【45页PPT】制造行业数据资产运营平台需求方案(附下载方式)
  • 【科研绘图系列】R语言在海洋生态学中的应用:浮游植物糖类组成与溶解性有机碳的关系
  • OpenCV打开视频函数VideoCapture使用详解
  • Linux桌面主题的安装
  • 33.ansible 比较重要的配置文件
  • 运算符(2)
  • 审核问题——鸿蒙审核返回安装失败,可以尝试云调试
  • timedatectl查看时间同步
  • Windows本地部署大模型方式对比