首页
学习
活动
专区
圈层
工具
发布
    • 综合排序
    • 最热优先
    • 最新优先
    时间不限
  • 来自专栏小白晋级大师

    分布式系统架构8分布式缓存

    这是小卷对分布式系统架构学习的第11篇文章,今天了解分布式缓存的理论知识以及Redis集群。 分布式缓存也是面试常见的问题,通常面试官会问为什么要用缓存,以及用的Redis是哪种模式,用的过程中遇到哪些问题这些1. 而能够保证强一致性的 ZooKeeper、Doozerd、Etcd 等框架,吞吐量比不过Redis,通常不会用作“缓存框架”,而是作为通知、协调、队列、分布式锁等使用2.透明多级缓存TMC实际开发中,同时搭配进程内缓存和分布式缓存 ,查询以进程内缓存数据优先3.实现方案3.1 memcached缓存在服务端,memcached集群环境实际就是一个个memcached服务器的堆积cache的分布式主要是在客户端实现,通过客户端的路由处理来达到分布式解决方案的目的 如下是memcached客户端路由过程:3.2 Redis缓存与memcached客户端支持分布式方案不同,Redis更倾向于在服务端构建分布式存储以Redis集群模式为例,它没有中心节点,具有线性可伸缩的功能

    72010编辑于 2025-01-20
  • 来自专栏技术翻译

    理解分布式系统8个谬误

    你在分布式系统上工作吗?微服务,Web API,SOA,Web服务器,应用服务器,数据库服务器,缓存服务器,负载均衡器 - 如果这些描述了系统设计中的组件,那么答案是肯定的。 分布式系统由许多计算机组成,这些计算机协调以实现共同的目标。 20多年前,Peter Deutsch和James Gosling定义了分布式计算的8个谬误。 这些是许多开发人员对分布式系统做出的错误假设。从长远来看,这些通常被证明是错误的,导致难以修复错误。 8个谬误是: 网络可靠。 延迟为零。 带宽是无限的。 网络是安全的。 拓扑不会改变。 这可能会使你的系统变成分布式的大泥球。 3.带宽是无限的 问题 带宽是有限的。 带宽是网络在一段时间内发送数据的容量。 意识到这些限制将有助于我们设计更好的分布式系统

    2.4K20发布于 2018-12-10
  • 来自专栏java达人

    分布式系统模式8-Singular Update Queue

    但是,如果正在执行的任务很耗时,比如写入文件,那么阻塞所有其他调用线程直到任务完成,可能会严重影响整个系统吞吐量和延迟时间。有效地使用计算资源是很重要的,同时仍然保证每次执行一个。

    78710发布于 2021-01-05
  • 来自专栏微信公众号【Java技术江湖】

    分布式系统理论基础8:zookeeper分布式协调服务

    https://github.com/h2pl/Java-Tutorial 喜欢的话麻烦点下Star哈 本文也将同步到我的个人博客: www.how2playlife.com 该系列博文会告诉你什么是分布式系统 ,以便让你更完整地了解分布式理论的基础,为后续学习分布式技术内容做好准备。 分布式服务协调员zookeeper - 应用场景和监控 zookeeper在分布式系统中作为协调员的角色,可应用于Leader选举、分布式锁、配置管理等服务的实现。 配置管理 znode可以存储数据,基于这一点,我们可以用ZK实现分布式系统的配置管理,假设有服务A,A扩容设备时需要将相应新增的ip/port同步到全网服务器的A.conf配置,实现过程如下: 1、A扩容时 在各种分布式系统中,我们经常可以看到zookeeper的身影。

    43510发布于 2019-12-03
  • 来自专栏别先生

    Kubernetes(k8s)之分布式文件系统glusterfs

    1、为什么使用分布式文件系统glusterfs? 答:使用持久化存储nfs,但是使用nfs这个共享存储特别简单,但是后期在扩容和管理方面都特别的不方便,在生产中一般都是使用分布式文件系统,这里使用的是分布式文件系统glusterfs。 2、什么是分布式文件系统glusterfs? 答:分布式文件系统glusterfs是一个开源分布式文件系统,具有强大的横向扩展能力,可以支持数PB存储容器和数千客户端,通过网络互联成一个并行的网络文件系统。 3、安装分布式文件系统glusterfs,需要所有节点都需要进行安装的,如下所示: 首先在三台节点上都安装glusterfs的yum源,如下所示: 1 [root@k8s-master ~]# yum

    1.6K30发布于 2020-07-06
  • 来自专栏IT大咖说

    深度学习:基于K8S的分布式Tensorflow系统

    嘉宾演讲视频及PPT回顾:http://t.cn/RnVeXX1 我今天的分享,第一个先介绍下什么是深度学习,有一个什么样的历史,包括它现在的一些现状;第二个是TaaS的简介;最后是分布式Tensorflow 系统是如何跑在Kubernetes上的。 TensorFlow是深度学习的框架,它支持的语言很多,也支持分布式的东西。有人问,怎么用一句话来概括TensorFlow的特点? TensorFlow+Kubernetes 我们这边其实利用了TensorFlow和Kubernetes结合来解决了真正遇到的问题,我们接下来会给大家简单地介绍一下怎样把一个分布式的TensorFlow

    1.2K80发布于 2018-04-03
  • 来自专栏shysh95

    分布式系统

    随着互联网的发展,单一节点部署的方式已经无法满足需求,需要通过增加节点来线性扩展系统的负载和性能,因此系统架构也由原来的集中式架构向分布式架构转变。 分布式 分布式系统主要由以下几个特征: 分布性:分布式节点在空间上任意分布 对等性:节点没有主从之分。 数据副本冗余数据,防止数据丢失,服务副本指多个节点提供相同服务,一个节点宕机,服务仍然可用 并发性 缺乏全局时钟:分布式系统很难定义事件的先后顺序 故障总是发生 分布式环境面临的主要问题: 通信异常:分布式系统需要各个节点之间相互通信 CAP和BASE理论 为了构建一个兼顾可用性和一致性的分布式系统,诞生了CAP和BASE理论。 CAP理论 CAP理论:一个分布式系统不可能同时满足一致性、可用性和分区容错性,最多只能满足两个。 在分布式系统中,分区容错性应该是必选的,然后再在一致性和可用性中寻求平衡。

    1.2K20发布于 2019-07-23
  • 来自专栏Java后端技术栈cwnait

    什么是分布式系统,如何学习分布式系统

    正文 虽然本人在前面也写过好几篇分布式系统相关的文章,主要包括CAP理论、分布式存储与分布式事务,但对于分布式系统,并没有一个跟清晰的概念。 分布式系统涉及到很多的技术、理论与协议,很多人也说,分布式系统是“入门容易,深入难”,我之前的学习也只算是管中窥豹,只见得其中一斑。 因此,一致希望能对分布式系统有一个更全面的认识,至少能够把分布式系统中的各个技术、理论串起来,了解他们在分布式系统分别解决什么问题,有哪些优秀的实现。 什么是分布式系统 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。 分布式系统特性与衡量标准 透明性:使用分布式系统的用户并不关心系统是怎么实现的,也不关心读到的数据来自哪个节点。

    1.2K31发布于 2019-12-01
  • 来自专栏s09g的技术博客

    零基础入门分布式系统 8. 案例研究 Case studies (完)

    8. 案例研究 Case studies 8.1 Collaboration and conflict resolution 协作软件是一个广泛的软件类别,它可以促进几个人一起完成某些任务。 此外,基于状态的CRDT并不限于使用广播的复制系统。其他复制方法,如quorum写算法和反熵协议,也可以使用CRDT来解决冲突。 这意味着,当两个用户同时打字时,他们的文档可能会暂时出现分歧;随着网络通信的进行,系统需要确保所有用户都收敛到文档的同一视图。 ., 2012]是一个提供最强一致性保证的系统:事务具有可序列化隔离和原子承诺,线性一致化读写。 尽管我们无法确保实际系统中的时钟完全同步,但我们可以跟踪在系统中的不同点上可能被引入的误差。对于原子钟来说,误差范围是由制造商报告的。对于GPS接收机来说,误差取决于目前在范围内的卫星信号的质量。

    2.2K10编辑于 2022-12-18
  • 来自专栏搜云库技术团队

    日请求8亿Web流量分布式系统的高容错性实践

    我幡然醒悟,“火”是永远救不完的,让系统能够自动”灭火”,才是解决问题的正确方向。简而言之,系统的异常不能总是依赖于“人”去恢复,让系统本身具备“容错”能力,才是根本解决之道。 三年多过去了,我仍然负责着这个系统,而它也已经从一个日请求百万级的小Web系统,逐步成长为一个高峰日请求达到8亿规模的平台级系统,走过一段令人难忘的技术历程。 例如,我们假设某个发货服务超时时间设置为6s,用户点击按钮,我们的AMS收到请求后,请求发货服务发货,等待6s后,无响应,我们给用户提示“领取失败”,而实际上发货服务却在第8秒执行发货成功,礼包到了用户的账户上 在发货场景,还会涉及分布式场景下的CAP(一致性、可用性、分区容错性)问题,不过,我们的系统并非是一个电商服务,大部分的发货并没有强烈的一致性要求。 机器的故障,尽可能让系统本身去兼容和恢复,人的失误,尽可能通过程序和系统流程来避免,都尽可能做到”不依赖于人“。

    82611发布于 2019-10-17
  • 来自专栏服务端技术杂谈

    分布式系统分布式事务

    分布式系统首先面对的问题是分布式事务 当我们采用分布式来提高系统性能时,首先面对的问题是面对和处理分布式事务。 分布式系统处理数据: 数据分区:把数据块放在不同的服务器上,采用一致性hash; 数据镜像:让所有服务器都有相同的数据,提供相同的服务; 第一种问题,单台机器出现问题,会存在数据丢失的问题。 这就是数据副本:出现某个节点的数据丢失时可以从副本读到,数据副本是分布式系统解决数据丢失的唯一手段。

    1.1K81发布于 2018-04-16
  • 来自专栏月梦·剑心的技术专栏

    分布式系统概述

    这就是分布式系统: 很多台计算机组成一个系统,协作运行大型的应用。 但是一个问题随之而来,那就是,在系统中增加了计算机之后,整个系统的性能也是随之增加的吗?可用性不随着系统的扩展而变化吗?未必。 这就引出了分布式系统的目标: 可扩展性(Scalability)。 如果一个用户不能访问系统,就称为不可用。 可用性也就是容错性,这展现出分布式系统相比于单机系统得天独厚的优势,一台计算机是没有容错性的,但是分布式系统可以在一堆不可靠的组件上构建一个可靠的系统。 Raft算法是目前最成功的分布式共识算法,是非拜占庭容错的,在分布式系统的下一篇文章,我将会写一下Raft算法。 参考文献 [1] Jay Kreps. Distributed systems[EB/OL]. [2023-8-28]. https://book.mixu.net/distsys/index.html. [2] 苏小乐.

    49430编辑于 2023-08-31
  • 来自专栏个人分享

    分布式系统简介

    现在工作中发现大数据技术的底层还是分布式系统,那么重新拾起,总结下~ 一、分布式系统简介 分布式系统是若干独立计算机的集合,这些计算机对于用户来说就像是单个相关系统。 2、透明性   将它的进程和资源实际上在多台计算机上分布这样一个事实隐藏起来,如果一个分布式系统能够在用户和应用程序面前呈现为单个计算机系统,这样的分布式系统就称为是透明的。 位置透明性:用户无法判别资源在系统中的物理位置。 迁移透明性:如果一个分布式系统中的资源移动不会影响该资源的访问方式,就可以说这种分布式系统能够提供迁移透明性。 可移植性:如果为分布式系统A开发了某个应用程序,并且另一个分布式系统B与A具有相同的接口,该应用程序在不做任何修改的情况下在B上执行的可行度。 参考文献:《分布式系统原理与泛型》

    1.8K20发布于 2018-09-06
  • 来自专栏FREE SOLO

    分布式系统基础

    分布式系统概念 What is a Distributed System? “一个分布式系统是若干个独立的计算机的集合, 但是对该系统的用户来说, 系统就像一台计算机一样。 ” 两个方面的含义: •  硬件方面: 各个计算机都是自治的 •  软件方面: 用户将整个系统看作是一台计算机 分布式系统的特点 优点 – 与集中式系统相比较 1、 经济性: 高的性能/价格比 2、 性能: 能产生单个大型主机不能达到的绝对性能 3、 应用的固有的分布性, 例如: •  CSCW •  工作流 4、 可靠性高 •  多工系统的容错能力 5、 可扩充性强 •  系统演进能力 紧耦合式: 多用于并行系统 2.  松耦合式 : 多用于分布式系统

    86610发布于 2019-04-28
  • 来自专栏分布式存储

    分布式图片系统

    ,如何保证7x24小时的高可靠性服务,在这个契机下,我们推出了分布式图片系统。 ,提高了系统的响应速度并避免了资源的重复执行,造成浪费,提高了系统利用率 图片数据源采用了多套方案实现,为使公司原有业务、新开发业务能快速使用分布式图片系统提供支持,减少了使用系统的复杂性 其中一种数据数据源采用了高性能的 TFS分布式图片存储系统,利用多个数据节点,产生同一份数据的多份冗余备份,提高了数据的安全性,为遇到故障时数据的快速恢复提供了支持 能够应对客户端日益变化的希望获取各种图片尺寸的诉求,执行即时压缩和图片处理算法 整体系统采用模块化划分,将系统分为各个部分,减少了系统的耦合性,增强了每个模块的独立性,整个系统采用分布式部署结构,防止单点结构的出现,为防止系统出现雪崩提供支持 项目的目的 a). 前端模块-Nginx 使用nginx自定义module,接收http请求,在自定义module的handler中调用分布式图片实现。

    1.1K30发布于 2020-07-20
  • 来自专栏Java成长之路

    分布式系统入门

    一、什么是分布式系统分布式系统是一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅是通过消息传递进行通信和协调的系统。 首先分布式系统一定是由多个节点组成的系统,一般来说一个节点就是我们的一台计算机;然后这些节点不是孤立的,而是相互连通的;最后,这些连通的节点上部署了我们的组件,并且互相之间的操作会有协同。 二、为什么需要分布式系统? 升级单机处理能力的性价比越来越低。 大型主机的人才培养成本非常之高,大型主机操作非常复杂,对运维人员的要求非常高。 大型主机非常昂贵。 集中式的系统具有明显的单点问题。大型主机虽然在性能和稳定性方面表现卓越,但是一旦出现了故障,那么整个系统都将处于不可用状态,其后果相当严重。 三、分布式系统基础知识 ? 四、分布式系统中有哪些难点? 面对故障独立性:在分布式系统中,整个系统的一部分有问题而其他部分正常是经常发生的情况,我们称之为故障独立性。

    1.7K30发布于 2018-09-29
  • 来自专栏Spark学习技巧

    分布式系统浅谈

    但如果要延伸到高并发场景下就必然要了解分布式系统分布式系统特点 分布式系统:一个硬件或软件组件分布在不同的网络计算机上,彼此之间仅仅通过消息传递进行通信和协调的系统 这是分布式系统,在不同的硬件,不同的软件 缺乏全局时钟 在分布式系统中,节点是可能反正任意位置的,而每个位置,每个节点都有自己的时间系统,因此在分布式系统中,很难定义两个事务纠结谁先谁后,原因就是因为缺乏一个全局的时钟序列进行控制,当然,现在这已经不是什么大问题了 如果交通警察是交通系统的指挥官,而zookeeper就是各个节点组成分布式系统的指挥官。 分布式系统问题 如果把分布式系统和平时的交通系统进行对比,哪怕再稳健的交通系统也会有交通事故,分布式系统也有很多需要攻克的问题,比如:通讯异常、网络分区、三态、节点故障等。 1. BASE理论: 即使无法做到强一致性,但分布式系统可以根据自己的业务特点,采用适当的方式来使系统达到最终的一致性; Basically Avaliable 基本可用 当分布式系统出现不可预见的故障时,

    96020发布于 2021-03-05
  • 来自专栏Java

    浅谈分布式系统

    虽然它也支持持久化功能,但其主要设计是为了在内存中操作数据 为了更好的学习Redis,我们得先了解一下分布式系统,只有在分布式系统中,才能发挥Redis的“威力”,如果只在单机程序中,可以直接通过变量来存储数据 组件(Component)  一个应用里面有多个功能 每个独立的功能 指的就是一个模块/组件  1.3 分布式(Distributed)   指的就是引入多台主机/服务器,协同完成某项工作 1.4 集群(Cluster)   指的就是引入多台主机/服务器,协同完成某项工作 分布式vs集群。 通常不⽤太严格区分两者的细微概念,细究的话,分布式强调的是物理形态,即⼯作在不同服务器上并且通过⽹络通信配合完成任务;⽽集群更在意逻辑形态,即是否为了完成特定服务⽬标。  随着后期网站访问量增长 一台主机硬件资源(CPU,内存,硬盘,网络)有限的情况下 可以选择俩种方式 1.开源  简单粗暴 增加更多的硬件资源(CPU 硬盘 ) 但主机扩容能力也是有限的 一旦引入多台主机,就是“分布式系统

    33610编辑于 2024-11-20
  • 来自专栏程序人生

    谈谈分布式系统

    今天我们先寻其最重要的一个根:分布式系统。这个题目对互联网从业者来说,看着可笑,谁敢说自己不了解分布式系统啊? 所以在分布式系统里很多时候我们需要一致性,来确保某些东西是有序的,大家在同一个 page,否则这个系统会走入歧途。 分布式系统中的坑 上文中我们已经把分布式系统中最基本的要素过了一下。接下来我们踩踩坑。 坑一:network is reliable。 是 8M,那么你需要 15 Mbps 的上行带宽。 有机会再写本文没有展开讲的共识机制,它是分布式系统的基石。

    1.1K100发布于 2018-03-29
  • 来自专栏服务端技术杂谈

    分布式概念-分布式系统是什么?

    什么是分布式系统呢? 从百度百科得到: 分布式系统是建立在网络之上的软件系统,拥有软件特性,所以分布式系统具有高度内聚性,和透明性。是建设于网络之上的高层软件,而不是硬件。 因为分布式系统建立在网络之上,由多个独立操作系统组成,所以分布式系统对比独立部署并运行于单一操作系统之上的软件系统来说存在要解决通信和共识等问题。 分布式系统特点 分布式系统是多个服务器通过网络互联而构建的松耦合系统,其具备以下特点: 分布式分布式由多台计算机组成,在地域上是独立分散的,可以分散在一个单位,一个城市,一个国家,或是全球范围内 整个系统的统一功能是分散在多个节点上实现的,因而分布式系统具有数据处理的分布式特性。 自治性:分布式系统各个节点包含自己独有的cpu和内存,具备独立的处理数据能力。 分布式系统中,节点之间通信不像单机系统那样非成功即失败,我们考虑到网络不确定性带来的问题,所以分布式场景下存在“分布式三态”的概念。

    6.5K11发布于 2020-02-19
领券