随笔分类 - distributed systems
摘要:一、性能度量的指标 如何衡量系统接口的响应时间? 平均值 平均值是把统计时间段内所有请求的响应时间数据相加,再除以总请求数。平均值的敏感度差 最大值 统计时间段内所有请求响应时间最长的值,最大值过于敏感 分位值 把统计时间段内请求的响应时间从小到大排序,假如一共有100个请求,那么排在第90位的响应
阅读全文
摘要:ElasticSearch评分分析 explian 解释和一些查询理解 按照 "es ik分析器" 安装了ik分词器。创建索引: 。索引包含2个字段:content和nick,如下: 实验环境为:单台的ElasticSearch6.3.2版本。索引配置如下: 由此可知,ElasticSearch创建
阅读全文
摘要:分布式中的 transaction log 在分布式系统中,有很多台node组成一个cluster,对于client 的一个写操作请求而言,在什么样的情况下,cluster告诉client此次写操作请求是成功的呢? 首先来定义一下什么是写操作成功? 假设有一个三节点的cluster,一个primar
阅读全文
摘要:为什么要将服务或者数据部署多份? 1. 分布数据的理由 单机无法承受负载,请写请求太大,一台机处理不过来,为了可扩展性 避免单点故障,一台机挂了,整个服务就挂了。为了容错和高可用 降低服务的延迟,用户分布在各个地区,服务器部署在各个机房,将服务部署到离用户近的地方 2. 垂直扩容方案 一台机器内存不
阅读全文
摘要:一,普通的Hash方式 在介绍分布式哈希算法之前,先了解下普通的Hash是如何实现的。JDK中的java.util.HashMap类就实现了一个哈希表,它的特点有:①创建哈希表(HashMap)需要先指定大小,即默认创建一个能够存储多少个元素的哈希表,它的默认大小为16。 ②当不断地向HashMap
阅读全文
摘要:原文地址:http://www.cnblogs.com/hapjin/p/5663024.html 一,ActiveMQ高可用性的架构 ActiveMQ的高可用性架构是基于Master/Slave 模型的。ActiveMQ总共提供了四种配置方案来配置HA,其中Shared Nothing Maste
阅读全文
摘要:一,两阶段提交协议介绍 两阶段提交协议是用来保证分布式系统事务的协议。在分布式系统中,一个事务需要由多台机器协调完成,机器之间通过网络来通信,如何保证一组操作在多台机器上要么都做,要么都不做呢?(事务的ACID特性) 【比如,一个事务包括三个操作A,B,C,操作A,B,C分别 在机器1,2,3上完成
阅读全文
摘要:一,Quorum机制介绍 在分布式系统中有个CAP理论,对于P(分区容忍性)而言,是实际存在 从而无法避免的。因为,分布系统中的处理不是在本机,而是网络中的许多机器相互通信,故网络分区、网络通信故障问题无法避免。因此,只能尽量地在C 和 A 之间寻求平衡。对于数据存储而言,为了提高可用性(Avail
阅读全文
摘要:一,租约机制介绍 在分布式系统中,往往会有一个中心服务器节点。该节点负责存储、维护系统中的元数据。如果系统中的各种操作都依赖于中心服务器上的元数据,那么中心服务器很容易成为性能瓶颈及存在单点故障。而通过租约机制,可以将中心服务器的“权力”下放给其他机器,就可以减轻中心服务器的压力。当然,租约机制还有
阅读全文
摘要:1,导论 ①如何在分布式环境下定义系统中所有事件的发生顺序?②分布式环境下多个进程竞争资源时如何互斥?③什么是偏序,偏序的作用是什么,有什么不足?④什么是全序,全序的作用是什么,有什么不足?⑤为什么需要物理时钟,物理时钟如何同步?下面来进行介绍。 2,偏序的定义、发生在先(happened befo
阅读全文
摘要:1,一致性协议两阶段提交协议与Raft协议、Paxos协议①两阶段提交协议在分布式系统中,每个节点虽然可以知晓自己的操作时成功或者失败,却无法知道其他节点的操作的成功或失败。当一个事务跨越多个节点时,为了保持事务的ACID特性,需要引入一个作为协调者的组件来统一掌控所有节点(称作参与者)的操作结果并...
阅读全文