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

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


文章目录

  • 项目地址
  • 一、数据架构
    • 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.xdnf.cn/news/19004.html

相关文章:

  • 计算机网络的发展演进历程
  • 2 梯度下降算法
  • 英伟达 Spectrum-XGS:重构 AI 基础设施,开启跨域超级工厂时代
  • 氯化钕:以稀土之力引领科技创新
  • Spring AI 入门指南:三步将AI集成到Spring Boot应用
  • Java大厂面试实战:从Spring Boot到微服务架构的全链路技术剖析
  • MySQL 面试题系列(四)
  • Mysql——日志
  • 力扣hot100:搜索旋转排序数组和寻找旋转排序数组中的最小值(33,153)
  • TikTok广告投放革命:指纹云手机如何实现智能群控与降本增效
  • Mac中修改Word的Normal.dotm文件
  • CSS实现内凹圆角边框技巧(高频)
  • 绿算技术解密金融科技安全:高性能计算与存储驱动金融防火墙新时代
  • 【拥抱AI】一起学卷积神经网络(CNN)
  • 一天推荐一款实用的手柄零件————线性霍尔
  • Zynq开发实践(FPGA之verilog仿真)
  • Flask 之上下文详解:从原理到实战
  • OSG+Qt —— 笔记3- Qt窗口绘制模型的三条轴(附源码)
  • 【Linux操作系统】简学深悟启示录:环境变量进程地址
  • Mysql面试题分享
  • 医疗巡诊车5G专网路由器应用
  • webrtc音频QOS方法一.1(NetEQ之音频网络延时DelayManager计算补充)
  • Spring Boot 与传统 Spring:从 WAR 到可执行 JAR,颠覆性的部署哲学
  • 在 TencentOS 3 上部署 OpenTenBase:从底层原理到生产级实践的深度指南
  • 微服务-24.网关登录校验-实现登录校验
  • 网站开发用什么语言好
  • 数据结构:链式队列尝试;0826
  • 庖丁解牛:深入解析Oracle SQL语言的四大分类——DML、DDL、DCL、TCL
  • Rust 环境搭建与 SeekStorm 项目编译部署(支持中文)
  • Redis相关命令详解及其原理