大咖博闻荟,使用Spring Cloud Data Flow 来实现数据流处理
日期:2020-07-11 13:04:56 / 人气:
随着云原生、微服务应用等的概念的逐渐深入人心,很多企业用户都已经在使用Spring Boot和Spring Cloud等流行的开源技术框架来开发Java微服务,实现很多在线事务处理(OLTP)类的业务应用。
那么,对于数据密集型(Data Intensive)的应用,比如定期执行的批处理(Batch Processing)或持续的实时数据流处理(Stream Processing),Spring社区是否也有对应的开源项目可以方便大家日常的工作呢?
确实有这样的一个框架,那就是Spring Cloud Data Flow(SCDF),相对于大名鼎鼎的Spring Boot和Spring Cloud,在国内大家可能还不太熟悉SCDF,今天我们就给大家介绍一下。
SCDF目前(截止2020/6)的最新版为2.5,官网地址为: https://dataflow.spring.io/
SCDF中的数据微服务应用仍然是Spring Boot应用,通过Spring Cloud Stream抽象了流处理/消息机制,Spring Cloud Task抽象了批处理任务,让开发人员专注于业务逻辑的开发,而不用关心太多底层的细节。
-
关系数据库中的“热”数据需要缓存一份以提升读取性能,在数据更新后还能保持缓存数据的持续更新。
-
采用内存数据网格如GemFire处理大规模的数据更新,以避免关系数据库成为性能瓶颈,但GemFire中的数据需要及时写回关系数据库,以保证数据的持续更新。
-
当A微服务完成某个业务操作后,不是采用紧耦合的API调用B服务,而是发送消息,所有订阅这个事件消息的服务都可以收到通知,继续后续的处理,形成消息流转的路径。
-
IoT传感器不断上传最新的数据,流数据处理平台需要计算移动时间窗口内的计数或统计,发现异常模式后,发出通知告警。
-
每天凌晨1:00利用CDC (变化数据获取机制)将当天业务数据导出生成CSV文件,上传到文件服务器;下游系统在2:00从文件服务器下载文件,解析后导入到自己的数据库。
-
给数据打标签后,提供给机器学习模型以供训练。
……
-
Source: 从数据源读取解析数据,可以是文件,数据库,NoSQL数据库,消息等
-
Process: 对数据进行处理加工,如校验,去重,格式转换,数据增强/丰富化等
-
Sink: 保存处理完的数据,或发送处理完毕的事件消息,或调用第三方系统API等
-
文件: File, FTP/SFTP, log, syslog, S3, hdfs
-
数据库: JDBC/SQL, cdc-debezium, pg-copy (Greenplum)
-
NoSQL: 文档数据库MongoDB,内存数据网格GemFire,缓存Redis,KV数据库Cassandra
-
消息中间件:JMS, RabbitMQ, MQTT, Kafka, ……
-
通信协议:HTTP, TCP, WebSocket, grpc, mail
-
时间: time, trigger
-
统计:计数,过滤,分支,合并,转换
-
机器学习:TensorFlow, PMML, 图片识别
声明:
1、江苏网术科技有限公司所提供产品全部为原厂正规产品,我司不出售翻新机,二手机,等残次品;硬件保修政策及时长按设备原制造厂执行,支持三包规定。
2、价格:官网上列出的价格为含增值税专用发票价格;硬件设备产品含税13%,工程服务含税9%,技术服务含税6%。
3、服务:网站标明的价格为商品本身含税价格,不含其它设定和安装服务;如需要安装设定服务请联系销售人员另行报价。无价格的商品为按需配置的项目商品,需联络销售人员报价。
4、方案:官网所述之方案非完整方案,且并不适用于所有的应用场景,请勿盲目套用。
5、新闻:大多摘自互联网,如有侵权,请与我们联系。
6、运费:苏州,无锡,南通,常州,泰州,镇江,扬州地区免费送货上门,其它地区快递发货。
7、结算:苏州,无锡,南通,常州,泰州,镇江,扬州地区支持账期和月结的结算方式,具体可与销售人员协商。其它地区均为现金结算。
8、其它:服务申明最终解释权归网术科技所有,其它未尽事项请与我们联系。