分布式系统

解析分布式系统的缓存设计

本文由浅入深,渐进式介绍缓存技术的基本原理。通过本文,可以让读者快速了解以下知识点:缓存是什么;为什么需要缓存;缓存有哪些主流技术,各自有什么特点,适用于什么场景;应该缓存哪些数据,缓存多久;如何淘汰数据;使用缓存有哪些常见问题以及如何应对这些问题。 ... »

vivotech

都2022年了,HDFS为何还如此能战!

摘要:HDFS也许不是最好的大数据存储技术,但依然是最重要的大数据存储技术。 本文分享自华为云社区《HDFS为何在大数据领域经久不衰?》,作者: JavaEdge。 1、概述 1.1 简介 Hadoop实现的一个分布式文件系统(Hadoop Distributed File System),简称HD ... »

C++分布式系统——《开题》

在下自大二接触编程,大二、大三刻苦涉猎编程相关书籍,自那时起爱上了 C++,C++确实极有魅力,本想从此在C++领域深钻,但是扩展技术的广度在那个算是半只脚踏入编程且已经读完了 C++ 流行书籍的阶段来说好像要比深度更重要一点,因此在广度的路上就没再回头深钻过 C++,目今繁花看“遍”,C++ 依然 ... »

分布式系统中的领导选举

领导选举是分布式系统中最棘手的事情之一。同时,理解 Leader 是如何选举产生的以及leader的职责,是理解分布式系统的关键。 在分布式系统中, 通常一个服务由多个节点或实例组成服务集群, 提供可扩展性、高可用的服务。 这些节点可以同时工作, 提升服务处理、计算能力,但是,如果这些节点同时操作共 ... »

myshowtime

分布式系统的Raft算法——在失联阶段这个老Leader的任何更新都不能算commit,都回滚,接受新的Leader的新的更新 意味着还是可能丢数据!!!

  来自Stanford的新的分布式协议研究称为Raft,它是一个为真实世界应用建立的协议,主要注重协议的落地性和可理解性。   在了解Raft之前,我们先了解Consensus一致性这个概念,它是指多个服务器在状态达成一致,但是在一个分布式系统中,因为各种意 外可能,有的服务器可能会崩溃或变得不可靠,它就不能和其他服务器达成一致状态。这样就需要一种Consensus协议,一致性协议是为了确保容错 »

消息队列在分布式系统中的应用

目录 消息队列 消息队列的种类 消息队列 消息队列(Message Queue,MQ)是大型分布式系统中不可或缺的重要组成部分,主要解决了 应用解耦,异步处理,流量削峰,消息通讯 等问题,支撑实现分布式系统的高并发,高性能,高可用,可伸缩和最终一致性。目前在生产环境中使用较多的消息队列有 ActiveMQ,RabbitMQ,ZeroMQ,Kafka,MetaMQ,RocketMQ 等。 »

基于WCF大型分布式系统的架构设计

在大型系统中应用中,一个架构设计较好的应用系统,其总体功能肯定是由很多个功能模块所 组成的,而每一个功能模块所需要的数据对应到数据库中就是一个或多个表。而在架构设计中,各个功能模块相互之间的交互点越统一、越少,系统的耦合度就越 低,系统各个模块的维护性及扩展性也就越好。在一个系统中特别是较为大型的系统中,如电子商务系统,可也按照功能,切分为,订单管理系统、商品管 理系统、用户管理系统、供应商管理系 »

分布式系统下的CAP定理

本文参考EricBrewer博客加上自己的理解整理。 CAP定理又被成为布鲁尔定理,是加州大学计算机科学家埃里克·布鲁尔提出来的猜想,后来被证明成为分布式计算领域公认的定理。 CAP定义,在高并发的场景下要做取舍,在大型集群中分区容错很难保证,一旦要确保容错性,那么就会损失数据一致性和高可用特性。所 ... »

Netflix Hystrix — 应对复杂分布式系统中的延时和故障容错 转

转自 https://segmentfault.com/a/1190000005988895   前言 分布式系统中经常会出现某个基础服务不可用造成整个系统不可用的情况, 这种现象被称为服务雪崩效应. 为了应对服务雪崩, 一种常见的做法是手动服务降级. 而Hystrix的出现,给我们提供了另一种选择. 服务雪崩效应的定义 服务雪崩效应是一种因 服务提供者 的不可用导致 服务调用者 的不可用,并将 »

