分片概念&架构目标|学习笔记

简介: 快速学习分片概念&架构目标

开发者学堂课程【MongoDB精讲课程(下)分片概念&架构目标】学习笔记与课程紧密联系,让用户快速学习知识

课程地址https://developer.aliyun.com/learning/course/727/detail/12981


分片概念&架构目标

 

集群分片

特点,不管搭建了多少个这个副本节点,它存储的数据都是一样的,存储的数据一样就带来一个问题,只能存在数据,只能存在一台服务器上面,完整的数据随着业务量非常大的时候,一台服务器已经存不下的时候就得用这个分片集群的方式

分片集群

实际上就是一种跨多台机器分布数据的一个方法。就是将这个数据拆分对吧,拆分成好多片儿,然后分别分散在不同的机器上,那分散在不同的机器上之后,就能达到一个好处,就是只需要用一片儿,或者说多台这种简单的这种小服务器就可以达到一个数,非常大的一个数据集的一个存储,不用再去单个的去增加那个配置。

解决系统增长的这个方法

随着这个业务越来越大,数据量越来越大之后,一般会有两种方案,一种是叫垂直扩展配置,垂直扩展是最传统的方式,就是不停的增加这台服务器的配置,给加内存加硬盘,但是垂直扩展它是有一个上限的,也知道这个计算机你甭管怎么加加到最后都是有一个上限,而且这个上限机器配置越好,其实它的这个性价比是越低的,那用分片其实可以带来第二种方式,就是水平扩展。当数据集在增加的时候,就需要将它拆分,分成一片儿一片儿的,给它分散的存在在不同的这种廉价一点儿,或者便宜的这个小服务器上面,最后再把它数据一汇总就可以构成大数据的这个高分组,这是非常大的一个数据集。这就是这个分片的好处,说白了,就是用多台廉价的小服务器,可以达到一个存储大数据的一个作用这就是这个分片

分片集群,包含三个组件,一个是这个分片,分片就是每个分片,都是存储数据的,最重要是存储数据的地方那还有个就是路由,这个机器你作为这个分片存储了之后,怎么访问以及访问的时候数据是在放在哪一片。需要通过这个路由来调度配置然后还需要第三个组件,其实就是存放这些配置信息的,就是哪个数据,存在哪个分片,到时候路由怎么去掉。需要一个这个调度的这个配置就是咱们的这个配置服务 configservers ,看一下整个完整的这个架构图:

image.png

APP 这个 server 通过路由去访问,访问的时候去抓取这个配置服务,配置服务之后再根据这个配置服务,去知道哪个数据存在哪一片,再去找对应的这个分片的这个服务器,把这个架构搞这么大之后,再把这个副本级也给它用上。

这个分片集群,实际上就最后有这么一个庞大的架构

image.png

上面是路由两个路由的主要作用,就是为了这个容灾当一个路由坏了之后,另一个路由还能用,们两个之间其实是相互独立的,它的作用都是作为这个路由节点,那还有这个配置服务和这个分片,至少要搭建两个分片服务,这两个分片服务分别都用这个副本的方式去搭建比如说分片一,一主一副本一仲裁。

分片二一样也是一主一副本一仲裁,这个 config 就是这个配置服务因为存储的是配置信息就不需要仲裁节点了,直接用本就可以了,两个副本就可以了。

可以想象一下,这块儿用仲裁的目的是什么,它不干什么事,也不存储数据,它主要的作用是为了投票,但是这个配置服务之它并不会存储大量的数据,其实就不需要这个仲裁节点了,两个副本都可以,因为对这个机器的要求其实是不高的,不需要存储很多数据,它就存储一些这个配置服务,所以这块搞两个副本就可以了,不用再去为了省钱搞一个什么仲裁,当然这块儿如果要搞成仲裁道理是一样的,其实就是为了还去搞一个这个配置服务,也给做一个这个,副本类似于副本集。

待会儿搭建的时候,其实跟这个副本级的搭建非常像,那其实要搭建这么123,三个副本级,然后加上两个路由,那这个三个副本级,分别每个里面又有三个服务,那一共是需要搭建11个,这个 mongo 服务,这个11个 mongo 服务,待会儿搭建的时候呢,需要有一定的顺序。

其实这个顺序就是甭管先搭副本还是先搭这个配置服务都可以,这两个可以任意的就是随便搭,随便谁先搭都可以,但是路由节点一定是需要先搭的,这个是需要注意的,搭建的时候,就跟这个副本级搭建基本一致。

