【分布式系统案例课】计数服务之存储设计

news2024/11/23 0:19:43

存什么?

两种存储内容,各有优劣
在这里插入图片描述

综合:耽搁时间和聚合数据都分别进行存储,可以得到两者的好处。

数据库选型

在这里插入图片描述

SQL数据库+客户端嵌入代理

因为B站的数量级,单个数据库肯定是扛不住的。然后为了满足扩展性需求,考虑对数据库进行分区存储 Sharding ,实现按需扩展。
Sharding 只是解决了分摊负载的问题,高可用还要用数据复制 replication ,主从复制之后还可以进一步读写分离,写入数据写到主库上,读取数据从从库上读取。
在这里插入图片描述

为了屏蔽Sharding 和主从复制引入的复杂性,需要引入数据库访问代理 ,访问代理可以直接以客户库的形式嵌入到应用程序中。
在这里插入图片描述
注册中心 Registry Center 来支持对后台数据库的配置管理,相当于配置中心加上服务发现的角色。Sharding Proxy 本身需要高可用部署,所以前置一般需要引入负载均衡设备来支持,例如 F5 或者软件 HAProxy。

表设计

在这里插入图片描述

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/749828.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Python入门级语法详解以及实战练习

来源:投稿 作者:起酥松松 编辑:学姐 python基本语法元素 变量命名原则: 首字符不能是数字; 中间不能有空格; 不能是python保留字; 字母 ,数字 ,汉字 ,下划…

【学会动态规划】三步问题(2)

目录 动态规划怎么学? 1. 题目解析 2. 算法原理 1. 状态表示 2. 状态转移方程 3. 初始化 4. 填表顺序 5. 返回值 3. 代码编写 写在最后: 动态规划怎么学? 学习一个算法没有捷径,更何况是学习动态规划, 跟我…

骨传导耳机好不好,盘点五款当下最流行的骨传导耳机

其实早在几年前,骨传导耳机就已经出现在大众视野了,由于使用的人数不多,所以一直不温不火的,最近这几年,骨传导耳机的热度才开始兴起,其最大的特点就是,不用入耳佩戴,不用担心运动过…

HOT60-单词搜索

leetcode原题链接:单词搜索 题目描述 给定一个 m x n 二维字符网格 board 和一个字符串单词 word 。如果 word 存在于网格中,返回 true ;否则,返回 false 。单词必须按照字母顺序,通过相邻的单元格内的字母构成&#…

分体式骨传导,为敏感耳朵打造的舒适体验,南卡OE上手

骨传导蓝牙耳机这两年很受运动玩家的欢迎,不过标准的骨传导耳机用起来并不算方便,最近我看到南卡新推出一种分体式骨传导耳机,叫南卡OE,和普通的骨传导耳机有很大不同。上周我也入手了一款,这几天试了试,感…

基于YOLOv8开发构建目标检测模型超详细教程【以焊缝质量检测数据场景为例】

超详细教程系列在我前面的文章中也有不少的实践记录,感兴趣的话可以自行阅读即可: 《基于yolov7开发实践实例分割模型超详细教程》 《YOLOv7基于自己的数据集从零构建模型完整训练、推理计算超详细教程》 《基于yolov5-v7.0开发实践实例分割模型超详细…

实现java参数非必传

1、路径参数: PathVariable(required false)实现参数aaa非必传 2、非路径参数: RequestParam(required false) 实现参数aaa非必传 3、实体参数: RequestBody(required false)实现实体aaa非必传

Java基础---集合类

目录 典型回答 Collection和Collections有什么区别 Java中的Collection如何遍历迭代 Iterable和Iterator如何使用 为什么不把Iterable和Iterator合成一个使用 哪些集合类是线程安全的 典型回答 什么是集合 集合就是一个放数据的容器,准确的说是放数据对象引用…

32位ARM M0+内核单片机 XL32F001简单介绍,Flash 24K,SRAM 3K

XL32F001 系列微控制器采用高性能的 32 位 ARM Cortex-M0内核,宽电压工作范围的 MCU。嵌入 24Kbytes Flash 和 3Kbytes SRAM 存储器,最高工作频率 24MHz。包含多种不同封装类型多款产品。芯片集成 I2C、SPI、USART 等通讯外设,1 路 12bit ADC…

