分布式(极客)

《极客兔兔GeeCache第五天 分布式节点》中节点查询的过程理解 最近在跟着极客兔兔的七天Go教程写项目,刷到[动手写分布式缓存 - GeeCache第五天 分布式节点](https://geektutu.com/post/geecache-day5.html)这一篇后感觉节点查询部分非常绕非常难以理解,并且看到评论区有其他读者也有相同的感受,因此把自己花了三四个小时才搞懂的节点选择和数据查询的整个过程记录下了,希望能帮到其他有相同困惑的读者。如果有说的不对的点,欢迎评论区一起讨论。 阅读详情

高性能、可扩展、高可用、低资源占用
在这里插入图片描述

1. 协调与同步

互斥访问共享资源

集中式管理
协商(分布式算法)
令牌环
在这里插入图片描述

分布式选主

    Bully算法(节点id大的是主,MongoDB的选举(id是时间戳))
    Raft算法(民主投票,多的赢,Google 开源的 Kubernetes)
    ZAB 算法(具有优先级的民主投票,相较于 Raft 算法的投票机制,ZAB 算法增加了通过节点 ID 和数据 ID 作为参考进行选主,节点 ID 和数据 ID 越大,表示数据越新,优先成为主。)

在这里插入图片描述

分布式共识(记账)

在这里插入图片描述

分布式事务

    二阶段、三阶段、消息最终一致(BASE对acid的弱化)

在这里插入图片描述

分布式锁

    redis(setnxex)
    zookeeper(需要频繁地添加和删除节点,所以性能不如基于缓存实现的分布式锁)

在这里插入图片描述

2. 资源(硬件资源)管理和负载调度

集中式结构(看)

在这里插入图片描述

(系统内所有的业务也均先由中央服务器处理。多个节点服务器与中央服务器连接,并将自己的信息汇报给中央服务器,由中央服务器统一进行资源和任务调度)看

非集中式(看)

在这里插入图片描述

(Gossip协议,是最终一致性协议,https://cloud.tencent.com/developer/article/1662426)
redis,分片(哈希槽),高可用(主备)
Cassandra(与redis区别,每个节点仅代表一个hash值)

单体调度

为用户任务寻找合适的服务器这个过程,在分布式领域中叫作调度,就是任务和分布式系统中的空闲资源直接进行匹配调度
在这里插入图片描述

两层调度(资源调度和任务调度分开)

在这里插入图片描述
在这里插入图片描述

共享状态调度

3. 分布式计算

分而治之(Map reduce)

(Map reduce,如统计人口总数分为统计各个省的然后汇总,每个任务执行相同的步骤)类似java中的Fork-Join)

Stream

(实时性任务,持续的数据,实时推荐,不提供存储的能力)(看storm的原理)

Actor

(分布式并行计算模型,类似于对象,包括状态、行为和消息,与对象不同的是异步,消息保存着调用信息)
Erlang
Akka

流水线

(大任务拆分,不同步骤不同的线程执行,拆分的是步骤)

4. 分布式通信(看22)

同步通信

    远程调用(RPC,如dubbo)

异步通信

(异步,类似的是观察者模式,观察者模式是同步)
发布订阅(mq)

5. 分布式存储

CAP(P分区容错性,分布式环境网络等导致分区不可避免,因此要保证CP或AP)

在这里插入图片描述

数据分片

在这里插入图片描述

数据复制(让主备数据库保持一致的技术)

在这里插入图片描述
半同步复制中,对于未回复数据更新结果的节点,主节点强制更新其信息

缓存

在这里插入图片描述

6. 高可靠

负载均衡

在这里插入图片描述

流量控制

在这里插入图片描述在 Sentinel 中,关于流量控制有两种方式:一种是通过并发线程数进行流量控制,另一种是通过 QPS 指标进行流量控制。

故障隔离

线程隔离(线程池)
进程隔离
资源隔离(容器隔离Docker,虚拟机隔离,主机隔离,机房隔离)
在这里插入图片描述

故障恢复

在这里插入图片描述

数据可视化—power bi 基础操作汇总 数据来源: https://pan.baidu.com/s/1U_Y7rKfhnSKbLmh4FcUD_Q 提取码: yq5v 目录 基本功能与视图 编辑与查询—修改column案例 建立关联性 新增column与DAX完成总价运算 习题练习1:建立可视化图表 产品销售统计图 column拖曳可视化 1.基本功能与视图 ①基础操作界面 ②获取数据—以打开excel为例 ③数据文件基本视图 可视化形式:柱状图、数据、关联性 2.编辑与查询—修改column ①编辑与查询—数据处理界面 . 阅读详情

相关推荐

LangFlow开源神器:拖拽构建AI Agent与MCP协议集成实战

LangFlow 15万星开源神器:拖拽搭建 AI Agent,一键部署 API / MCP / JSON 在AI应用开发领域,传统编码方式往往需要处理复杂的API调用、数据处理和流程编排,这让很多开发者望而却步。LangFlow作为GitHub上获得15万星的开源项目,通过可视化拖拽的方式彻底改变了AI Agent的开发体验。本文将完整介绍如何使用LangFlow快速构建功能强大的AI Agent,并实现API、MCP协议和JSON配置的一键部署。 1. LangFlow与AI Agent核心概念解析 1

weixin_33717117的博客 932

极客天成分布式全闪存储在大模型训练中的应用

在存储容量方面,NVFile具有出色的横向扩展能力,能够满足不断增长的大语言模型训练数据存储需求,为预训练语料库和中间检查点提供海量的数据存储空间。NVFile充分利用RDMA技术,每个节点通过双链路实现400Gb/s以上的I/O带宽和微秒级时延,有效消除了传统架构中的数据传输瓶颈,加速了模型训练过程中的数据读取和梯度同步。NVFile采用全闪存技术,支持高达200/400Gbps的InfiniBand高速网络,具有卓越的速度和低延迟特性,能够满足大规模语言模型训练场景的海量数据存储和快速访问需求。

Wulalalaaaaa的博客 3266

niushop靶场漏洞查找-文件上传漏洞等(超详细)

发现报错,而且这个报错十分熟悉,与我们所学的sqli报错注入特别像。这里查询到后面的url有且仅有一个,目测估计是后台。上传的图片是包含一句话木马的图片。发现获取到了webshell。实战漏洞-niushop。

qq_59020256的博客 1727

极客时间之《分布式技术原理与算法》笔记

文|Seraph 在一定资源上,进行一定通信,通过一定计算,完成一定数据的加工和处理,从而对外提供特定的服务 01 | 分布式缘何而起:从单兵,到游击队,到集团军 单机模式:性能受限、存在单点失效问题。 游击队模式:数据并行或数据分布式 第一步:将应用与数据分离 第二步:对数据进行拆分 存在的问题及解决办法: 负载均衡:解决不同服务器效率不一致问题。 IO读写分离:解决数据库的IO访...

pengshuyes的专栏 6137

如何在Vitis 2023.1上快速搭建LWIP Echo Server(附YT8521S PHY调试心得)

本文详细介绍了在Vitis 2023.1开发环境下,基于Xilinx MPSoC平台快速搭建LWIP Echo Server的完整实战流程。内容涵盖从Vivado硬件工程配置、Vitis软件工程创建,到关键代码剖析与定制化修改,并重点分享了调试非标准PHY芯片(如YT8521S)的宝贵心得与常见问题排查方法,旨在帮助开发者高效实现FPGA与上位机间的可靠网络通信验证。

weixin_29250403的博客 133

逆向实战:我是如何一步步解开美团外卖App的mtgsig3.0签名(附关键代码片段)

本文详细记录了逆向分析美团外卖App的mtgsig3.0签名算法的全过程,从抓包到算法还原,包括Java层和Native层的深度分析。通过Frida、IDA Pro等工具,揭示了签名生成的多层加密流程,并提供了关键代码片段。文章还探讨了逆向工程中的反调试对抗和签名时效性问题,为安全研究人员提供了宝贵的技术参考。

weixin_42530732的博客 860

一篇文章带你构建"分布式架构"知识图谱——极客时间《左耳听风》分布式系列专题总结

最近几年,我们一直在谈论各式各样的架构,如高并发架构、异地多活架构、容器化架构、微服务架构、高可用架构、弹性化架构等。 我在极客时间上我订阅了陈皓开设的《左耳听风》专栏,其中有针对分布式架构的一系列文章,这里对主要的知识点进行简单的总结,作为学习分布式架构的纲要。 分布式系统架构的冰与火;分布式系统的难点;分布式系统的技术栈;分布式系统关键技术:全栈监控;分布式系统关键技术:服务调度;分布式系统关键技术:流量与数据调度;洞悉PaaS平台的本质

未完成的空间 2167

使用freesurfer和3Dslicer进行脑区分割和电极定点(详细版)

1、安装好matlab和freesurfer2、在目标位置创建文件夹3、开放权限4、将需要计算的nii文件放入文件夹。

zQIANYUN的博客 5621

初页CTO丁乐:分布式以后还能敏捷吗? - 极客头条 - youkuaiyun.com

初页CTO丁乐:分布式以后还能敏捷吗? - 极客头条 - youkuaiyun.com

weixin_33975951的博客 104

【气候模式降尺度】分位数增量映射(QDM)原理及MATLAB代码实现

简介QDM原理及其MATLAB代码实现

WW、forever的博客 5859

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

基于Jeecgboot3.9.0的vue3版本前后端分离的flowable流程管理平台

宁波阿成的博客 900

未名企鹅极客 | 海量数据处理中的分布式任务队列

1 背景 随着未名企鹅业务的不断扩展,在进行流向数据清洗,数据处理的时候,免不了对资源的大量消耗。当有多个处理任务同时进行的时候,就会给服务带来巨大压力,这时就需要能够控制同时执行的任务数,可以监控任务状态,并且能够方便水平扩展,而解决这一问题的关键就是分布式任务队列。 2 什么是任务队列 队列(Queue),是一种线性的数据结构,它的特点“先进先出(FIFO)”,即元素只能队尾进入,从队首离开,先进入队列的元素会先离开队伍。可以将队列想象成银行柜台的排队机制一样,在前面排队的人可以先办理业务,在最后排队

WeimingPenguin的博客 233

SAP PS 收入确认方法配置清单(成本推导收入 / 项目进度推导收入)

摘要:本文详细介绍了SAPPS模块中两种收入确认方法的配置流程:成本推导收入(成本比例法)和项目进度推导收入(里程碑法)。通过事务码OKG1-OKG5等关键配置步骤,分别实现基于累计成本比例和里程碑完成权重的收入确认逻辑。文章对比了两种方法的适用场景和管控要点:成本法适用于成本与进度强相关的项目,需严控预计总成本;进度法则依赖明确的里程碑验收。同时提供了落地建议,包括项目类型绑定、数据校验和变更管控等最佳实践,为SAPPS系统收入确认功能实施提供完整指导。

金牌架构师 952

极客时间-左耳听风-程序员攻略-分布式架构入门

分布式系统涵盖的面非常广,具体来说涵盖如下几方面: 服务调度,涉及服务发现、配置管理、弹性伸缩、故障恢复等。 资源调度,涉及对底层资源的调度使用,如计算资源、网络资源和存储资源等。 流量调度,涉及路由、负载均衡、流控、熔断等。 数据调度,涉及数据复本、数据一致性、分布式事务、分库、分表等。 容错处理,涉及隔离、幂等、重试、业务补偿、异步、降级等。 自动化运维,涉及持续集成、持续部署、全栈监控、...

17bdw的编程备份笔记 103

廖雪峰Python教程[完整版]

廖雪峰的python教程整理的,已经排好版了,而且还是完整的,适合小白

lwip-2.0.3

lwip是瑞典计算机科学院(SICS)的Adam Dunkels 开发的一个小型开源的TCP/IP协议栈。实现的重点是在保持TCP协议主要功能的基础上减少对RAM 的占用。

极客时间 分布式 架构相关03

04 | 如何利用事务消息实现分布式事务?

郭传志的博客 174

LinePhone3.2.7(android端最新版本) sip客户端

SIP客户端For android:LinePhone3.2.7(最新版本),官网地址:http://www.linphone.org/

极客时间-左耳听风-程序员攻略-分布式架构工程设计

学习架构指导性的文章和方法论,即分布式架构设计原则。下面是几篇很不错的文章,值得一读。 Designs, Lessons and Advice from Building Large Distributed Systems,Google 杰夫·迪恩(Jeff Dean)2009 年一次演讲的 PPT。2010 年,杰夫·迪恩在斯坦福大学的演讲:Building Software Sys...

weixin_30781433的博客 462

相约科技盛宴 | 极客天成在云栖大会等你

@11月3日至11月5日 杭州 · 云栖小镇

Wulalalaaaaa的博客 245

极客大学架构师训练营 系统架构 分布式缓存 一致性哈希 Hash 第9课 听课总结

说明 讲师:李智慧 缓存 Cache 缓存:存储在计算机上的一个原始数据复制集,以便于访问。 – 维基百科 缓存是介于数据访问者和数据源之间的一种高速存储,当数据需要多次读取的时候,用于加快读取的速度。 缓存(Cache) 和 缓冲(Buffer) 的分别? 缓存:一般是为了数据多次读取。 缓冲:比如CPU写到 把数据先硬盘,因为硬盘比较慢,先到缓冲设备Buffer,不如内存,Buffer读和写都需要。 无处不在的缓存 CPU 缓存 操作系统缓存 数据库缓存 JVM 编译缓存 CDN 缓

AI架构师易筋 1428

海量数据处理_未名企鹅极客 | 海量数据处理中的分布式任务队列

1背景随着未名企鹅业务的不断扩展,在进行流向数据清洗,数据处理的时候,免不了对资源的大量消耗。当有多个处理任务同时进行的时候,就会给服务带来巨大压力,这时就需要能够控制同时执行的任务数,可以监控任务状态,并且能够方便水平扩展,而解决这一问题的关键就是分布式任务队列。2什么是任务队列队列(Queue),是一种线性的数据结构,它的特点“先进先出(FIFO)”,即元素只能队尾进入,从队...

weixin_39992788的博客 161

极客时间电子书:程序员技术成长终极学习资源库

在技术快速迭代的今天,如何系统性地提升自己的专业技能?极客时间电子书项目为你提供了一个完整的技术学习解决方案,汇集了超过200本高质量技术电子书,涵盖从基础到前沿的各个技术领域。这个开源资源库包含了数据结构与算法、Java核心技术、架构设计、网络协议、数据库实战等核心内容,是程序员技术成长的宝贵财富。 ## 技术学习面临的三大挑战 ### 挑战一:知识碎片化,缺乏系统性 许多开发者在日常工作中

gitblog_00064的博客 871

元起资本联合创始合伙人万熠到访极客天成ScaleFlash

元起资本联合创始合伙人万熠到访极客天成ScaleFlash

Wulalalaaaaa的博客 243

极客天成出席NVIDIA为金融业打造全方位的网络解决方案在线研讨会并发表演讲

极客天成出席NVIDIA为金融业打造全方位的网络解决方案在线研讨会并发表演讲

Wulalalaaaaa的博客 225
上一篇: MongoDB
下一篇: Elasticsearch
big muscle
博客等级 码龄11年 145粉丝 71原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值