《流式Data Mesh》第六章:自助式数据基础设施-灵析社区

攻城狮无远

第六章:自助式数据基础设施

第1章描述了自助式基础设施。我们说它们是使数据产品工程对领域更简单的“便捷按钮”。这些便捷按钮隐藏了流式数据网背后的困难部分。实施便捷按钮背后的困难部分是中央团队的责任。 在本章中,我们将列出流式数据网格中所需的自助服务。

我们将重点关注自助服务的名称和签名(即名称和请求/响应参数)。关于这些自助服务如何实现的讨论将保留到第7章。 自助服务是领域在使用流式数据网时看到和使用的接口(或API)。每个领域开发和部署流式数据产品所需的功能都应该有相应的自助服务。

本章描述的自助服务将是从终端执行的命令行界面(CLI)。我们之所以这样做,纯粹是为了方便。这些相同的自助服务也可以实现为RESTful服务或Web界面。在GitHub存储库中可以找到一个CLI示例。

我们定义的自助服务还旨在确保遵循所有安全要求、数据治理要求和一般最佳实践。由于领域通常不知道如何正确配置它们将使用的任何资源,这些自助服务将自动进行配置。这包括安全和数据治理的配置。

在构建自助服务时,不要询问领域需要多少经纪人(broker)。他们不会也不应该知道答案。相反,问他们:“你想要一个特小号、小号、中号、大号还是特大号的流媒体平台?”你也可以问:“你预计要发布多少个数据产品?”或者甚至是“你预计会有多少个消费领域?”这些问题应该与自助服务将构建的资源的大小和容量相对应。

为领域构建自助服务的最佳方法是遵循许多SaaS服务所做的。它们遵循一种无服务器模型,使其用户更容易理解并在其应用程序中利用。无服务器SaaS提供商的目的是不要求用户担心为其分配的“服务器”。用户可以更多地专注于他们的业务,而不是管理和调整服务器。自助服务应采用相同的模型:使流媒体数据网格成为无服务器,让领域只需专注于他们的业务。

自助服务可以分为两个主要类别:与资源相关的服务和与数据治理相关的服务。在本章中,我们将使用CLI模型来帮助您了解如何在保持无服务器方法的同时,领域如何轻松与流媒体数据网格进行交互。

在本章中,您将看到CLI命令的帮助信息(在每个命令后面使用“-h”参数表示)。显示的信息显示了其他可选或必需的子命令和参数。

流式数据网格CLI

让我们从示例6-1中的登录命令开始。领域工程师或数据产品所有者(我们将其称为领域角色)将登录流式数据网格。这将创建安全凭据和领域配置,并保存在领域角色操作系统上的隐藏文件夹中。随后的所有命令都可以方便地查找该信息。在这里,sdm.py是一个命令行界面(CLI),允许领域角色与流式数据网格进行交互。

$ ./cli/sdm.py login
You have successfully logged into the streaming data mesh. Your credentials
have been stored in ~/.streaming-data-mesh/auth.

示例6-2展示了领域角色可以使用的所有命令。每个命令旁边都有一个描述。与资源相关的命令有cluster(集群)、connect(连接)和streaming(流式传输)。与数据治理相关的命令有access(访问)、users(用户)、login(登录)和logout(登出)。version(版本)命令仅用于提供CLI的版本信息。

$ ./cli/sdm.py -h
Usage:
  streaming-data-mesh.sh [tool]

Available Commands:
  domain      Manage domain.
  cluster     Manage streaming platform.
  connect     Manage connect cluster.
  streaming   Manage stream processing platform.
  access      Manage access to resources.
  users       Manage domain users.
  login       Log into the streaming data mesh.
  logout      Log out of the streaming data mesh.
  version     Version of the CLI.

我们将介绍每个命令,但不会涵盖每个子命令。对于未涵盖的子命令,帮助页面中提供的描述就足够了。 帮助信息遵循一种模式。

示例6-3展示了这一点,以帮助您在本章更好地理解它。

/cli/sdm.py the_command  --help
Usage: sdm.py the_command [OPTIONS] COMMAND [ARGS]... 

  This is where the description of the command appears. 

Options:
  --the_option  This is the description of the option.

Commands:
  sub-command1  This is the description of sub-command1 
  sub-command2  This is the description of sub-command2
  sub-command3  This is the description of sub-command3

This is how the command is written on the command line. 


阅读量:638

点赞量:0

收藏量:0