大数据应用从小做起?咱们聊聊微服务和大数据架构
这几年大数据微服务成为研发设计热点,从应用的角度应该如何解决微服务化的大数据系统架构?
什么叫数据微服务?
首先我们看看什么叫微服务,敏捷之父马丁·福勒(Martin Fowler)《微服务》一文中给出了如下定义:微服务体系结构风格是一种将单个应用程序开发为一组小服务的方法,每个服务都在自己的流程中运行,并与轻量级机制通信,完全自动化部署。这些服务的最低集中管理,可以用不同的编程语言编写,并使用不同的数据存储技术
概括来说, 微服务设计思想是一种使用若干小服务来开发单个应用的方法,每个服务运行在自己的进程中,通过轻量级的通讯机制进行信息交互,经常是基于HTTP投资API每个小服务粒度基于业务能力大小构建,最终服务能够通过自动化部署方式独立部署,可以是由不同的编程语言实现。从上述定义我们可以看到,去中心化、原子化、独立自治、组合重构、快速原型、持续交付部署等特性是微服务的核心要素。
大数据的微服务目标
那么大数据为什么要扯上微服务呢?首先敏捷大数据的关键目标:一是快、二是小、三是证,快速出原型,小的分析目标切入,证明有效之后再扩张形成正反馈效应。
借用下很多大牛的理念,不管做研究还是做企业,要顶天立地!大数据应用如何顶天立地,很简单:
(1)大数据项目规划的目标要高远。特别是企业的大数据系统,一定不能是传统管理信息系统系统的做法,大数据一定是个动态增量系统,数据规模在变,模型在变,参数在变,迭代、优化、持续升级交付将是常态,长期目标应该是智能化的综合管控,从生产、产品、销售、服务各个环节的一体化管控,最终形成企业决策中心,好比谷歌大脑、百度大脑、未来企业也需要决策神经中枢决策大脑。
(2)大数据具体应用要从“小”做起。小的大数据分析目标切入,搜索引擎公司刚开始的大数据分析目标可能就是提高下搜索关键词提示的准确度,售后服务智能应答、销售预测、客户细分、精准营销、智能推荐、产品故障诊断,大数据应用可以无所不在。大数据应用要从小做起,立地解决企业的实际问题。扯远了,回到大数据快、小、证的应用目标,结合微服务快速原型、快速迭代、持续交付,原子化、去中心化,组合重构高度容错性等关键特征,可以说微服务就是一种最天然的适合大数据应用的设计思想和应用架构。