在开始介绍大数据平台通用架构之前,我们回顾下20世纪传统系统架构特点是哪些?
简单介绍下传统架构特色:1、视图与业务分开;视图层负责交互UI,业务模型层负责业务实现,逻辑控制负责程序内部功能调度;三层结构分划明显,耦合性高。这种架构沿用至今,只是目前的架构中更喜欢考虑松耦合、高内聚(偏向接口适配广的产品化组件),同时过去的传统RDMS数据库已经无法满足低时延,高并发的产品需求。那么我们同样按照MVC来剖析看看当前大数据通用架构和这个传统之间区别:
上图,大数据通用架构图:
简单介绍下大数据架构特色:大数据架构首先为了适应海量数据存储计算而设计,那么源数据使用分布式文件存储或分布式非结构化Nosql数据库进行存储保障上层计算的高效抽取数据。云计算采用分布式计算开源产品偏多(storm等),数据计算完成之后通过消息中间件或者将小批量数据进行汇总存于关系型数据库中。最后支撑上层营销、办公、决策等使用。
说来说去,我们想将传统架构和大数据架构进行总结对比说明如下:
1、传统系统架构,耦合性太高,需求变化之后需要大量二次开发。大数据架构低耦合高内聚,开发升级周期短;
2、传统系统架构无法适应海量数据存储计算。大数据架构可以满足海量并发计算;
3、传统架构集成难度大,接口适应差。大数据架构可以适配各种流式/消息队列/文本各类接口。
.................剩下来的,我更多想多说MVC架构其实还是灵魂,更多架构主要目的也只是为了优化MVC的性能和扩展。O(∩_∩)O哈哈~