相关文章
|
2月前
|
机器学习/深度学习 数据可视化 网络架构
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
PINNs训练难因多目标优化易失衡。通过设计硬约束网络架构,将初始与边界条件内嵌于模型输出,可自动满足约束,仅需优化方程残差,简化训练过程,提升稳定性与精度,适用于气候、生物医学等高要求仿真场景。
349 4
PINN训练新思路:把初始条件和边界约束嵌入网络架构,解决多目标优化难题
|
9月前
|
资源调度 监控 调度
基于SCA的软件无线电系统的概念与架构
软件通信体系架构(SCA)是基于软件定义无线电(SDR)思想构建的开放式、标准化和模块化平台,旨在通过软件实现通信功能的灵活配置。SCA起源于美军为解决“信息烟囱”问题而推出的联合战术无线电系统(JTRS),其核心目标是提升多军种联合作战通信能力。 上海介方信息公司的OpenSCA操作环境严格遵循SCA4.1/SRTF标准,支持高集成、嵌入式等场景,适用于军用通信、雷达等领域。 SCA体系包括目标平台资源层(TRL)、环境抽象层(EAL)、SRTF操作环境(OE)及应用层(AL)。其中,SRTF操作环境包含操作系统、运行时环境(RTE)和核心框架(CF),提供波形管理、资源调度等功能。
|
6月前
|
消息中间件 存储 Kafka
一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
本文详细介绍了分布式消息中间件RocketMQ的核心概念、部署方式及使用方法。RocketMQ由阿里研发并开源,具有高性能、高可靠性和分布式特性,广泛应用于金融、互联网等领域。文章从环境搭建到消息类型的实战(普通消息、延迟消息、顺序消息和事务消息)进行了全面解析,并对比了三种消费者类型(PushConsumer、SimpleConsumer和PullConsumer)的特点与适用场景。最后总结了使用RocketMQ时的关键注意事项,如Topic和Tag的设计、监控告警的重要性以及性能与可靠性的平衡。通过学习本文,读者可掌握RocketMQ的使用精髓并灵活应用于实际项目中。
5003 9
 一文带你从入门到实战全面掌握RocketMQ核心概念、架构部署、实践应用和高级特性
|
存储 分布式计算 大数据
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
大数据-169 Elasticsearch 索引使用 与 架构概念 增删改查
212 3
|
12月前
|
自然语言处理 JavaScript Java
《鸿蒙HarmonyOS应用开发从入门到精通(第2版)》学习笔记——HarmonyOS架构介绍
HarmonyOS采用分层架构设计,从下至上分为内核层、系统服务层、框架层和应用层。内核层支持多内核设计与硬件驱动;系统服务层提供核心能力和服务;框架层支持多语言开发;应用层包括系统及第三方应用,支持跨设备调度,确保一致的用户体验。
1080 81
|
9月前
|
人工智能 前端开发 Java
DDD四层架构和MVC三层架构的个人理解和学习笔记
领域驱动设计(DDD)是一种以业务为核心的设计方法,与传统MVC架构不同,DDD将业务逻辑拆分为应用层和领域层,更关注业务领域而非数据库设计。其四层架构包括:Interface(接口层)、Application(应用层)、Domain(领域层)和Infrastructure(基础层)。各层职责分明,避免跨层调用,确保业务逻辑清晰。代码实现中,通过DTO、Entity、DO等对象的转换,结合ProtoBuf协议,完成请求与响应的处理流程。为提高复用性,实际项目中可增加Common层存放公共依赖。DDD强调从业务出发设计软件,适应复杂业务场景,是微服务架构的重要设计思想。
|
供应链 监控 安全
网络安全中的零信任架构:从概念到部署
网络安全中的零信任架构:从概念到部署
1037 75
|
11月前
|
XML Java 开发者
Spring底层架构核心概念解析
理解 Spring 框架的核心概念对于开发和维护 Spring 应用程序至关重要。IOC 和 AOP 是其两个关键特性,通过依赖注入和面向切面编程实现了高效的模块化和松耦合设计。Spring 容器管理着 Beans 的生命周期和配置,而核心模块为各种应用场景提供了丰富的功能支持。通过全面掌握这些核心概念,开发者可以更加高效地利用 Spring 框架开发企业级应用。
354 18
|
测试技术 持续交付 微服务
深入理解微服务架构:从概念到实践
深入理解微服务架构:从概念到实践
255 20
|
存储 分布式计算 算法
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
大数据-105 Spark GraphX 基本概述 与 架构基础 概念详解 核心数据结构
281 0