如何系统性地学习分布式系统?(下)

我们知道,分布式系统通过多个工作节点来应对单机系统的成本和可用性挑战,但这也带来了对内部节点协调的额外要求。在上一篇文章中,我们探讨了分布式计算中如何进行节点协…

如何系统性地学习分布式系统(上)?

在学习一门知识之前,先了解它的背景与发展脉络是一种有效的方法。也就是要明白这个知识是如何产生的、它的目的是什么、它解决了哪些具体问题以及它可能引发了哪些新的挑战…

亚马逊的实践 :分布式系统的难点

分布式系统中需要注意的问题
问题一:异构系统的不标准问题
在软件开发和运维过程中,存在许多标准化问题。例如,软件和应用缺乏统一的标准,通讯协议和数据格式各不相同…

号称史上最晦涩的算法Paxos,如何变得平易近人?

阿里妹导读:Paxos(分布式一致性算法)作为分布式系统的基石,一直都是计算机系统工程领域的热门话题。Paxos号称是最难理解的算法,其实真的这么困难么?
“X…

一步步带你了解ID发号器是什么、为什么、如何做!

一、前言

上一篇文章《面试必备:如何将一个长URL转换为一个短URL?》中谈到如何将长地址URL转换为短地址URL,其中谈到了一个比较理想的解决方案就是使用…

CAP理论与分布式系统设计

首先第一个难题,是否允许任意节点并发可写。在Google的F1,蚂蚁的OceanBase,亚马逊的Aurora中,都是指定一个写节点或者更新节点的(据说OB升级…

阿里分布式事务框架GTS开源啦!

整理:开源中国
就在9号这天,阿里分布式事务框架GTS开源了一个免费社区版Fescar,看到了这个消息内心非常的激动!在微服务系统中,分布式事务一直是痛点,也是…

老码农眼中的区块链

大家可能已经听说过比特币、莱特币、以太币等等,以及它们作为一种新货币在市场上的潜力。 有趣的是,很多投资比特币的人也提到了区块链之类的东西。 显然,这项技术是比…

为什么需要分布式配置中心?

作者 :谭明(林湾村龙猫)| 徐刘根
一、前言

对于配置文件,我们并不陌生,它提供我们可以动态修改程序运行能力。引用别人的一句话就是:

系统运行时(runt…

bug怎样算修完?浅谈团队分布式bug管理 —— git-poison简单易用的bug管理工具

在一个大型团队中,bug协同管理是一件复杂的事情,我们基于go-git开发实现了通用化的git-poison,通过分布式源码管理bug追溯、查询,可复制性高,…

整理10种分布式id生成方案

在复杂分布式系统中,如金融、支付、订单等业务数据日渐增长而必须要采用对数据分库分表操作,此时就需要有一个唯一ID来标识一条数据或消息。下面介绍几种常见的分布式i…

聊聊本地缓存的方案选型!

01、背景介绍
说到缓存,面试官基本上会绕不开以下几个话题!
项目中哪些地方用到了缓存?为什么要使用缓存?怎么使用它的?引入缓存后会带来哪些问题?
这些问题,…

什么是分布式的“三围”?

在分布式系统中,几个关键的衡量指标包括性能、资源、可用性和可扩展性。这些指标至关重要,因为性能直接影响系统的响应速度和吞吐量;资源衡量系统对计算和存储资源的有效…

共识Raft:如何保证多机房数据的一致性?

当机房 A 修改了一条数据的同时,机房 B 也对该数据进行了更新,Otter 会通过合并逻辑来处理冲突的数据行或字段,以达到合并效果。为了避免这种冲突,我们在上…

链路追踪:如何定制一个分布式链路跟踪系统 ?

分布式链路跟踪服务属于写操作频繁而读操作相对较少的服务类型,它在我们进行线上问题排查时发挥着重要的支撑作用。我曾参与过一个系统,该系统同时为多条业务线提供支持,…

系统隔离:如何应对高并发流量冲击?

在一次活动中,系统出现了大规模崩溃情况。活动开始时,约有五万学员同时进行操作,大量请求瞬间涌向服务器,使得服务端出现大量请求堆积,最终系统资源耗尽而停止响应。我…

分布式事务:多服务的2PC、TCC都是怎么实现的?

前言
目前,业界流行微服务,DDD(领域驱动设计)也随之流行起来。DDD 是一种拆分微服务的方法,它从业务流程的视角从上往下拆分领域,通过聚合根关联多个领域,将…

存储成本:如何推算日志中心的实现成本?

在技术选型时,我们往往会仔细考量各项成本,尤其关注实现成本,这种“斤斤计较”其实能带来直接的经济效益。那么,你是否有系统地思考过如何计算这些成本呢?本节课将通…

聊一聊分布式系统中的时空观构建

本文从生活中的时间观、事件的因果顺序、逻辑时钟等方面系统的介绍了分布式系统中的时空观是如何构建的。(文末有活动~)

一、生活里的时间观

时间,无疑是我…

该重视软件方法了,实现:利润 = 需求 – 设计

本文篇幅有些长,但是相比阅读各类书籍,然后理解和吸收,会大大节省很多时间,对于一些书中难以理解的部分做了改进,帮助更好的理解。可能阅读本文需要一些软件方法的基…