比较 Apigee 产品

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

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

产品 托管位置 管理者
适用于公有云的 Apigee Edge Apigee 的云 Apigee
适用于私有云的 Apigee Edge 客户的私有数据中心。 客户
Apigee X 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 X API。MART 与本地 Cassandra 数据存储区进行交互,并充当 API 提供商,以便 Apigee X API 访问和管理运行时数据实体。 管理服务器
指标 由所有服务的集群的单个 Prometheus 服务器进行管理。 配置 JMX 的每个组件

特性比较

以下各部分将 Apigee Edge 公有/私有云特性与 Apigee X 和 Apigee Hybrid 中的适用特性进行比较。

当前特性差异摘要

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

Apigee Edge 特性 Apigee X 和 Apigee Hybrid 支持此特性
API 代理修订版本

部署后不可修改

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

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

扩展程序 不支持
密钥库/信任库
  • 作为 Kubernetes Secret 进行管理的 Northbound
KVM
  • 您可以在 Apigee 界面中创建加密的环境范围 KVM。KVM 始终处于加密状态。您无法在该界面中添加、更新或查看 KVM 条目。
  • 通过 GET 命令访问 KVM 时,将 private. 特性与所有变量一起使用,以在调试 (Trace) 会话中隐藏 KVM 信息。如果未使用 private. 特性,则 KVM 仍被加密;不过,KVM 信息将在调试 (Trace) 会话中显示为解密,并且不会抛出任何异常。
  • 您可以使用 keyvaluemaps.entries APIKeyValueMapOperations 政策管理 KVM 条目。
  • 您可以针对与 KVM 相同的某些使用场景使用属性集。请参阅使用属性集
  • <MapName> 元素使 KeyValueMapOperations 政策能够在运行时确定要动态使用的 KVM。

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

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

不受支持。

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

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

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

对于 Apigee Hybrid:

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

对于 Apigee X:

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

对于两者:

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

与 Trace 的区别

下表比较了 Trace 在 Apigee X 和 Apigee Hybrid 与 Apigee Edge Cloud 中运行的差异。

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

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

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

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

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

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

会话有效性

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

删除特定事务

Apigee X 不支持的 Apigee Edge 功能

Google 不打算支持以下功能:

  • 用于搜索或撤消 OAuth 访问令牌的 API(因为令牌经过哈希处理)
  • 使用 Drupal 7 开发开发者门户
  • OAuth v1 或 OAuth OAuthv1.0a 政策
  • Trireme(于 2019 年 10 月 10 日服务终止)

API 比较

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

使用 API 的变更摘要

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

行为 Apigee X 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 和缓存详情
Cache API 操作 仅限列出删除。部署 API 代理时会自动创建短期 L1 缓存。如需了解详情,请参阅缓存内部 列出 创建 获取 更新 删除 全部清除 清除选项。

Apigee 和 Apigee Metrics API 之间的差异

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

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

不受支持的 Apigee Edge API

下表列出了不受支持的 Apigee Edge API(不含 Apigee X 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