DataFlux 是由驻云最新重磅打造一款实时大数据分析平台,可以通过对任何来源、类型、规模的实时数据进行监控、分析和处理,释放数据价值。
为什么说是“实时”?
因为是实时的数据采集,通过自研的数据网关,实时打入 InfluxDB 时序数据库,依托于 InfluxDB 时序数据库的强大查询分析能力,实时数据分析展示。
为什么说是“统一”?
万物皆数据,数据皆可被采集。企业内,从员工考勤数据到 IT 设备数据,从客户关系数据到销售数据,从市场外部大环境数据到企业内部管理数据等,皆可汇聚,进行统一综合分析,提升数据价值。
五大硬核组件
- 数据采集器:目前支持200多种数据的采集,还在大量开发扩充中。
- 数据网关:数据的核心功能模块,采用 golang 语言开发,高效处理数据,并且有消息队列保障数据的可靠性与一致性。
- DataFlux Studio:强大的场景构建能力,丰富的图表组件,随心所欲展示数据。
- 函数开发平台:赋予用户无限扩展能力,可基于 Python 编写数据处理函数,简便易入手。与 DataFlux Studio紧密结合,进行数据预测分析,并且内置大量官方函数,也可以配合其他应用,作为其他应用的数据来源。
- 强大的实时预警能力:可配置多指标实时检测,支持多种预警行为输出途径。
如何实现快速交付
DataFlux 强大的功能背后是运行着的几十个应用服务,这些应用服务如何稳定且高效有序运行,并且能够快速部署与持续交付,原因之一是 DataFlux 完全基于云原生的微服务架构。
PS:云原生是一种理念和应用交付模式,是一套技术体系和方法论,它充分发挥和利用云计算模型的优势构建和运行可弹性扩展的应用。云原生的三大特征:微服务化、容器化、动态管理。
容器技术为基础,发挥资源最大力量
整个DataFlux 核心后面是运行着的几十个微服务,实现了使用不同开发语言开发、不同环境要求的应用服务在一个服务器上运行;搭配Kubernetes技术,动态资源编排与调度,最大化利用服务器资源。
但是如果只有 Kubernetes,我们还是无法快速的完成一套产品的交付,因为几十个应用服务需要手工创建和配置,也是一个巨大的工作量,那么如何解决这一个问题对于快速交付来说就至关重要。
自研工具,实现1+1>2
Kubernetes 可以使用 YAML语言去描述所有类型的资源,如 pvc、deployment、service、ingress、confiogmap等,再利用 kubectl (kubernetes 的命令行客户端工具)执行这些 YAML 文件的应用,去创建或修改资源。
正是利用这一点,我们开发了一个DataFlux 的安装配置工具 Launcher,在准备好硬件资源的情况下,可以做到10分钟完成整个应用的部署与配置。整个安装过程变得非常简单,根据 Launcher 的引导步骤,完成MySQL数据库、Redis、InfluxDB 等信息的输入,Launcher 根据用户输入的信息,自动完成数据库表结构的初始化有及数据的初始化,并且根据准备好的模板自动生成Kubernetes 的 YAML资源描述文件,以及 DataFlux 的服务应用配置文件,然后利用 kubectl 命令行工具执行 YAML 文件的导入。