比较 Apigee 产品

本主题比较了 Google Cloud Apigee 和 Apigee Hybrid 与公共和私有云的 Apigee Edge。如需详细了解适用于公有云和私有云的 Apigee Edge,请参阅 Apigee Edge 文档

下表列出了本主题中比较的 Apigee API 管理产品:

产品 托管位置 管理者
适用于公有云的 Apigee Edge Apigee 的云 Apigee
适用于私有云的 Apigee Edge 客户的私有数据中心。 客户
Google Cloud Apigee Google Cloud Apigee
Apigee Hybrid Google Cloud 和客户的私有数据中心 Apigee 负责对管理层面进行管理,而客户管理运行时。

Apigee Hybrid 与适用于私有云的 Apigee Edge

下表比较了 Apigee Hybrid 与适用于私有云的 Apigee Edge:

服务 Apigee 产品或特性区域
Apigee Hybrid 适用于私有云的 Apigee Edge
Analytics(分析) 运行时层面的数据收集 Pod 使用 fluentdUDCA(通用数据收集代理)收集分析数据,并将数据发送到管理层面的 UAP(统一分析平台)。 Qpid 和 Postgres 服务器
API 代理网关 消息处理器 (MP) 负责处理传入请求。MP 作为运行时层面中的一个或多个容器化应用来实现。 消息处理器
持久性 Cassandra 可持久保留 KMS、KVM、配额和缓存等特性。 Cassandra 节点或铃声
部署 同步器可确保 API 代理配置、环境信息和其他数据在管理层面和运行时层面保持最新状态。 ZooKeeper
管理界面 Apigee 界面是托管在管理层面上的容器化应用。 Apigee Edge 界面托管在管理服务器上
负载平衡 Istio Ingress 控制器向运行时层面中的路由器/消息处理器 (RMP) 容器化应用发出请求。 路由器
API 通过管理服务器MART 访问 Apigee API。MART 与本地 Cassandra 数据存储区进行交互,并充当 API 提供商,以便 Apigee API 访问和管理运行时数据实体。 管理服务器
指标 由所有服务的集群的单个 Prometheus 服务器进行管理。 配置 JMX 的每个组件

特性比较

以下各部分将 Apigee Edge 公有/私有云特性与 Google Cloud 上的 Apigee 中的功能以及 Apigee Hybrid 中的功能进行比较。

当前特性差异摘要

下表介绍了 Google Cloud 上的 Apigee(以及 Apigee Hybrid)与适用于公有云和私有云平台的 Apigee Edge 之间的特性级差异。

Apigee Edge 特性 Google Cloud 上的 Apigee 和 Apigee Hybrid 支持此特性
API 代理修订版本

部署后不可修改

Apigee Adapter for Istio 已弃用:建议您改用 Apigee Adapter for Envoy
部署
  • 异步部署
  • 根据上次使用管理层面“签入”的运行时环境来检索部署状态
环境
  • 对环境组的支持
  • 通过 Apigee 界面和 API 自助完成
  • 更加灵活地处理拓扑
  • 一个 MP Pod 只能供一个环境使用

如需了解详情,请参阅环境和环境组简介

扩展程序 不支持
密钥库/信任库
  • 作为 Kubernetes Secret 进行管理的 Northbound
KVM
  • 在 Apigee 界面中,您可以创建环境范围的未加密或加密的 KVM 映射。您无法在该界面中添加、更新或查看 KVM 条目。
  • 您无法使用 Apigee API 添加、更新或列出 KVM 条目。
  • 要向 KVM 添加条目,您必须使用 KeyValueMapOperations 政策
  • 您可以针对与 KVM 相同的某些使用场景使用属性集。请参阅使用属性集
  • <MapName> 元素使 KeyValueMapOperations 政策能够在运行时确定要动态使用的 KVM。

如需详细了解如何在界面中创建 KVM 映射,请参阅使用键值映射。 如需了解如何选择适当的数据持久性机制,另请参阅访问配置数据

Microgateway 不支持
获利 不支持
Node.js
  • 不支持 Node.js API 代理。
  • Apigee 建议将 Node.js 应用作为单独的容器在 Kubernetes 中进行托管(同一集群或不同集群)
  • 不支持托管目标
托管目标

不受支持。

OAuth 已按最终用户 ID 和/或应用 ID 撤消了新的 RevokeOAuthv2 政策。此政策取代了 Apigee Edge API 以撤消 OAuth2 令牌。
OpenAPI 规范管理 不支持
政策
资源 无法使用组织级层资源
角色与权限
  • 通过 Google Cloud Console 的 IAM 服务进行管理
  • 系统提供了一些精选的开箱即用角色
  • 您可以创建可包括其他 GCP 权限的自定义角色

如需了解详情,请参阅用户和角色

Sense 不支持
“构建代理”向导中的 SOAP 服务 不受支持。请参阅 wsdl2apigee,该开源项目提供与 Apigee 搭配使用的 SOAP 实用程序。
跟踪/调试会话 请参阅与 Trace 的区别
虚拟主机

对于 Apigee Hybrid:

  • 该入站流量是通过 Anthos Service Mesh 实现的。
  • 密钥和证书直接部署到 Kubernetes。

对于 Apigee on Google Cloud:

  • 未在 Apigee 中管理或未由 Apigee 管理
  • 每个实例会通过自签名证书公开 HTTPS 端点。您可以通过查询组织来下载证书的 CA。
  • 在部署证书和密钥的位置使用 Istio Gateway (Envoy)

