MapReduce 论文阅读 相关背景在 20 世纪初,包括本文作者在内的 Google 的很多程序员,为了处理海量的原始数据,已经实现了数以百计的、专用的计算方法。这些计算方法用来处理大量的原始数据,比如,文档抓取(类似网络爬虫的程序)、Web 请求日志等等;也为了计算处理各种类型的衍生数据,比如倒排索引、Web 文档的图结构的各种表示形势、每台主机上网络爬虫抓取的页面数量的汇总、每天被请求的最多的查询的集合等等。 要解决的 2020-10-23 论文阅读 Google 分布式计算
MaxCompute 跨域流量优化论文阅读 相关背景随着大数据技术的长足发展,大公司和云供应商在全球创建了数十个地理上分散的数据中心(分布式数据中心)。一个典型的数据中心可包含数万台计算机,这些数据中心为许多大规模的 IT 企业提供了计算和存储能力。在管理这种大规模、分布式数据中心的过程中,减少跨数据中心流量是提高整体性能的核心瓶颈之一。 要解决的问题MaxCompute 是阿里巴巴的大型数据管理和分析平台,管理着数十个分布式数据中心。每个 2020-10-13 论文阅读 分布式调度
JProfile 远程配置 前言JProfile 是 Java 常用的性能分析工具,常被用来查看内存占用,CPU 时间消耗等数据。本地配置 JProfile 较为简单,可以参考此 博客。在一些情况下,监控的 Java 服务跑在服务器上,因此不能使用本地的 JProfile 来监控。不过 JProfile 能够支持远程连接监控,只不过需要一些额外的配置。此博客的内容就是介绍如何使用 JProfile 监控远程的 Java 应用 2020-10-05 IoTDB 开发工具配置
BASE 定理介绍 前言CAP 理论表明,对于一个分布式系统而言,它是无法同时满足 Consistency(强一致性)、Availability(可用性)和 Partition tolerance(分区容忍性)这三个条件的,最多只能满足其中两个。 对于绝大多数互联网应用来说,由于网络环境是不可信的,所以分区容错性(P)必须满足。 如果只能在一致性和可用性之间做出选择的话,大部分情况下大家都会选择牺牲一部分一致性来保证 2020-10-01 分布式系统理论
Monarch 论文阅读 摘要Monarch 是谷歌的一个全球分布的内存时间序列数据库系统,它被广泛用在监控谷歌上十亿用户规模的应用程序和系统的可用性、正确性、性能、负载和其他方面。 Monarch 自 2010 年开始持续运行,收集、组织、存储、查询大量全球范围内快速增长的时间序列数据。它目前在内存中存储近 PB 的压缩时间序列数据,每秒摄入 TB 的数据,每秒处理数百万次查询。 本文介绍了系统的结构,以及在区域分布式架 2020-09-17 分布式存储 论文阅读 Google
Raft 博士论文翻译 参考我的 Github Repo。 由于作者能力有限,描述必然会有纰漏,欢迎提交 PR、创建 Issue 进一步交流。 如果看完之后有所收获,求求给个 Star 以表支持。😊 2020-03-01 分布式系统理论 共识算法
Raft 算法介绍 背景共识算法共识算法允许一组节点像一个整体一样一起工作,即使其中一些节点出现故障也能够继续工作下去,其正确性主要源于复制状态机的性质: 任何初始状态一样的状态机,如果执行的命令序列一样,则最终达到的状态也一样。如果将此特性应用在多参与者进行协商共识上,可以理解为系统中存在多个具有完全相同的状态机(参与者),这些状态机能最终保持一致的关键就是起始状态完全一致和执行命令序列完全一致。 共识算法常被 2020-02-19 分布式系统理论 共识算法
CAP 定理介绍 前言在互联网行业飞速发展的 21 世纪,分布式系统正变得越来越重要,大型互联网公司如 Google,Amazon,MicroSoft,Alibaba,Tencent 等之所以被认为技术很厉害,很大程度上是因为其后台十分强悍,而这些后台一定是由若干个大的分布式系统组成的,因此理解分布式系统的运行原理对于程序员有非常重要的意义。 CAP 定理是分布式系统方向一个比较宽泛但很重要的基本定理,也可以作为理 2020-02-15 分布式系统理论
iTerm2 快捷键介绍 前言iTerm2 是 MacOS 独有的终端工具,其有许多快捷键可以使用。为了便于开发并节约之后再次在搜索引擎上查询的时间成本,特写此博客以供自己日后查看。 快捷键介绍标签 新建标签:Command + T 关闭标签:Command + W 切换标签:Command + 数字 或 Command + 左右方向键 分屏 垂直分屏:Command + D 水平分屏:Command + Shift + 2020-02-12 开发工具配置
我的高效 Macbook 工作环境配置 前言工欲善其事,必先利其器,工具永远都是用来解决问题的,没必要为了工具而工具,一切工具都是为了能快速准确的完成工作和学习任务而服务。 我呢,在使用了 Windows,Ubuntu 和 MacOS 三种操作系统之后。结合种种体验和踩坑,最终还是觉得 MacOS 更舒适一点。每个人都有每个人的看法,每个人都有每个人的舒适点,MacOS 恰好捏住了我的舒适点。因此,我之后都将从 MacOS 上工作学习。 2020-02-10 开发工具配置