后端学习笔记 day4

1.分区和复制的区别

复制是相同的数据在多个节点冗余,比如我们都备份相同的连城诀的完整版,分区是我们各存储一部分,比如连城诀分成上中下三部,我们师兄弟三人分别存储, 结合分区和复制就是比如每人存储2/3,既有分区也有复制。

2.key value数据确定处于哪个分区的方法

一种是利用关键字的区间分区,这种分区方法不能按照关键字平分,而应根据数据的特性或手工设置;一种是利用对关键字哈希之后再存储。

区间分区的好处是支持区间查询,哈希分区虽然让负载更加均衡但是不能支持区间查找,这种查找的使用还是很常见的,比如查找某个用户这个月的点赞数据。

3.分区和节点的对应方法

有固定分区法,固定每个分区在哪个节点;有动态分区法,根据分区的大小动态的调整。这两种方法都是一个节点可以对应多个分区。对于固定分区法,因为分区的数目已经固定,所以每个分区的大小和数据量成正比,且应该让数据尽量均匀。对于动态分区法,分区的大小通常有一个上限,当到达上限时就增加分区的数量,把一部分数据移动到其他节点。

4.复制的问题

在复制中问题主要是主从节点的协调,让从节点追赶主节点;多主节点的协调,多个主节点在一定的约束下防止写冲突;无主节点确保数据写入读出成功。这些主要是通信上面的问题,因为网络传输具有一定的延迟性,所以必须去处理不一致的问题。数据分区更多是关于某个数据在哪些节点的问题。

5.服务发现问题

服务发现是指因为我们对数据进行了分区处理,所以就不是任何节点都持有客户端希望访问的数据,客户端需要有办法知道数据在哪个节点。

服务发现可以在三个部分设置,一是随机访问节点,由该节点通知希望访问的数据所在节点;二是利用中间路由层去访问;三是客户端直接掌握路由信息。

总结:复制和分区是联系的内容,一部分主要和最终一致性有关,一部分是关注数据的分区方法,这是我感觉很重要的部分。

相关推荐
Cho1yon16 小时前
【AI Agent 第十五期: AI Agent 从 0 到 1 系统学习大纲】
javascript·人工智能·学习
启博网络16 小时前
实战:无公网IP环境下的企业异地组网方案(附拓扑与IP规划)
linux·网络·tcp/ip
Soari17 小时前
Linux 内核对比:PREEMPT_DYNAMIC vs PREEMPT_RT
linux·运维·ubuntu
Dr_Fourier18 小时前
mmap的使用与底层原理
linux·c++
蒸蒸yyyyzwd18 小时前
cpp 选手备战秋招学习笔记 day32
c++·笔记·面试
stormeryang18 小时前
简单商城、在线客服管理系统
笔记
my_daling18 小时前
紫光FPGA远程升级注意事项(关于GTP_CFGCLK原语使用问题)
笔记·学习·fpga开发
zr想努力19 小时前
GAS学习(UE5自用)
学习·ue5
库玛西19 小时前
深度解构高并发利器:纯事件驱动 Reactor 模式的设计哲学与工程实践
服务器·开发语言·c++·笔记·tcp/ip
她说..19 小时前
MySQL JSON 处理学习文档
学习·mysql·json