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

文章讨论了应对大数据量时的数据库解决方案,包括使用SQL数据库配合Sharding进行分区存储以扩展能力,通过主从复制实现高可用和读写分离。数据库访问代理用于屏蔽复杂性,注册中心则支持配置管理和服务发现。为确保ShardingProxy的高可用,通常会采用负载均衡设备如F5或HAProxy。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

存什么?

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

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

数据库选型

在这里插入图片描述

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

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

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

表设计

在这里插入图片描述

在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值