对于两者:

  • 未在 Apigee 中管理或未由 Apigee 管理

与 Trace 的区别

下表汇总了 Google Cloud 和 Apigee Edge 中的 Apigee 与 Apigee Hybrid 跟踪记录之间的差异:

特征 Apigee Edge Cloud Google Cloud 上的 Apigee 与 Apigee Hybrid
准时 实时;同步 稍微延迟;异步
会话名称/ID 接受用户的会话名称 不接受用户的会话名称
过滤条件 基本过滤条件支持,例如标头和查询参数过滤 对复杂过滤逻辑的支持,包括 AND 和 OR 逻辑运算。可访问流变量参考中提到的任何流变量。语法与条件使用的语法相同,如条件参考文档中所示。
会话超时

定义调试会话的长度以及数据的保留时长。

默认值是 20 分钟(如果是通过 API 调用启动)和 10 分钟(如果是在界面中启动)。

仅定义调试会话的长度。起点是消息处理器接收在调试模式下运行的请求的时机。

默认值是 5 分钟(如果会话是通过 API 启动)和 10 分钟(如果会话是在界面中启动)。

数据会保留 24 小时,然后由 Hybrid 自动删除。

会话有效性

会话创建请求有效的时长。如果调试会话在此时间段内未启动,则同步器可以忽略会话创建请求。请务必按照前提条件中的说明,让同步器的时钟保持同步。
跟踪请求数 每个消息处理器最多处理 20 个 默认值为每个消息处理器处理 10 个;上限为 15 个。
API Apigee Edge Cloud Google Cloud 上的 Apigee
Google Cloud 上的 Apigee 公开了 Debug Session APIDebug Session Data API,但不支持通过 Apigee API 执行以下内容:
停止调试会话

删除特定事务

将在 Google Cloud 上的 Apigee 中移除哪些 Apigee Edge 特性?

Google 打算支持 Apigee Hybrid 中的以下功能:

  • 用于执行以下操作的 API:
    • 操纵 KVM 条目
    • 搜索或撤消 OAuth 访问令牌(因为令牌已经过哈希处理)
  • 使用 Drupal 7 开发开发者门户
  • OAuth v1 或 OAuth OAuthv1.0a 政策。
  • ConcurrentRateLimit 政策速率限制政策
  • Trireme(于 2019 年 10 月 10 日服务终止)

API 比较

一般来说,大多数 Apigee Edge API 都有等效的 Apigee API 等效功能。本部分提供:

使用 API 的变更摘要

下面列出了与 Apigee Edge API 相比,所有 Apigee API 中的行为变化。

行为 Apigee API Apigee Edge API
基本网域 apigee.googleapis.com api.enterprise.apigee.com
Media 类型 application/json application/json
application/xml
身份验证 OAuth2 OAuth2、SAML、基本
键中的时间戳 String 格式

{
  "createdAt": "1234",
  "lastModifiedAt": "5678"
}
int64 格式

{
  "createdAt": 1234,
  "lastModifiedAt": 5678
}
expand=false 查询参数的结构

{
  "proxies": [
    {
      "name": "helloworld"
    },
    {
      "name": "weather"
    }
  ]
}

[
  "helloworld",
  "weather"
]
以下划线开头的查询参数 不支持 (optimal=true) 支持 (_optimal=true)
载荷中的属性:
  • created_by
  • modified_by
  • self
不支持 支持
载荷中的默认值 未包含 包含
错误处理结构

{
  "error": {
    "code": 409,
    "message": "...",
    "status": "ABORTED",
    "details": [...]
  }
}

{
  "code": "...",
  "message": "..",
  "contexts": []
}
缓存删除响应 返回:204 No Content 返回:200 OK 和缓存详情

Apigee 和 Apigee Metrics API 之间的差异

使用 API 的变更摘要列出了 Apigee API 和 Apigee Edge API 之间的一般差异。下表列出了 Metrics API 的具体差异:

特性 Apigee API Apigee Edge API
API 端点 apigee.googleapis.com api.enterprise.apigee.com
每日分析电子邮件 不支持任何 API
Async Query List API 响应中省略了 userId 属性。请参阅 Method: organizations.environments.queries.list 获取异步分析查询列表
Custom report API 已从响应中移除了 createdBylastModifiedBy 属性。请参阅 Reports API Reports API

不受支持的 Apigee Edge API

下表列出了不受支持的 Apigee API(不含 Apigee API 等效项)。

API 类别 不受支持的 Apigee Edge API
API 监控 不支持任何 API
API 代理
  • 强制取消部署 API 代理
  • 获取 npm 依赖项
  • 管理 npm 模块
审核 使用 Stackdriver Logging API
缓存的日志 不支持任何 API
公司 不支持任何 API
公司应用 不支持任何 API
公司应用系列 不支持任何 API
公司应用密钥 不支持任何 API
调试会话
  • 无法停止跟踪会话
  • 无法删除个别事务

如需了解详情,请参阅与 Trace 的区别

开发者应用 获取 API 资源的数量
开发者应用系列 不支持任何 API
扩展 不支持任何 API
密钥库:信任库 测试密钥库或信任库
LDAP 不支持任何 API
获利 不支持任何 API
OAuth V2 不支持任何 API
政策 不支持任何 API
资源文件
  • API 代理修订版本范围
  • 组织范围
Sense 不支持任何 API
用户和用户角色 使用与使用 API 管理用户、角色和权限中所述的 API 相关的 Google Identity and Access Management (IAM)
虚拟主机 不支持任何 API