分布式系统1| 青训营笔记

81 阅读2分钟

这是我参与「第五届青训营 」伴学笔记创作活动的第 20 天

概述

分布式(distributed)是为了解决单个物理服务器容量和性能瓶颈问题而采用的优化手段,将一个业务拆分成不同的子业务,分布在不同的机器上执行。服务之间通过远程调用协同工作,对外提供服务。

该领域需要解决的问题极多,在不同的技术层面上,又包括:分布式缓存、分布式数据库、分布式计算、分布式文件系统等,一些技术如MQ、Redis、zookeeper等都跟分布式有关。

从理念上讲,分布式的实现有两种形式:

水平扩展:当一台机器扛不住流量时,就通过添加机器的方式,将流量平分到所有服务器上,所有机器都可以提供 相同的服务;

垂直拆分:前端有多种查询需求时,一台机器扛不住,可以将不同的业务需求分发到不同的机器上,比如A机器处理余票查询的请求,B机器处理支付的请求。

分布式系统

  • Hadoop Map Reduce

    定义:一种大数据编程模型,将数据处理运用Map和Reduce的概念进行分而治之的处理;

    理念:分而治之,将大任务划分成小任务;

    应用场景:批处理(一次性处理数据);

  • Spark

    定义:一种大数据编程模型,将数据处理运用Map和Reduce的概念进行分而治之的处理;

    理念:分而治之,将大任务划分成小任务;

    应用场景:批处理(一次性处理数据);

  • Flink

    定义:分布式大数据处理框架,对流数据可以进行计算;

    理念:实时处理;

    应用场景:流处理;

云可以使用廉价的PC服务器 ,可以管理大数据量与大集群,关键技术在于能够对云内的基础设施进行动态按需分配与管理。云计算与并行计算、分布式计算的区别,以计算机用户来说,并行计算是由单个用户完成的,分布式计算是由多个用户合作完成的,云计算是没有用户参与,而是交给网络另一端的服务器完成的。