分布式系统在互联网公司中的应用已经非常普遍,开源软件层出不穷。hadoop生态系统,从hdfs到hbase,从mapreduce到spark,从storm到spark streaming, heron, flink等等,如何在开源的汪洋中不会迷失自己?本文将从基本概念、架构并结合自己学习工作中的感悟,阐述如何学习分布式系统。由于分布式系统理论体系非常庞大,知识面非常广博,笔者能力有限,不足之处,欢迎讨论交流。
常见的分布式系统分为数据存储系统如hdfs,hbase;数据处理计算系统如storm、spark、flink;数据存储兼分析混合系统,这类系统在数据存储的基础上提供了复杂的数据搜索查询功能,如elastic search、druid。对于存储兼计算的系统,我们仍然可以分开分析,所以本文会从数据存储和计算两种系统来论述。
文章的大致结构:第一部分,分布式系统的基本概念;第二、三部分分别详细论述数据存储和数据计算系统;最后一部分总结。
概念
· 分布式系统:每个人都在提分布式系统,那么什么是分布式系统?其基本概念就是组件分布在网络计算机上,组件之间仅仅通过消息传递来通信并协调行动。
A distributed systemis one in which components located at networked computers communicate andcoordinate their actions only by passing messages. (摘自分布式系统概念和设计)
常见的分布式系统分为数据存储系统如hdfs,hbase;数据处理计算系统如storm、spark、flink;数据存储兼分析混合系统,这类系统在数据存储的基础上提供了复杂的数据搜索查询功能,如elastic search、druid。对于存储兼计算的系统,我们仍然可以分开分析,所以本文会从数据存储和计算两种系统来论述。
文章的大致结构:第一部分,分布式系统的基本概念;第二、三部分分别详细论述数据存储和数据计算系统;最后一部分总结。
概念
· 分布式系统:每个人都在提分布式系统,那么什么是分布式系统?其基本概念就是组件分布在网络计算机上,组件之间仅仅通过消息传递来通信并协调行动。
A distributed systemis one in which components located at networked computers communicate andcoordinate their actions only by passing messages. (摘自分布式系统概念和设计)