Spring XD:统一平台内的数据驱动连接

发布 | Sabby Anandan | 2015 年 2 月 12 日 | ...

无论您是在家、办公室还是在旅途中,连接都是常态。 这是我们都逐渐期望并依赖的日常生活的一部分。 人与信息之间的连接都与数据的移动和分析有关:数据提供洞察力,而这些洞察力必须越来越多地为用户提供即时结果。 这种始终在线、始终可用的连接级别带来了许多挑战。 数据类型、格式和数量是动态的,产生数据的代理也是如此。

Spring XD 在一个统一的平台中解决了这些众多挑战。 无论是通过连续的数据流还是基于计划的数据移动,Spring XD 都提供端到端的数据管道功能,以您需要的方式和地点消费、处理、分析和暂存数据。

随着 1.1 GA 版本的发布,Spring XD 通过添加对项目 ReactorRxJavaSpark Streaming 的支持,来适应功能性流处理。 除了当前的 Spring Batch 和基于 Hadoop 的作业(MR/Hive/Pig)之外,我们还添加了对 SqoopSpark 批处理作业的支持。 认识到 Python 在大数据应用程序中的重要性,我们还添加了 Python 处理器和接收器模块,以与 Spring XD 流集成。 这使用户能够为用例选择合适的工具,从而能够利用本机 API 来构建复杂的数据处理管道。

与其他流处理框架不同,Spring XD 的 DSL(领域特定语言)消除了编码要求。 忘记设置项目、IDE、构建脚本或捆绑,而是使用 高级配置 DSL。 Spring XD 团队继续专注于开发人员的生产力,这为平台带来了许多对开发人员友好的附加组件和 示例。 可以通过 DSL 编排流,该流是管道中处理单元的链。 内置的 Admin UI 可用于远程监视和管理流、批处理作业和集群。

Spring XD 1.1 GA 提供了数千种数据管道组合,这些管道可以直接使用,无需编码。 与其他流处理框架不同,此功能由企业信任的 Spring Integration 项目提供支持,该项目被认为是新兴标准和市场份额领导者

Spring XD 的核心是为易于扩展支持而构建的。 1.1 GA 版本为开发和贡献自定义模块增加了一种全新的方法。 借助 Spring Boot 的模块打包插件,您现在可以选择 Maven 或 Gradle 来捆绑您的自定义模块。 通过包含自定义模块所需的依赖项,您可以通过 REST-API 部署打包的 uber-jar。 这不需要您关闭运行时,也不必担心当前正在运行的管道。 REST-API 简化了贡献,因为安装的自定义模块可以立即使用。

由于其可插拔架构,Spring XD 继续与框架集成,以简化大数据应用程序开发。 在最新版本中,您可以从 Kafka 主题(source-adapter)消费或写入 Kafka 主题(sink-adapter),也可以插入 Kafka 作为消息总线。 这允许 Spring XD 处理编排,使您能够专注于业务逻辑。

通过我们对新的 Kafka Client API 的全新看法,用户现在可以选择新的选项,例如在流级别进行分区、控制偏移量、批处理和可靠的数据重新处理。

1.1 GA 版本还与顶级 Apache 项目 Spark 集成。 通过使用开箱即用的 Spark 作为 批处理作业,或将 Spark Streaming 作为 处理器模块,您可以使用本机 Spark API 创建数据管道。 对于已经使用 Spark 的人来说,这是一种熟悉的开发体验。 同时,任何不熟悉 Spark 的人都可以立即利用数十个输入和输出适配器,使用模块化和分布式容错运行时,并完全专注于业务需求。 为了解决单点故障,Spring XD 通过重新启动 Spark Streaming 驱动程序以从故障场景中恢复来提供附加价值。

随着 Spring XD 1.1 GA 的发布,没有理由开发大数据应用程序必须耗时且复杂。 我们使用 Spring XD 的目标是消除应用程序开发与大数据之间的障碍,并缩短从数据摄取到洞察的周转时间,从而实现真正的数据驱动应用程序。 在未来的版本中,我们将继续提高开发人员的生产力,同时保留 Spring XD 的核心作为开放和可扩展的运行时。

获取 Spring 新闻简报

随时关注 Spring 新闻简报

订阅

领先一步

VMware 提供培训和认证,以加速您的进步。

了解更多

获得支持

Tanzu Spring 在一个简单的订阅中提供 OpenJDK™、Spring 和 Apache Tomcat® 的支持和二进制文件。

了解更多

即将举行的活动

查看 Spring 社区中所有即将举行的活动。

查看全部