产品介绍
数据服务平台(以下简称 Data Service)是智领云自主研发的一款统一的数据服务 API 管理应用,旨在实现对数据访问的统一控制,包括身份验证、安全授权和安全审计及应用数据发布,以最短路径、最大限度的发挥数据效能,实现数据能力的共享和复用。
数据服务化是指数据在不同系统之间通过服务方式交互,服务通常以 API 接口形式存在。数据服务化将数据系统化繁为简,实现数据标准化输出、共享与复用, 直接解决数据接入方式多样、接入效率低下、数据和接口无法共享、底层数据变更导致影响数据应用等问题。
产品架构
云原生数据服务平台采用异构微服务架构,提供根据用户自定义配置,⾃动生成数据对外接口服务功能,实现数据接口自动发布。系统支持用户基于数据源为MySQL、Redis、ElasticSearch、Clickhouse 和达梦数据库的 API 创建,解决系统由于对接的中间存储不同,涉及的访问 API 各异导致的数据接入效率低下的问题,同时数据服务为数据开发屏蔽了形式各异的中间存储,应用开发使用统一的 API 接口访问数据,避免了烟囱式开发模式,实现数据开发和数据应用解耦,从而提高数据应用的开发效率。
云原生数据服务平台通过简单的界面配置,对大数据平台内的数据以 Restful 接口形式统一对外提供查询服务,使接口不再归属于某个数据应用,使接口可以在不同的数据应用之间共享。并利用 KONG 网关实现针对用户和 API 两个维度的访问控制,用户可通过界面操作对访问权限和访问流量进行精细控制, 使接口背后的数据共享成为可能,解决了不同应用共享数据相互影响的问题。
架构设计原理
- 系统采用微服务架构形式,不同的数据库类型对应不同的数据查询引擎微服务;
- MySQL 查询引擎使用 hikar 数据库连接池,每个数据源对应一个数据库连接池;
- Redis 查询引擎使用 Pipline 方式提交查询任务,使用 scan 方法扫描 key 的范围;
- 采用 ElacticSearch 存储结构化数据,提供超大规模数据对外实时服务功能;
- 【Todo-待补充 CK 和 达梦的设计原理】
Data Service 主要组件包含 KONG 网关,管理配置接口的 master 节点, 查询 MySQL 数据的 slave-mysql 节点,查询 Redis 数据的 slave-redis 节点,查询 ES 数据的 slave-es 节点组成。master 和各个 slave 直接使用 KONG 来做统一调度管理,并且 KONG 网关支持各组数据源的纵向扩展负载。系统支持 slave 节点横向的无障碍扩展和添加数据源查询引擎时的无故障升级。
特点优势
1.API信息快速浏览
系统的数据服务大厅和监控面板界面,支持直观查看所有 API 的详细信息,实现 API 的浏览、筛选(已发布、其他状态 API)、搜索及排序(当前页面内容),并可在界面直观查看所有 API 的详细信息并可自定义监控面板的展示内容,用户可在当前展示界面,通过时间范围、刷新间隔、API 名称、用户名称及 IP 等组合条件进行 API 筛选,快速定位 API 详情信息。
2.多数据源支持
如系统内没有所需要的数据源,用户可对数据源进行添加,系统当前版本支持添加数据源类型包括:MySQL、Redis、ElasticSearch、Clickhouse、达梦。系统的开放式架构可支持本系统根据用户实际生产需要灵活配置新的数据源连接。对于已建立连接的数据源,可直接复用。添加的数据源会构建相应的连接池
3.多类型API服务支持
系统支持用户进行 API 创建,API 查看,编辑,测试,发布等操作。用户可对相关API 的列表进行多选/全选,从而进行批量添加标签操作,添加成功后会显示在列表。支持通过标签对数据服务进行管理,按标签更新时间先后进行排序。用户可对标签进行单个/批量删除,删除标签后,系统会自动解除标签和 API 的关联关系。
- 数据集配置
【数据集配置 - MySQL】
系统支持用户通过界面简单配置,创建基于 MySQL为数据源的 API,并提供对MySQL数据集的异步查询功能。
【数据集配置 - Redis】
系统支持用户通过界面简单配置,创建基于 Redis 为数据源的 API。
【数据集配置 - ElasticSearch】
系统支持用户通过界面简单配置,创建基于 ElasticSearch 为数据源的 API,从而满足用户对超大规模数据实时查询的需求,并提供超大规模数据对外实时服务功能。并支持发布开启 kerberos 的 ElasticSearch API。
【数据集配置 - Clickhouse】
系统支持用户通过界面简单配置,创建基于 Clickhouse 为数据源的 API。
【数据集配置 - Dameng】
系统支持用户通过界面简单配置,创建基于 Dameng 为数据源的 API。
4. 数据服务分类管理
系统的分组功即对 API 的归属进行分类,是用户创建 API 时的必要环节。用户创建的API 分组,以界面化操作的形式,极大简化 API 的分类管理。
5. 日志审计
以界面化操作形式,查看用户-API 操作的日志审计信息,并通过界面筛选项,如: 用户名、请求服务名称、客户端 UA、请求用户 IP、用户配置路径、请求返回状态、请求、数据长度、请求起始时间、请求结束时间、KONG 请求时延起始、KONG 请求时延结束等筛选条件对创建的 API 进行筛选,精确定位查看 API 的详细审计信息。
6. 用户管理
系统的用户信息统一从云原生Kubernetes大数据应用开发平台接入,对用户基本信息进行同步更新。同时,对指定用户进行流量控制,即设置该用户访问所有 API 服务的流量控制。