在架构设计中,没有万能的软件架构能解决所有问题,不同的场景、需求、限制下需要有针对性的架构模式才能满足项目需求。大数据架构设计模式中,需要从分层、分割、分布式、集群、缓存、异步、灾备、自动化几个方面考虑。

1.分层

大数据平台从逻辑上通常分为数据源层、数据预处理和存储层、数据计算分析层和数据消费层。

2.分割

分割是根据不同的业务主体,将整体业务体进行切割并细分到多个小业务,然后通过各自的集群来实现各自的业务应用。

这种方式能够实现业务功能的独立开发,对某个业务模式或功能模块的修改不会过多地影响到其他业务模块的功能实现;同时,分割的架构设计方式还能在各个模块发生故障时,不影响其他模块的功能实现,防止整体性和串联型故障。图1所示为某智慧城市项目中业务分割示例。

大数据架构设计模式主要考虑八方面问题_架构设计

图1业务分割模式

3.分布式

分布式的架构设计是大数据系统的基础,它包括控制系统、接口系统、数据系统、应用系统等不同规范的分布式。

4.集群

大数据平台的基本特性之一,是解决海量数据的存储与计算的资源压力,提升服务器整体计算能力的解决方案。

5.缓存

与硬件缓存所不同的是,大数据平台中的缓存主要是针对数据查询或数据交换的,当执行高并发查询时,增加数据缓存会对查询效率有大幅提升。

6.异步

在大数据平台中的多个功能模块交互的架构设计时,最重要的是要考虑模块之间的数据传递,传递数据的过程就有两种∶同步和异步。在大数据平台实时查询的场景下,响应效率是最为关键的,因此大数据存储架构本身的设计需要满足最小延时的功能。

7.灾备

大数据平台灾备方案通常有两种∶同城双活和本地备份,Hadoop 其架构本身就自带本地备份方案,由于大多数企业的业务量和数据量有限,使用的该方法是最经济实惠的。而同城双活方案在容灾备份业务中是最高级别的备份方案,可实现本地与异地同时对外提供业务服务,同时实现相互备份能力。

8.自动化

自动化不仅涉及大数据平台后期应用,还涉及运维、数据管理、挖掘等重要环节。自动化数据管理也应该成为其中一个重要的组成部分,它的自动化程度对于提高信息安全保障能力具有重要的意义。