从Elasticsearch来看分布式系统架构设计

 mp.weixin.qq.com 点击上方“匠心零度”,选择“设为星标” 做积极的人,而不是积极废人       来源:https://dwz.cn/gPfuoLwo 分布式系统类型多,涉及面非常广,不同类型的系统有不同的特点,批量计算和实时计算就差别非常大。这篇文章中,重点会讨论下分布式数据系统的设计,比如分布式存储系统,分布式搜索系统,分布式分析系统等。 我们先来简单看下Ela »

分布式系统阅读笔记(二十二)-----时钟和时钟同步

时钟 时钟在一般意义上指的是一个计算机的物理时间,每个计算机都会包括他们自己的物理时钟,不同的计算机的物理可能会不同。 时钟漂移 经过在同个地方的计算机,他们的物理也有可能会不一样,如果他们从刚刚开始相同的时间计时开始,过了1过月,1年也可能会有快又慢,这在专业名词上讲叫做时间漂移。本质的原因是每秒的时间偏移,经过日记月累之后,就会有可能达到1秒钟的差距,解决的办法很简单,就是过一段时间之后,将时 »

分布式系统的事务处理【转】

转:http://coolshell.cn/articles/10910.html 当我们在生产线上用一台服务器来提供数据服务的时候,我会遇到如下的两个问题: 1)一台服务器的性能不足以提供足够的能力服务于所有的网络请求。 2)我们总是害怕我们的这台服务器停机,造成服务不可用或是数据丢失。 于是我们不得不对我们的服务器进行扩展,加入更多的机器来分担性能上的问题,以及来解决单点故障问题。 通常,我们 »

一文让你彻底明白分布式系统中的数据复制是怎么一回事?

楔子 本次来聊一聊分布式系统中的数据复制,数据复制意味着在通过网络连接的多台机器上保留相同数据的副本,而这么做的原因无非以下几点: 使得数据与用户在地理上接近(从而减少延迟) 即使系统的一部分出现故障,系统也能继续工作(从而提高可用性) 扩展可以接受读请求的机器数量(从而提高读取吞吐量) 这里假设你的数据集规模不大,每个节点都可以保存整个数据集的副本。如果数据集过大导致单个节点存不下,就涉及 »

[译] 基于容器的分布式系统设计模式

名称:Design patterns for container-based distributed systems 作者:Brendan Burns, David Oppenheimer, Google 发布:HotCloud'16: Proceedings of the 8th USENIX Conference on Hot Topics in Cloud Computing, June 2 »

分布式系统ID生成方案

自增ID 不错,可以限度抑制ID的大小。但需要有一个中心化的节点作为解决原子性问题。可以选用Redis,MySQL,Zookeeper。成本有点高。   UUID 分布式,而且唯一!缺点是生产的ID太长。   Twitter的SnowFlake算法 该算法可以生产分布式的自增ID。切生产的ID只有8字节,64位。其数据结构如下: 1位,不用。二进制中最高位为1的都是负数,但是我们生成的id一般 »

Pinpoint 分布式系统性能监控工具

Pinpoint是一款全链路分析工具,提供了无侵入式的调用链监控、方法执行详情查看、应用状态信息监控等功能。基于GoogleDapper论文进行的实现,与另一款开源的全链路分析工具Zipkin类似,但相比Zipkin提供了无侵入式、代码维度的监控等更多的特性。 Pinpoint支持的功能比较丰富,可以支持如下几种功能: 服务拓扑图:对整个系统中应用的调用关系进行了可视化的展示,单击某个服务节点,可 »

实践GoF的23种设计模式:SOLID原则(上)

摘要:本文以我们日常开发中经常碰到的一些技术/问题/场景作为切入点,示范如何运用设计模式来完成相关的实现。 本文分享自华为云社区《实践GoF的23种设计模式:SOLID原则(上)》,作者:元闰子。 前言 从1995年GoF提出23种设计模式到现在,25年过去了,设计模式依旧是软件领域的热门话题。设计 ... »