目录 (1)单块架构 (2)初步的高可用架构 (3)千万级用户量的压力预估 (4)服务器压力预估 (5)业务垂直拆分 (6)用分布式缓存抗下读请求 (7)基于数据库主从架构做读写分离 (8)总结 本文将会从一个大型的网站发展历程出发,一步一步的探索这个网站的架构是如何从单体架构,演化到分布式架构,然 ...
分类:
Web程序 时间:
2020-06-08 12:17:33
阅读次数:
89
1.什么是分库分表 一个库一个表 拆分为 N个库N个表 分为垂直拆分,水平拆分 2.为什么要分库分表 随着业务发展,表的数量,以及单表数据量越来越大,而由于无法分布式部署(部分数据库支持),单台服务器资源(cpu 内存,IO)的限制,导致数据操作开销大,查询慢,因此需要进行分库分表,提高数据查询速度 ...
分类:
其他好文 时间:
2020-06-03 00:51:42
阅读次数:
79
为什么需要垂直拆分 为了提升数据库性能,可以考虑将 blob 和 text 拆分到单独的表中去 垂直拆分为什么可以提升性能 将 blob, text 这些大字段拆分出去后。mysql 底层存储单页可以存储更多 row 记录(其实也多不了多少, 因为 blob 和 text 字段可能只有前 20 个字 ...
分类:
数据库 时间:
2020-05-11 23:28:34
阅读次数:
81
核心文件: server.xmlschema.xmlrule.xml 垂直拆分 (1)将一个库中数据表拆分到对应的库中,完成垂直拆分 比如原始项目库中包含用户、订单、商品模块的数据表,现在按照模块分别建立数据库,将数据库中数据表拆分到对应数据库中,完成垂直拆分(微服务模式就已经做了垂直拆分) (2) ...
分类:
其他好文 时间:
2020-04-18 14:16:13
阅读次数:
81
性能优化: 数据库缓存、热点数据放到缓存。 数据库垂直拆分、不同的数据放到不同的数据库中存储。 主从复制、给数据库添加备份库。 读写分离。写数据库到主库,读数据到备份库。 配置集群。 分库:将热点数据放到一个库,将冷数据放到另外数据库。 分表:将同一张表的数据放到不同的库中的相同表。例如:按照 id ...
分类:
其他好文 时间:
2020-03-30 21:40:00
阅读次数:
69
区块链系统共识:去中心化的共识本质上,区块链系统是一个分布式系统,但是与普遍的分布式系统不同。普遍的分布式系统,其意义在于:面对增长的业务量,用多台机器承载垂直拆分或水平拆分后的业务场景,增大系统容量;根据业务的关键程度,消除单点故障,加强系统可用性。当一个区块链系统承担的业务场景复杂如普遍的分布式系统时,当然也需要做如上的考虑。但是区块链系统之所以应当被人重视,是因为它能够解决存在作恶节点情况下
分类:
其他好文 时间:
2020-03-04 23:38:36
阅读次数:
102
区块链系统共识:去中心化的共识本质上,区块链系统是一个分布式系统,但是与普遍的分布式系统不同。普遍的分布式系统,其意义在于:面对增长的业务量,用多台机器承载垂直拆分或水平拆分后的业务场景,增大系统容量;根据业务的关键程度,消除单点故障,加强系统可用性。当一个区块链系统承担的业务场景复杂如普遍的分布式系统时,当然也需要做如上的考虑。但是区块链系统之所以应当被人重视,是因为它能够解决存在作恶节点情况下
分类:
其他好文 时间:
2020-03-04 23:19:26
阅读次数:
53
模拟这样一个场景: 1、将数据库按业务“垂直”拆分成用户库和订单库; 2、用户库做主从,读写分离; 3、订单库做“水平”切分,并且每个分片表做主从,读写分离; 一、垂直切分 1、准备两个MySQL数据库 2、MyCat的配置文件 schema.xml server.xml (主要是修改schemas ...
分类:
其他好文 时间:
2020-02-19 00:37:46
阅读次数:
70
一、MyCat基础概念;二、MyCat安装部署;三、MyCat读写分离;四、垂直拆分--分库;五、水平拆分--分表;六、全局表
分类:
数据库 时间:
2020-02-17 09:26:45
阅读次数:
122
数据库的写入请求量大造成的性能和可用性方面的问题,要解决这些问题,你所采取的措施就是对数据进行分片。这样可以很好地分摊数据库的读写压力,也可以突破单机的存储瓶颈,而常见的一种方式是对数据库做“分库分表”。 数据库分库分表的方式有两种:一种是垂直拆分,另一种是水平拆分。这两种方式,在我看来,掌握拆分方 ...
分类:
数据库 时间:
2020-02-09 18:23:26
阅读次数:
83