云原生+微服务,实现「DataFlux」快速交付!

DataFlux 是由驻云最新重磅打造一款实时大数据分析平台,可以通过对任何来源、类型、规模的实时数据进行监控、分析和处理,释放数据价值。

云原生+微服务,实现「DataFlux」快速交付!

为什么说是“实时”?

因为是实时的数据采集,通过自研的数据网关,实时打入 InfluxDB 时序数据库,依托于 InfluxDB 时序数据库的强大查询分析能力,实时数据分析展示。

为什么说是“统一”?

万物皆数据,数据皆可被采集。企业内,从员工考勤数据到 IT 设备数据,从客户关系数据到销售数据,从市场外部大环境数据到企业内部管理数据等,皆可汇聚,进行统一综合分析,提升数据价值。

五大硬核组件

  • 数据采集器:目前支持200多种数据的采集,还在大量开发扩充中。
  • 数据网关:数据的核心功能模块,采用 golang 语言开发,高效处理数据,并且有消息队列保障数据的可靠性与一致性。
  • DataFlux Studio:强大的场景构建能力,丰富的图表组件,随心所欲展示数据。
    云原生+微服务,实现「DataFlux」快速交付!
  • 函数开发平台:赋予用户无限扩展能力,可基于 Python 编写数据处理函数,简便易入手。与 DataFlux Studio紧密结合,进行数据预测分析,并且内置大量官方函数,也可以配合其他应用,作为其他应用的数据来源。
  • 强大的实时预警能力:可配置多指标实时检测,支持多种预警行为输出途径。

如何实现快速交付

DataFlux 强大的功能背后是运行着的几十个应用服务,这些应用服务如何稳定且高效有序运行,并且能够快速部署与持续交付,原因之一是 DataFlux 完全基于云原生的微服务架构。

PS:云原生是一种理念和应用交付模式,是一套技术体系和方法论,它充分发挥和利用云计算模型的优势构建和运行可弹性扩展的应用。云原生的三大特征:微服务化、容器化、动态管理。

云原生+微服务,实现「DataFlux」快速交付!

容器技术为基础,发挥资源最大力量

整个DataFlux 核心后面是运行着的几十个微服务,实现了使用不同开发语言开发、不同环境要求的应用服务在一个服务器上运行;搭配Kubernetes技术,动态资源编排与调度,最大化利用服务器资源。

但是如果只有 Kubernetes,我们还是无法快速的完成一套产品的交付,因为几十个应用服务需要手工创建和配置,也是一个巨大的工作量,那么如何解决这一个问题对于快速交付来说就至关重要。

自研工具,实现1+1>2

Kubernetes 可以使用 YAML语言去描述所有类型的资源,如 pvc、deployment、service、ingress、confiogmap等,再利用 kubectl (kubernetes 的命令行客户端工具)执行这些 YAML 文件的应用,去创建或修改资源。
云原生+微服务,实现「DataFlux」快速交付!

正是利用这一点,我们开发了一个DataFlux 的安装配置工具 Launcher,在准备好硬件资源的情况下,可以做到10分钟完成整个应用的部署与配置。整个安装过程变得非常简单,根据 Launcher 的引导步骤,完成MySQL数据库、Redis、InfluxDB 等信息的输入,Launcher 根据用户输入的信息,自动完成数据库表结构的初始化有及数据的初始化,并且根据准备好的模板自动生成Kubernetes 的 YAML资源描述文件,以及 DataFlux 的服务应用配置文件,然后利用 kubectl 命令行工具执行 YAML 文件的导入。

上一篇:从互联网到物联网,网红“天使之橙”的技术哲学


下一篇:一个php写的linux下lvm自动快照实现脚本