2.4. 使用缓存管理器
与 Data Grid Cache Manager 交互以获取集群和用量统计。
2.4.1. 获取基本容器信息 复制链接链接已复制到粘贴板!
使用 GET 请求检索有关缓存管理器的信息。
GET /rest/v2/container
GET /rest/v2/container
Data Grid 以 JSON 格式响应信息,如下例所示:
与安全授权的缓存的信息仅适用于具有特定角色和权限的用户。
-
版本包含 Data Grid 版本 -
name包含配置中定义的缓存管理器的名称 -
如果缓存管理器是集群的协调者,则协调器为 true -
cache_configuration_names包含缓存管理器中定义的所有缓存配置的数组,这些配置可以被当前用户访问 -
CLUSTER_NAME 包含配置中定义的集群名称 -
physical_addresses包含与缓存管理器关联的物理网络地址 -
coordinator_address包含集群的协调器的物理网络地址 -
cache_manager_status是缓存管理器的生命周期状态。如需可能的值,请查看org.infinispan.lifecycle.ComponentStatus文档 -
created_cache_count创建缓存的数量,不包括所有内部和外部缓存 -
running_cache_count创建的缓存数 -
node_address包含缓存管理器的逻辑地址 -
cluster_members和cluster_members_physical_addresses是集群成员的逻辑和物理地址的数组 -
集群中的成员的
cluster_size数量 -
defined_cachesA 在缓存管理器中定义的所有缓存列表,不包括私有缓存,但包括可以访问的内部缓存 -
local_site是本地站点的名称。
如果没有配置跨站点复制,Data Grid 会返回"本地"。 -
如果节点在集群间处理 RELAY 消息,则
relay_node为 true。 -
relay_nodes_address是中继节点的逻辑地址的数组。 -
site
_view参与跨站点复制的站点列表。
如果没有配置跨站点复制,Data Grid 会返回空列表。 -
如果启用了重新平衡,则
rebalancing_enabled为 true。获取此属性可能在服务器上失败。在这种情况下,属性不会存在于有效负载中。
2.4.2. 获取集群健康状况 复制链接链接已复制到粘贴板!
使用 GET 请求检索 Data Grid 集群的健康状况信息。
GET /rest/v2/container/health
GET /rest/v2/container/health
Data Grid 以 JSON 格式响应集群健康信息,如下例所示:
cluster_health包含集群的运行状况-
CLUSTER_NAME 指定配置中定义的集群名称。 health_status提供以下之一:-
DEGRADED表示至少一个缓存处于降级模式。 -
HEALTHY_REBALANCING表示至少一个缓存处于重新平衡状态。 -
HEALTHY表示集群中的所有缓存实例都如预期运行。 -
FAILED表示缓存无法使用提供的配置启动。
-
-
number_of_nodes显示群集成员的总数。为非集群(standalone)服务器返回值 0。 -
node_names是所有群集成员的数组。对于单机服务器为空。
-
cache_health包含每个缓存的健康状况信息-
StatusHEALTHY, DEGRADED, HEALTHY_REBALANCING 或 FAILED -
cache_name是配置中定义的缓存名称。
-
2.4.3. 获取容器健康状态 复制链接链接已复制到粘贴板!
使用不需要身份验证的 GET 请求,检索 Data Grid 容器的健康状态。
GET /rest/v2/container/health/status
GET /rest/v2/container/health/status
Data Grid 以 text/plain 格式使用以下之一进行响应:
-
健康 -
HEALTHY_REBALANCING -
DEGRADED -
失败
2.4.4. 检查 REST 端点可用性 复制链接链接已复制到粘贴板!
使用 HEAD 请求验证 Data Grid 服务器 REST 端点的可用性。
HEAD /rest/v2/container/health
HEAD /rest/v2/container/health
如果您收到成功的响应代码,则 Data Grid REST 服务器正在运行并服务请求。
2.4.5. 获取全局配置 复制链接链接已复制到粘贴板!
使用 GET 请求检索 data 容器的全局配置。
GET /rest/v2/container/config
GET /rest/v2/container/config
| 标头 | 必需/可选 | 参数 |
|---|---|---|
| 可选 | 返回内容所需的格式。支持的格式有 application/json 和 application/xml。如果没有提供标头,则会假定 JSON。 |
| 参数 | 必需/可选 | 描述 |
|---|---|---|
|
| 可选 |
如果为 |
2.4.6. 获取所有缓存的配置 复制链接链接已复制到粘贴板!
使用 GET 请求检索所有缓存的配置。
GET /rest/v2/container/cache-configs
GET /rest/v2/container/cache-configs
Data Grid 响应包含每个缓存和缓存配置的 JSON 阵列,如下例所示:
| 参数 | 必需/可选 | 描述 |
|---|---|---|
|
| 可选 |
如果为 |
2.4.7. 列出可用的缓存模板 复制链接链接已复制到粘贴板!
使用 GET 请求检索所有可用的 Data Grid 缓存模板。
GET /rest/v2/cache-configs/templates
GET /rest/v2/cache-configs/templates
| 参数 | 必需/可选 | 描述 |
|---|---|---|
|
| 可选 |
如果为 |
2.4.8. 获取容器统计信息 复制链接链接已复制到粘贴板!
使用 GET 请求检索容器的统计信息。
GET /rest/v2/container/stats
GET /rest/v2/container/stats
Data Grid 以 JSON 格式响应缓存管理器统计信息,如下例所示:
-
如果为 Cache Manager 启用了统计集合,则
statistics_enabled为true。 -
read_write_ratio显示所有缓存的读/写比率。 -
time_since_start显示自缓存管理器启动以来的时间(以秒为单位)。 -
time_since_reset显示缓存管理器统计信息最后一次重置后的秒数。 -
number_of_entries显示缓存管理器中当前所有缓存中的条目总数。这个统计只返回本地缓存实例中的条目。 -
off_heap_memory_used显示此缓存容器使用的 off-heap 内存的数量(以字节为单位[])。 -
data_memory_used显示当前驱除算法估计用于所有缓存的数据的数量(以字节为单位[])。如果没有启用驱除,则返回 0。 -
misses显示所有缓存的get ()数。 -
remove_hits显示所有缓存的删除次数。 -
remove_misses显示所有缓存间丢失的删除次数。 -
驱除显示所有缓存中的驱除数量。 -
average_read_time显示所有缓存中的get ()操作的平均毫秒数。 -
average_read_time_nanos与average_read_time相同,但以纳秒为单位。 -
average_remove_time显示所有缓存中的remove ()操作的平均毫秒数。 -
average_remove_time_nanos与average_remove_time相同,但以纳秒为单位。 -
required_minimum_number_of_nodes显示必要的最少节点数量,以保证数据一致性。 -
hits提供所有缓存的get ()命中数。 -
存储提供了所有缓存中的put ()操作数量。 -
current_number_of_entries_in_memory显示当前所有缓存中的条目总数,不包括传递的条目。 -
hit_ratio为所有缓存提供总百分比的 hit/(hit+miss)比率。 -
retrieves显示get ()操作总数。
2.4.9. 重置容器统计信息 复制链接链接已复制到粘贴板!
使用 POST 请求重置统计信息。
POST /rest/v2/container/stats?action=reset
POST /rest/v2/container/stats?action=reset
2.4.10. 关闭所有容器缓存 复制链接链接已复制到粘贴板!
使用 POST 请求关闭服务器上的 Data Grid 容器。
POST /rest/v2/container?action=shutdown
POST /rest/v2/container?action=shutdown
Data Grid 使用 204 (无内容) 进行响应,然后关闭容器中的所有缓存。服务器仍然使用活跃端点和集群运行,但对容器资源的 REST 调用会导致 503 Service Unavailable 响应。
这个方法主要供 Data Grid Operator 使用。预期在调用此端点后,服务器进程将很快手动终止。调用此方法后,就无法重启容器状态。
2.4.11. 为所有缓存启用重新平衡 复制链接链接已复制到粘贴板!
打开所有缓存的自动重新平衡。
POST /rest/v2/container?action=enable-rebalancing
POST /rest/v2/container?action=enable-rebalancing
2.4.12. 禁用所有缓存的重新平衡 复制链接链接已复制到粘贴板!
关闭所有缓存的自动重新平衡。
POST /rest/v2/container?action=disable-rebalancing
POST /rest/v2/container?action=disable-rebalancing
2.4.13. 备份网格 复制链接链接已复制到粘贴板!
创建备份存档 application/zip,其中包含当前存储在 Data Grid 中的资源(缓存、缓存模板、计数器、Protobuf 模式、服务器任务等)
POST /rest/v2/container/backups/{backupName}
POST /rest/v2/container/backups/{backupName}
如果存在具有相同名称的备份,服务会使用 409 (Conflict) 响应。如果 directory 参数无效,服务会返回 400 (Bad Request)。202 响应表示接受备份请求进行处理。
(可选)将您的 JSON 有效负载包含您的请求,其中包含备份操作的参数,如下所示:
| 键 | 必需/可选 | value |
|---|---|---|
|
| 可选 | 指定在服务器上创建和存储备份存档的位置。 |
|
| 可选 | 以 JSON 格式指定要备份的资源。默认为备份所有资源。如果您指定了一个或多个资源,则 Data Grid 仅备份这些资源。如需更多信息 ,请参阅 资源参数表。 |
| 键 | 必需/可选 | value |
|---|---|---|
|
| 可选 |
指定所有缓存的缓存名称数组,或指定为 |
|
| 可选 |
指定一组缓存模板以备份所有模板,或指定为 |
|
| 可选 |
定义一组要备份的计数器名称,或所有计数器的结尾名称。 |
|
| 可选 |
定义一组 Protobuf 模式名称来备份或 |
|
| 可选 |
指定要备份或所有任务的服务器任务数组。 |
以下示例在指定目录中创建一个名为 [cache1,cache2] 的备份归档,其中包含所有计数器和缓存:
2.4.14. 列出备份 复制链接链接已复制到粘贴板!
检索正在进行、完成或失败的所有备份操作的名称。
GET /rest/v2/container/backups
GET /rest/v2/container/backups
Data Grid 使用所有备份名称阵列响应,如下例所示:
["backup1", "backup2"]
["backup1", "backup2"]
2.4.15. 检查备份可用性 复制链接链接已复制到粘贴板!
验证备份操作是否完成。
HEAD /rest/v2/container/backups/{backupName}
HEAD /rest/v2/container/backups/{backupName}
200 响应表示备份存档可用。202 响应表示备份操作正在进行中。
2.4.16. 下载备份归档 复制链接链接已复制到粘贴板!
从服务器下载备份存档。
GET /rest/v2/container/backups/{backupName}
GET /rest/v2/container/backups/{backupName}
200 响应表示备份存档可用。202 响应表示备份操作正在进行中。
2.4.17. 删除备份归档 复制链接链接已复制到粘贴板!
从服务器中删除备份存档。
DELETE /rest/v2/container/backups/{backupName}
DELETE /rest/v2/container/backups/{backupName}
204 响应表示备份存档已被删除。202 响应表示备份操作正在进行,但操作完成后会被删除。
2.4.18. 从备份归档中恢复 Data Grid 资源 复制链接链接已复制到粘贴板!
从备份存档中恢复 Data Grid 资源。提供的 {restoreName} 用于跟踪恢复进度,独立于正在恢复的备份文件的名称。
POST /rest/v2/container/restores/{restoreName}
POST /rest/v2/container/restores/{restoreName}
202 响应表示接受恢复请求进行处理。
2.4.18.1. 从 Data Grid 服务器上的备份归档中恢复 复制链接链接已复制到粘贴板!
将 application/json 内容类型与您的 POST 请求一起使用,以从服务器上可用的存档备份。
| 键 | 必需/可选 | value |
|---|---|---|
|
| 必需 | 指定要恢复的备份存档的路径。 |
|
| 可选 | 以 JSON 格式指定要恢复的资源。默认为恢复所有资源。如果您指定了一个或多个资源,则 Data Grid 只恢复这些资源。如需更多信息 ,请参阅 资源参数表。 |
| 键 | 必需/可选 | value |
|---|---|---|
|
| 可选 |
指定所有缓存的缓存名称数组,或指定为 |
|
| 可选 |
指定一组缓存模板以备份所有模板,或指定为 |
|
| 可选 |
定义一组要备份的计数器名称,或所有计数器的结尾名称。 |
|
| 可选 |
定义一组 Protobuf 模式名称来备份或 |
|
| 可选 |
指定要备份或所有任务的服务器任务数组。 |
以下示例从服务器上的备份存档恢复所有计数器:
2.4.18.2. 从本地备份归档中恢复 复制链接链接已复制到粘贴板!
将 multipart/form-data 内容类型与 POST 请求一起使用,将本地备份存档上传到服务器。
| 参数 | Content-Type | 必需/可选 | value |
|---|---|---|---|
|
|
| 必需 | 指定要恢复的备份存档的字节。 |
|
|
| 可选 | 定义请求参数的 JSON 对象。 |
请求示例
2.4.19. 列出恢复 复制链接链接已复制到粘贴板!
检索正在进行、完成或失败的所有恢复请求的名称。
GET /rest/v2/container/restores
GET /rest/v2/container/restores
Data Grid 使用所有恢复名称的数组响应,如下例所示:
["restore1", "restore2"]
["restore1", "restore2"]
2.4.20. 检查 Restore Progress 复制链接链接已复制到粘贴板!
验证恢复操作是否已完成。
HEAD /rest/v2/container/restores/{restoreName}
HEAD /rest/v2/container/restores/{restoreName}
201 (Created) 响应表示恢复操作已完成。202 (Accepted) 响应表示备份操作正在进行中。
2.4.21. 删除恢复元数据 复制链接链接已复制到粘贴板!
删除从服务器恢复请求的元数据。此操作会删除与恢复请求关联的所有元数据,但不会删除任何恢复的内容。如果删除了请求元数据,您可以使用请求名称来执行后续的恢复操作。
DELETE /rest/v2/container/restores/{restoreName}
DELETE /rest/v2/container/restores/{restoreName}
204 (非内容) 响应表示恢复元数据已被删除。202 (Accepted) 响应表示恢复操作正在进行中,并在操作完成后删除。
2.4.22. 侦听容器配置事件 复制链接链接已复制到粘贴板!
使用 Server-Sent Events 接收关于配置更改的事件。event 值将是 create-cache、delete-cache、update、-cache create-template、delete-template 或 update-template 之一。data 值将包含已创建的实体的声明配置。删除事件将仅包含已删除实体的名称。
GET /rest/v2/container/config?action=listen
GET /rest/v2/container/config?action=listen
| 标头 | 必需/可选 | 参数 |
|---|---|---|
|
| 可选 |
设置返回内容所需的格式。支持的格式有 |
| 参数 | 必需/可选 | 描述 |
|---|---|---|
|
| 可选 |
如果为 |
|
| 可选 |
如果为 |
2.4.23. 侦听容器事件 复制链接链接已复制到粘贴板!
使用 Server-Sent Events 从容器接收事件。发出的事件来自日志信息,因此每个事件都包含与消息关联的标识符。事件值将是 lifecycle- 。event 数据 具有日志信息,其中包含 消息,category,level,timestamp,owner,context, 和 scope,其中的一些信息可能为空。目前,我们只公开 LIFECYCLE 事件。
GET /rest/v2/container?action=listen
GET /rest/v2/container?action=listen
| 标头 | 必需/可选 | 参数 |
|---|---|---|
|
| 可选 |
设置返回内容所需的格式。支持的格式有 |
| 参数 | 必需/可选 | 描述 |
|---|---|---|
|
| 可选 |
如果为 |
|
| 可选 |
如果为 |
2.4.24. 使用缓存管理器的跨站点操作 复制链接链接已复制到粘贴板!
使用缓存管理器执行跨站点操作,将操作应用到所有缓存。
2.4.24.1. 获取备份位置的状态 复制链接链接已复制到粘贴板!
使用 GET 请求检索所有备份位置的状态。
GET /rest/v2/container/x-site/backups/
GET /rest/v2/container/x-site/backups/
Data Grid 以 JSON 格式的状态响应,如下例所示:
| value | 描述 |
|---|---|
|
| 本地集群中的所有节点都有一个带有备份位置的跨站点视图。 |
|
| 本地集群中没有带有备份位置的跨站点视图。 |
|
| 本地集群中的某些节点具有带有备份位置的跨站点视图,本地集群中的其他节点没有跨站点视图。响应表示每个节点的状态。 |
GET /rest/v2/container/x-site/backups/{site}
GET /rest/v2/container/x-site/backups/{site}
返回单个备份位置的状态。
2.4.24.2. 使备份位置离线 复制链接链接已复制到粘贴板!
使用 ?action=take-offline 参数使备份位置离线。
POST /rest/v2/container/x-site/backups/{siteName}?action=take-offline
POST /rest/v2/container/x-site/backups/{siteName}?action=take-offline
2.4.24.3. 在线提供备份位置 复制链接链接已复制到粘贴板!
使用 ?action=bring-online 参数在线启动备份位置。
POST /rest/v2/container/x-site/backups/{siteName}?action=bring-online
POST /rest/v2/container/x-site/backups/{siteName}?action=bring-online
2.4.24.4. 检索状态传输模式 复制链接链接已复制到粘贴板!
使用 GET 请求检查状态传输模式。
GET /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode
GET /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode
2.4.24.5. 设置状态传输模式 复制链接链接已复制到粘贴板!
使用 ?action=set 参数配置状态传输模式。
POST /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode?action=set&mode={mode}
POST /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode?action=set&mode={mode}
2.4.24.6. 启动状态传输 复制链接链接已复制到粘贴板!
使用 ?action=start-push-state 参数将所有缓存的状态推送到远程站点。
POST /rest/v2/container/x-site/backups/{siteName}?action=start-push-state
POST /rest/v2/container/x-site/backups/{siteName}?action=start-push-state
2.4.24.7. 取消状态传输 复制链接链接已复制到粘贴板!
使用 ?action=cancel-push-state 参数取消持续状态传输操作。
POST /rest/v2/container/x-site/backups/{siteName}?action=cancel-push-state
POST /rest/v2/container/x-site/backups/{siteName}?action=cancel-push-state