背景:
谈到微服务化,肯定会想到容器,谈到java的微服务化,势必也想到spring cloud,但是谈到数据微服务化,可能或多或少大家不太理解。Data Microservices被提出来,是要解决现在数据时代下,需要解决如下几个痛点问题,不分先后次序:
- 数据来源错综复杂,mq、rest、jdbc、log等
- 数据的信息结构复杂多样化
- 数据量很大,想象下爬虫、电商平台、新零售等
- 容器、云平台越来越稳健
- 机器学习、深度学习
并不是说之前的没有Data Microservices,就做不了知识图谱或者数据仓库,而是Data Microservices提出来之后,能够更好的支撑起整个数据架构工作。
接下来我畅谈下我是如何基于spring cloud data flow(scdf),构建起我们公司的整个数据架构工作,我们是k8s做的弹性计算
首先:
来自于官方的图
玩过spring cloud的同学,肯定不会陌生对于上面几个组件,同样我们的开发都是基于spring boot、docker容器,编排工具是k8s。
然后:
一个完整的数据流图,必然有输入-处理-输出,
我们再来看看,它支持的有哪些
结论:
具体的代码,可以参考我的github的地址,大概支持了pmml、hdfs、jdbc,如果我们把SCDF简单点使用,就是强大无比的ETL工具,如果把SCDF功能进一步加强,至少能够替换stream流处理,加上pmml、tensflow,无比强大的工具