软件架构设计原则和大数据平台架构层

1、软件架构设计的六大原则:

1)“开-闭”原则(OCP)

    Software entities should be open forextension, but closed for modification.

    对扩展开放,对修改封闭。

2)里氏代换原则(LSP)

凡是基类适用的地方,子类一定适用。

3)依赖倒转原则(DIP)

    要依赖抽象,不要依赖具体。

4)迪米特法则(LoD)

    一个对象应该对其他对象有尽可能少的了解。

5)接口隔离原则(ISP)

    使用多个专门的接口比适用单一的接口要好。

6)合成/聚合复用原则(CARP)

要尽量使用合成/聚合,尽量不要使用继承。

2、大数据平台典型的架构层:

软件架构设计原则和大数据平台架构层_第1张图片

根据数据的流向自底向上划分五层,跟传统的数据仓库其实很类似,数据类的系统,概念上还是相通的,分别为数据采集层、数据处理层、数据分析层、数据访问层及应用层。同时,大数据平台架构跟传统数据仓库有一个不同,就是同一层次,为了满足不同的场景,会采用更多的技术组件,体现百花齐放的特点,这是一个难点。

1) 数据采集层:既包括传统的ETL离线采集、也有实时采集、互联网爬虫解析等等。

2) 数据处理层:根据数据处理场景要求不同,可以划分为HADOOP、MPP、流处理等等。

3) 数据分析层:主要包含了分析引擎,比如数据挖掘、机器学习、深度学习等。

4) 数据访问层:主要是实现读写分离,将偏向应用的查询等能力与计算能力剥离,包括实时查询、多维查询、常规查询等应用场景。

5) 数据应用层:根据企业的特点不同划分不同类别的应用,比如针对运营商,对内有精准营销、客服投诉、基站分析等,对外有基于位置的客流、基于标签的广告应用等等。

6) 数据管理层:这是一纵,主要是实现数据的管理和运维,它横跨多层,实现统一管理。


你可能感兴趣的:(Big,data,Hadoop专栏)