美文网首页
分布式系统知识总结

分布式系统知识总结

作者: clever哲思 | 来源:发表于2020-11-30 08:23 被阅读0次

分布式协调与同步

  1. 分布式互斥的实现方案:
    1. 集中算法, 也叫中央处理, 容易出现单点故障,
    2. 分布式算法, 算法可用性比较低, 容易产生通信风暴, 适合小的,变动少的架构, 比如hadoop的htfs
    3. 令牌环算法, 轮值, 用一个令牌实现, 有令牌的程序有权访问资源, 结束访问后传递令牌
  2. 分布式事务:两阶段提交, 三阶段提交
  3. 分布式锁:msyql, redis(setnx命令),zookeeper(有序的临时节点)
  4. 分布式结构分两种, 集中式和非集中式, 集中式比如k8s, master负责api, 调度,etcd存储worker信息, 而任务全部由work节点负责. 非集中式的比如redis cluster, zookeeper等, 每一个节点都是平等的, 投票选举主节点, 投票方式

分布式资源管理和负载调度

  1. 单层调度: 任务和资源一层调度, 比如Brog的调度有可行性分析和评分算法, 评分算法有最佳匹配(节点任务尽量满, 空出机器执行更大的任务), 和最差匹配(往不通的机器塞任务)
  2. 两层调度, 第一层调度资源, 第二层将资源与任务匹配, 比如Apache Mesos 和 Hadoop YARN,
    Mesos负责收集节点的资源上报给框架, 框架进行任务和资源的匹配,下发下去
    有两种资源调度算法: 最大最小公平算法, 主导资源公平算法
  3. 单层调度容易出点单点故障, 可扩展性低, 而二层调度呢, 第二层只能获取部分的资源信息, 无法获取全局的资源信息, 解决办法就是

分布式通信

  1. rpc远程调用, 涉及到tcp封装解封, 还有信息的序列化与反序列化
  2. 还要一种通信是发布订阅模式, 一条消息可以被多个消费者消费

分布式存储

  1. 哈希, 一致性哈希, 带负载的一致性哈希, 带虚拟节点的一致性哈希: 虚拟节点一致性哈希可以解决异构性问题
  2. 流量控制: 消息队列,漏桶策略和令牌桶策略。
    1. 漏桶策略适合场景:漏桶策略适用于间隔性突发流量且流量不用即时处理的场景
    2. 令牌桶策略:适用于有突发特性的流量,且流量需要即时处理的场景。
  3. 常见的故障检测方法是心跳机制

设计一个分布式系统

  1. 功能性需求, 谁使用, 怎么用
  2. 非功能性需求, qps, 每秒写入数, 每秒读取数, 数据同步延迟, 高可用
  3. 写入路径, 读取路径设计
  4. 技术选型

消息队列

  1. 术语叫消费偏移, 头指针减去尾指针就是消息数

限流的一些方法

  • 常用的有令牌法, 漏桶法, 固定窗口法, 滑动窗口法

相关文章

  • 分布式系统知识总结

    分布式协调与同步 分布式互斥的实现方案:集中算法, 也叫中央处理, 容易出现单点故障,分布式算法, 算法可用性比较...

  • dubbo

    一、基础知识 1、分布式基础理论 1.1)、什么是分布式系统? 《分布式系统原理与范型》定义: “分布式系统是若干...

  • Dubbo笔记1

    一、基础知识。·1、分布式基础理论。·1.1)、什么是分布式系统?。《分布式系统原理与范型》定义:“分布式系统是若...

  • Linux系统优化之TCP协议栈优化-基本篇1

    因为在做爬虫分布式系统的过程中,涉及到了一些linux系统优化方面的知识,所以来总结一下,我们会对linux的不同...

  • 年后去面试不得不看的—高性能架构面试题

    分布式架构(一) 大型互联网架构演进过程,架构师应具备的分布式知识,主流分布式架构设计详解 分布式系统 分布式系统...

  • Gluster Fs(一)基础知识介绍

    基础知识铺垫(什么是分布式文件系统?) 分布式文件系统(Distributed File System)是指文件系...

  • 分布式系统-1-MapReduce

    在开篇 分布式系统-0-知识架构 我们介绍了分布式系统的背景和需要解决的问题。从本篇开始就要正式开始介绍分布式了。...

  • 分布式系统-2-RPC

    在开篇 分布式系统-0-知识架构 我们介绍了分布式系统的背景和需要解决的问题。其中提到分布式设计主要涉及通讯、容错...

  • 一.基础知识

    一.基础知识 1.分布式基础理论 1.1) 什么是分布式系统 “分布式系统是若干独立计算机的集合,这些计算机对于用...

  • RabbitMQ总结

    RabbitMQ总结 基础知识 为什么要用消息队列 队列是一种先进先出的数据结构。 消息队列是分布式系统中重要的组...

网友评论

      本文标题:分布式系统知识总结

      本文链接:https://www.haomeiwen.com/subject/rsugiktx.html