美文网首页Android深入
Google Cloud SDK 设计

Google Cloud SDK 设计

作者: 小毛1221 | 来源:发表于2019-03-14 21:34 被阅读0次
    image.png

    cloud sdk文档

    1. Google Cloud SDK是什么?

    • Cloud SDK 是一套适用于 Cloud Platform 的工具,其中包含 gcloud、gsutil 和 bq,可用于从命令行访问 Google Compute Engine、Google Cloud Storage、Google BigQuery 以及其他产品和服务。这些工具既能以交互方式使用,也可以在自动化脚本中运行。

    2. 主要功能

    2.1 管理虚拟机实例

    • 利用 gcloud,您可以方便地管理您在 Compute Engine 上的虚拟机群,包括创建、启动和管理虚拟机实例,并可使用您自己的虚拟机映像。您还可以使用 gcloud 通过 SSH 连接到您的实例。

    2.2 网络、防火墙、磁盘存储及更多

    • 您可以使用 gcloud 管理 Compute Engine 网络、防火墙、磁盘存储及更多设施,而无需使用 Cloud Platform 控制台。使用 gcloud 时,只需敲几下键盘即可轻松管理 Compute Engine 环境的配置。

    2.3 使用您偏好的语言

    • 您可以从相应的软件包管理器安装 Java、Python、NodeJS、Ruby、Go、.NET和 PHP 版的客户端库。

    2.4 运行本地服务模拟器

    • 适用于 Google Cloud Pub/Sub 和 Google Cloud Datastore 的 Cloud SDK 模拟器可用于在您的环境中模拟这些服务,以进行本地开发、测试和验证。您可以使用 gcloud 工具启动和管理服务模拟器。

    3. 系统设计

    3.1 多语言支持

    • 支持Java、Python、NodeJS、Ruby、Go、.NET和 PHP 等多种语言;

    3.2 权限系统(身份验证)

    • 想要使用Cloud SDK工具,需要首先进行授权;

    • 服务账号:服务账号是一种代表应用(而不是代表最终用户)的 Google 账号。

      • 要使用服务账号,可以通过向您的应用提供一个服务账号密钥。或者,您可以在使用 Google Cloud Functions、Google App Engine、Google Compute Engine 或 Google Kubernetes Engine 时使用可用的内置服务帐号。
      • 建议使用服务帐号来为 Cloud SDK 工具编写脚本,以便在多台机器上使用。
      • 是否可以理解为在多台机器上使用Cloud SDK编写的脚本时,如果使用用户账号可能会泄露用户账号。一个服务账号可对应多个用户。
    • 用户账号:当应用需要代表最终用户访问资源时,您可以直接向应用验证用户的身份。当应用需要访问某一用户私有资源或项目,需要使用用户账号授权。

      • 您的应用需要访问的 Google BigQuery 数据集位于应用用户所拥有的项目中。

      • 您的应用使用 Cloud Resource Manager API 等 API,此类 API 可以创建和管理特定用户所拥有的项目。应用将需要以用户身份进行身份验证,从而代表用户创建项目。

      • 在大多数常见用例中,特别是通过命令行以交互方式使用 Cloud SDK 工具时,最佳做法是使用用户账号。

    • 参考文档:https://cloud.google.com/sdk/docs/authorizing

    3.3 配置、属性系统

    • 属性是可管理 gcloud 和其他 SDK 工具的行为的设置。

    • 配置是一组指定的 SDK 属性。这些属性是控制 gcloud 命令行工具和其他 SDK 工具行为的键值对。如果有多个配置,可以选择在各个配置之间切换,或者使用特定配置运行命令。

    • 配置中存储的常见属性包括默认 Google Compute Engine 地区、详尽程度、使用情况报告、项目 ID,以及活动用户或服务账号。您可以通过配置,将这些及其他设置作为一个组进行定义并启用。

    • 使用多个配置的场景:

      • 使用多个项目:可以为每个项目创建一个单独的配置,并根据需要在它们之间切换。
      • 使用多个授权账号。
      • 执行通常具有独立性的任务:例如,可以在一个项目中使用一种配置来处理 Google App Engine 应用,并在另一个项目中使用另一种配置来管理不相关的 Compute Engine 实例。
    • 参考文档:https://cloud.google.com/sdk/docs/configurations

    3.4 组件管理系统

    3.5 交互式shell

    3.6 消息订阅系统(Cloud Pub/Sub)

    1. 发布者应用在 Cloud Pub/Sub 服务中创建一个主题,并向该主题发送消息。消息包含负载和描述负载内容的可选属性。

    2. 消息会持久保存在消息存储空间中,直到已传送并由订阅者确认。

    3. Pub/Sub 服务将某主题的消息分别转发至其所有订阅。每个订阅通过以下方式接收消息:Pub/Sub 将消息推送到订阅者的所选端点,或订阅者从服务中拉取消息。

    4. 订阅者从其订阅接收待处理消息,并向 Pub/Sub 服务确认每条消息(返回ack)。

    5. 订阅者确认消息后,该消息将从相应订阅的消息队列中移除。

    • image.png

    3.8 监控系统

    • Google需要根据某些API的使用情况进行收费,所以API的监控是必须的。
    • 可以启用或停用某些API。
    • 可以监控某些 API 的详细信息,包括流量级别、错误率甚至延迟。
    • 可以限制API使用量上限。可以通过多种方式明确限制请求(具体取决于 API),包括:每天请求数、每 100 秒请求数和每个用户每 100 秒请求数。
    • 参考文档:https://cloud.google.com/apis/docs/monitoring

    3.9 Cloud API设计指南

    4. Cloud API设计指南

    4.1 基于资源的设计

    4.2 资源名称

    4.3 标准方法

    4.4 自定义方法

    4.5 标准字段

    4.6 错误

    4.7 命名规则

    4.8 设计模式

    4.9 文档

    4.10 使用proto3

    4.11 版本控制

    4.12 兼容性

    4.13 目录结构

    4.14 文件结构

    4.15 术语表

    4.16 更新日志

    相关文章

      网友评论

        本文标题:Google Cloud SDK 设计

        本文链接:https://www.haomeiwen.com/subject/hoshmqtx.html