十六、flex应用练习做淘宝按钮界面

目录: 目标小技巧实现最终代码 一、目标:我们要做一个手机版本的淘宝网,蓝色框住的按钮这部分。 二、 小技巧:如何在网页上看手机版本的页面 首先在网页上打开淘宝网,然后按F12,进入调试状态;&…

信号完整性分析基础知识之有损传输线、上升时间衰减和材料特性(一):为什么要关注损耗?

一个具有极快上升沿的信号输入到真实传输线中,在从传输线输出的时候上升时间会很长。例如,一个上升时间为50ps的信号,在经过一段36inch长,50Ohm传输线后,上升时间增加到1ns。上升时间的退化是由于传输线的损耗&#xf…

C#使用跨平台的PdfSharpCore开源库生成PDF文件

一、需求说明 在进行项目开发中,需要将C#程序的一些文本内容导出为PDF文件(能够根据文本自动分行分页),并且要求这个生成PDF文件的程序是可跨平台的;实现类似效果: 二、需求分析 ①将程序的文本内容导出为PDF文件; ②能够将文本内容自动分行分页【且可添加页眉、页脚、…

记录一次nginx日志偶现502报错排查

背景 之前的业务链路 负载均衡–>nginx–>cvm(业务后端node) 上云后链路 负载均衡–>nginx–>pod(业务后端node) 上云后nginx日志隔几个小时就出现一波502,查看nginx的日志有两个特征,就是re…

C# Linq 详解二

目录 概述 七、OrderBy 八、OrderByDescending 九、Skip 十、Take 十一、Any 十二、All 概述 语言集成查询 (LINQ) 是一系列直接将查询功能集成到 C# 语言的技术统称。 数据查询历来都表示为简单的字符串,没有编译时类型检查或 IntelliSense 支持。 此外&a…

matlab中画有重影的机器人运动过程【给另一个机器人设置透明度】

1、前言如题 2、参考连接如下 How to plot two moving robot in the same figure and change one of them transparency? - MATLAB Answers - MATLAB Central (mathworks.cn)3、代码:【找到figure中对应对象并设置属性】 % Create two instances of a…

【OJ比赛日历】快周末了,不来一场比赛吗? #07.15-07.21 #7场

CompHub[1] 实时聚合多平台的数据类(Kaggle、天池…)和OJ类(Leetcode、牛客…)比赛。本账号会推送最新的比赛消息,欢迎关注! 以下信息仅供参考,以比赛官网为准 目录 2023-07-15(周六) #3场比赛2023-07-16…

【多线程初阶】Thread类常见方法以及线程的状态

多线程初阶系列目录 持续更新中 1.第一次认识线程 2.Thread类常见方法以及线程的状态 … 文章目录 多线程初阶系列目录前言1. Thread 类及常见方法1.1 常见构造方法1.2 常见属性1.3 重要方法1.3.1 启动一个线程 ---- start()1.3.2 中断一个线程 ---- interrupt()1.3.3 等待一…

有PMP有没有必要换cspm?未来的发展前景如何?

最近 CSPM 证书很热门,CSPM 相关问题大家都很关心,今天本橘座就给大家全面解答一下 CSPM到底是何方神圣? 文章主要是解答下面几个常见问题,其他问题可以留言或者私信咨询我哦~ 一、什么是 CSPM证书?跟PMP是什么关系&a…

启动、关闭nacos

下载 进入官网 http://nacos.io/zh-cn/ 页面打开后,点击【前往Github】 进入Github页面,往下拖动,找到 latest stable release 选择当时最新的版本下载即可,这里选择.zip的文件下载 安装 Nacos 是免安装的,我们下…

备战秋招008(20230713)

文章目录 前言一、今天学习了什么?二、关于问题的答案1.集合2.JUC02、底层原理03、内存泄漏 总结 前言 提示:这里为每天自己的学习内容心情总结; Learn By Doing,Now or Never,Writing is organized thinking. 目前…