您正在查看 Apigee Edge 文档。
前往 Apigee X 文档。信息
本主题介绍了 Apigee X(有时也简称为“Apigee”)与 Apigee Edge 之间的区别。本文面向正在考虑迁移到 Apigee X 的现有 Apigee Edge 客户。
如需详细了解 Apigee X 功能,请参阅 Apigee X 功能摘要。
下表列出了本主题中比较的 Apigee API 管理产品:
产品 | 托管位置 | 管理者 |
---|---|---|
适用于公有云的 Apigee Edge | Apigee 的云 | Apigee |
适用于私有云的 Apigee Edge | 客户的私有数据中心。 | 客户 |
Apigee X | Google Cloud | Apigee |
Apigee Hybrid | Google Cloud 和客户的私有数据中心 | Apigee 负责对管理层面进行管理,而客户管理运行时。 |
Apigee Edge 与 Apigee X 功能比较
以下部分比较了 Apigee Edge 公有/私有云功能与 Apigee X 和 Hybrid 的可用性。
请注意,Apigee X 限制也不同于 Apigee Edge 限制。
当前特性差异摘要
下表介绍了适用于公有云和私有云平台的 Apigee X(和混合云)与 Apigee Edge 在功能层面上的差异。
Apigee Edge 特性 | Apigee X 和 Hybrid 支持 |
---|---|
API 代理修订版本 |
部署后不可修改 |
有效的健康检查 | 外部 MIG(使用虚拟机)支持此功能。使用 Private Service Connect 时不受支持。如需了解路由类型,请参阅配置路由。 |
Apigee Adapter for Istio | 已弃用:建议您改用 Apigee Adapter for Envoy。 |
公司 和 开发者 |
有一个类似但不完全相同的解决方案。请参阅使用 AppGroup 整理应用所有权。 |
CwC(带配置的代码) |
已计划 |
部署 |
|
环境 |
如需了解详情,请参阅环境和环境组简介。 |
托管目标 |
请使用 Cloud Run 或 Cloud Functions |
HTTP/1.1 标头字段名称处理 | 将 HTTP/1.1 标头字段名称转换为小写形式,以便转发到后端。在 Apigee Edge 中,标头字段名称的大小写会保留。 |
用于精细的基于角色的访问权限控制的 IAM 角色 |
已计划 |
使用 [@.length-x] 的 JSONPath |
Apigee X 不支持在 JSONPath 表达式中使用 就此示例而言: { "books": [ { "name": "A", }, { "name": "B", } ] } 输入: |
密钥库/信任库 |
作为 Kubernetes Secret 进行管理的 Northbound |
KVM |
|
Microgateway | 我们建议改用 Apigee Adapter for Envoy。 |
获利 | 请参阅 与创收的区别 |
Node.js |
|
北向 mTLS | 通过 Google Cloud 负载平衡器支持。请参阅使用外部应用负载平衡器的 Apigee X 北向双向 TLS。 |
OAuth | 已按最终用户 ID 和/或应用 ID 撤消了新的 RevokeOAuthv2 政策。此政策取代了 Apigee Edge API 以撤消 OAuth2 令牌。 |
政策 |
|
reasonPhrase | 不受支持。 |
资源 | 无法使用组织级层资源 |
角色与权限 |
如需了解详情,请参阅用户和角色。 |
Sense | 使用 Advanced API Security。 |
“构建代理”向导中的 SOAP 服务 | 不支持。请参阅 wsdl2apigee,该开源项目提供与 Apigee 搭配使用的 SOAP 实用程序。 |
跟踪/调试会话 | 请参阅与 Trace 的区别。 |
虚拟主机 | 对于 Apigee Hybrid:
对于 Apigee X:
|
与 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 API 和 Debug Session Data API,但不支持通过 Apigee X API 执行以下操作: | ||
停止调试会话 | ||
删除特定事务 |
创收方面的差异
下表比较了 Apigee Edge Monetization 与 Apigee X Monetization 的关键功能。
Apigee Edge Monetization | Apigee X/Hybrid Monetization |
---|---|
费率方案与可附加到多个 API 产品的 API 产品套装关联 | 费率方案与 API 产品相关联(一对一关系) |
应用开发者购买费率方案 | 应用开发者购买 API 产品 |
配额在 API 代理级别管理 | 配额在 API 产品级别(业务级别)管理 |
已发布费率方案只能过期;您无法修改或删除它们 | 已发布费率方案可以过期、修改、移至草稿或删除 |
复杂的配置(无向导或预览工具) | 使用向导和预览工具简化了费率方案的配置 |
如果应用开发者尚未购买订阅,那么在处理首次 API 调用后,MonetizationLimitsCheck 政策会阻止访问 |
如果应用开发者尚未购买订阅或超出配额,MonetizationLimitsCheck 政策会立即阻止访问 |
可以使用事务记录政策中的自定义变量来捕获事务的获利数据。 | Apigee 会自动捕获创收数据,并且可以使用 DataCapture 政策替换事务的创收数据。有关信息,请参阅捕获创收数据。 |
可以为开发者和费率方案配置预付费和后付费账号。 | 只能为开发者配置预付费和后付费账号。 |
Apigee X 不支持哪些 Apigee Edge 功能?
Google 不打算支持以下功能:
- Apigee Edge 扩展程序
- OpenAPI 规范存储区
- 用于搜索或撤消 OAuth 访问令牌的 API(因为令牌经过哈希处理)
- OAuth v1 或 OAuth OAuthv1.0a 政策
- Trireme(于 2019 年 10 月 10 日服务终止)
- Apigee X 不支持前缀为“X-Apigee-”的标头,这些标头在发送到目标和客户端之前会从请求和响应中剥离。
API 比较
一般来说,大多数 Apigee Edge API 都有等效的 Apigee API 等效功能。本部分提供:
- 与 Apigee X API 相比,所有 Apigee Edge API 的行为变化摘要
- Apigee Edge 和 Apigee X Metrics API 之间的差异
- 不受支持的 Edge API(亦即不含 Apigee X API 等效项)列表。
使用 API 的变更摘要
下面列出了与 Apigee Edge API 相比,所有 Apigee X API 中的行为变化。
行为 | Apigee Edge API | Apigee X API |
---|---|---|
基本网域 | api.enterprise.apigee.com |
apigee.googleapis.com |
Media 类型 | application/json application/xml |
application/json |
身份验证 | OAuth2、SAML、基本 | OAuth2 |
键中的时间戳 | int64 格式
|
String 格式
|
expand=false 查询参数的结构 |
[ "helloworld", "weather" ] |
{ "proxies": [ { "name": "helloworld" }, { "name": "weather" } ] } |
以下划线开头的查询参数 | 支持 (_optimal=true ) |
不支持 (optimal=true ) |
载荷中的属性:
|
支持 | 不支持 |
载荷中的默认值 | 已包含 | 未包含 |
错误处理结构 | { "code": "...", "message": "..", "contexts": [] } |
{ "error": { "code": 409, "message": "...", "status": "ABORTED", "details": [...] } } |
缓存删除响应 | 返回:200 OK 和缓存详情 |
返回:204 No Content |
Cache API 操作 | 列出、 创建、 获取、 更新、 删除、 全部清除和 清除选项。 | 仅限列出和删除。部署 API 代理时会自动创建短期 L1 缓存。如需了解详情,请参阅缓存内部。 |
Apigee Edge 与 Apigee X 指标 API 之间的区别
使用 API 的更改摘要列出了 Apigee Edge API 与 Apigee X API 之间的一般区别。下表列出了 Metrics API 的具体差异:
功能 | Apigee Edge API | Apigee X API |
---|---|---|
API 端点 | api.enterprise.apigee.com
|
apigee.googleapis.com
|
每日分析电子邮件 | 不支持任何 API | |
Async Query List API | 获取异步分析查询列表 | 响应中省略了 userId 属性。请参阅“方法:organizations.environments.queries.list”。 |
Custom report API | Reports API | 已从响应中移除了 createdBy 和 lastModifiedBy 属性。请参阅 Reports API。 |
不受支持的 Apigee Edge API
下表列出了不受支持的 Apigee Edge API(不含 Apigee X API 等效项)。
API 类别 | 不受支持的 Apigee Edge API |
---|---|
API 监控 | 不支持任何 API |
API 代理 |
|
审核 | 使用 Stackdriver Logging API |
缓存的日志 | 不支持任何 API |
公司 | 不支持任何 API |
公司应用 | 不支持任何 API |
公司应用系列 | 不支持任何 API |
公司应用密钥 | 不支持任何 API |
调试会话 |
如需了解详情,请参阅与 Trace 的区别。 |
开发者应用 | 获取 API 资源的数量 |
开发者应用系列 | 不支持任何 API |
扩展程序 | 不支持任何 API |
密钥库:信任库 | 测试密钥库或信任库 |
LDAP | 不支持任何 API |
获利 | 不支持任何 API |
OAuth V2 | 不支持任何 API |
政策 | 不支持任何 API |
资源文件 |
|
Sense | 不支持任何 API |
用户和用户角色 | 使用与使用 API 管理用户、角色和权限中所述的 API 相关的 Google Identity and Access Management (IAM) |
虚拟主机 | 不支持任何 API |
适用于私有云的 Apigee Edge 与 Apigee Hybrid
下表比较了适用于私有云的 Apigee Edge 与 Apigee Hybrid:
服务 | Apigee 产品或特性区域 | ||
---|---|---|---|
适用于私有云的 Apigee Edge | Apigee Hybrid | ||
Analytics | Qpid 和 Postgres 服务器 | 运行时层面的数据收集 Pod 使用 fluentd 和 UDCA(通用数据收集代理)收集分析数据,并将数据发送到管理层面的 UAP(统一分析平台)。 | |
API 代理网关 | 消息处理器 | 消息处理器 (MP) 负责处理传入请求。MP 作为运行时层面中的一个或多个容器化应用来实现。 | |
持久性 | Cassandra 节点或铃声 | Cassandra 可持久保留 KMS、KVM、配额和缓存等特性。 | |
部署 | ZooKeeper | 同步器可确保 API 代理配置、环境信息和其他数据在管理层面和运行时层面保持最新状态。 | |
管理界面 | Apigee Edge 界面托管在管理服务器上 | Apigee 界面托管在管理层面上。 | |
负载均衡 | 路由器 | Istio Ingress 控制器向运行时层面中的消息处理器 (MP) 容器化应用发出请求。 | |
API | 管理服务器 | 通过管理服务器和 MART 访问 Apigee X API。MART 与本地 Cassandra 数据存储区进行交互,并充当 API 提供商,以便 Apigee X API 访问和管理运行时数据实体。 | |
指标 | 配置 JMX 的每个组件 | 由所有服务的集群的单个 Prometheus 服务器进行管理。 |