2.4. 使用缓存管理器
与 Data Grid Cache Manager 交互以获取集群和用量统计。
2.4.1. 获取基本缓存管理器信息 复制链接链接已复制到粘贴板!
使用 GET
请求检索有关缓存管理器的信息。
GET /rest/v2/cache-managers/{cacheManagerName}
GET /rest/v2/cache-managers/{cacheManagerName}
Data Grid 使用 JSON 格式的信息做出响应,如下例所示:
-
版本
包含 Data Grid 版本 -
name
包含配置中定义的缓存管理器名称 -
如果缓存管理器是集群的
协调器
,则协调器为 true -
cache_configuration_names
包含缓存管理器中定义的所有缓存配置的数组 -
cluster_NAME 包含配置中定义的集群名称
-
physical_addresses
包含与缓存管理器关联的物理网络地址 -
coordinator_address
包含集群的协调器的物理网络地址 -
cache_manager_status
缓存管理器的生命周期状态。对于可能的值,请检查org.infinispan.lifecycle.ComponentStatus
文档 -
created 缓存的
created_cache_count
数量,排除所有内部和外部缓存 -
running_cache_count
所创建的缓存数量 -
node_address
包含缓存管理器的逻辑地址 -
cluster_members
和cluster_members_physical_addresses
是集群成员成员的逻辑和物理地址的数组 -
cluster_size
集群中的成员数 -
defined_caches
在缓存管理器中定义的所有缓存列表,不包括私有缓存,但包括可访问的内部缓存 -
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/cache-managers/{cacheManagerName}/health
GET /rest/v2/cache-managers/{cacheManagerName}/health
Data Grid 使用 JSON 格式的集群健康信息响应,如下例所示:
cluster_health
包含集群的健康状况-
cluster_
NAME 指定配置中定义的集群名称。 health_status
提供以下之一:-
DEGRADED
表示至少一个缓存处于 degraded 模式。 -
HEALTHY_REBALANCING
表示至少一个缓存处于重新平衡状态。 -
HEALTHY
表示集群中的所有缓存实例都如预期运行。 -
FAILED
表示缓存无法通过提供的配置启动。
-
-
number_of_nodes
显示群集成员的总数。为非集群(standalone)服务器返回值 0。 -
node_names
是所有群集成员的数组。对于单机服务器,为空。
-
cache_health
contains health information per-cache-
Status
HEALTHY, DEGRADED, HEALTHY_REBALANCING 或 FAILED -
cache_name
配置中定义的缓存名称。
-
2.4.3. 获取缓存管理器健康状况 复制链接链接已复制到粘贴板!
使用不需要身份验证的 GET
请求检索缓存管理器的健康状况。
GET /rest/v2/cache-managers/{cacheManagerName}/health/status
GET /rest/v2/cache-managers/{cacheManagerName}/health/status
Data Grid 使用 文本/plain
格式以下之一进行响应:
-
HEALTHY
-
HEALTHY_REBALANCING
-
DEGRADED
-
失败
2.4.4. 检查 REST 端点可用性 复制链接链接已复制到粘贴板!
通过 HEAD
请求验证 Data Grid server REST 端点的可用性。
HEAD /rest/v2/cache-managers/{cacheManagerName}/health
HEAD /rest/v2/cache-managers/{cacheManagerName}/health
如果您收到成功的响应代码,则 Data Grid REST 服务器正在运行并服务请求。
2.4.5. 获取缓存管理器的全局配置 复制链接链接已复制到粘贴板!
使用 GET
请求检索缓存管理器的全局配置。
GET /rest/v2/cache-managers/{cacheManagerName}/config
GET /rest/v2/cache-managers/{cacheManagerName}/config
标头 | 必需/可选 | 参数 |
---|---|---|
OPTIONAL | 返回内容所需的格式。支持的格式为 application/json 和 application/xml。如果未提供标头,则会假定 JSON。 |
2.4.6. 获取所有缓存的配置 复制链接链接已复制到粘贴板!
使用 GET
请求检索所有缓存的配置。
GET /rest/v2/cache-managers/{cacheManagerName}/cache-configs
GET /rest/v2/cache-managers/{cacheManagerName}/cache-configs
Data Grid 使用包含每个缓存和缓存配置的 JSON
阵列响应,如下例所示:
2.4.7. 列出可用的缓存模板 复制链接链接已复制到粘贴板!
使用 GET
请求检索所有可用的 Data Grid 缓存模板。
GET /rest/v2/cache-managers/{cacheManagerName}/cache-configs/templates
GET /rest/v2/cache-managers/{cacheManagerName}/cache-configs/templates
2.4.8. 获取缓存状态和信息 复制链接链接已复制到粘贴板!
检索缓存管理器的所有可用缓存列表,以及缓存状态和详细信息,以及 GET
请求。
GET /rest/v2/cache-managers/{cacheManagerName}/caches
GET /rest/v2/cache-managers/{cacheManagerName}/caches
Data Grid 使用列出并描述每个可用缓存的 JSON 阵列响应,如下例所示:
2.4.9. 获取缓存管理器统计信息 复制链接链接已复制到粘贴板!
使用 GET
请求检索缓存管理器的统计信息。
GET /rest/v2/cache-managers/{cacheManagerName}/stats
GET /rest/v2/cache-managers/{cacheManagerName}/stats
Data Grid 以 JSON 格式响应 Cache Manager 统计信息,如下例所示:
-
如果为缓存管理器启用了统计集合,则
statistics_enabled
为true
。 -
read_write_ratio
显示所有缓存之间的读/写比率。 -
time_since_start
显示缓存管理器启动以来的时间(以秒为单位)。 -
time_since_reset
显示上次重置缓存管理器统计信息的秒数。 -
number_of_entries
显示当前缓存中所有缓存中的条目总数。此统计仅返回本地缓存实例中的条目。 -
total_number_of_entries
显示在缓存管理器的所有缓存中执行的存储操作数量。 -
off_heap_memory_used
显示此缓存容器使用的不堆内存的数量(以字节为单位
)。 -
data_memory_used
显示当前驱除算法估计用于所有缓存的数据的数量(以字节为单位
)。如果没有启用驱除,则返回 0。 -
未命中
显示所有缓存的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)比率。 -
检索
显示get ()
操作总数。
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/cache-managers/{cacheManagerName}?action=enable-rebalancing
POST /rest/v2/cache-managers/{cacheManagerName}?action=enable-rebalancing
2.4.12. 为所有缓存禁用重新平衡 复制链接链接已复制到粘贴板!
为所有缓存关闭自动重新平衡。
POST /rest/v2/cache-managers/{cacheManagerName}?action=disable-rebalancing
POST /rest/v2/cache-managers/{cacheManagerName}?action=disable-rebalancing
2.4.13. 备份 Data Grid Cache Manager 复制链接链接已复制到粘贴板!
创建备份存档 application/zip
,其中包含当前存储在缓存管理器中的资源(缓存、缓存模板、计数器、Protobuf 模式、服务器任务等)。
POST /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
POST /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
如果存在具有相同名称的备份,服务会使用 409 (Conflict)
响应。如果 directory
参数无效,服务会返回 400 (Bad Request)
。202
响应表示接受备份请求进行处理。
(可选)包括带有您包含备份操作的参数的 JSON 有效负载,如下所示:
键 | 必需/可选 | 值 |
---|---|---|
| OPTIONAL | 指定要创建并存储备份存档的服务器上的位置。 |
| OPTIONAL | 以 JSON 格式指定要备份的资源。默认为备份所有资源。如果您指定了一个或多个资源,则 Data Grid 只备份这些资源。如需更多信息,请参阅 资源参数 表。 |
键 | 必需/可选 | 值 |
---|---|---|
| OPTIONAL |
为所有缓存指定要备份的缓存名称的数组。 |
| OPTIONAL |
为所有模板指定要备份的缓存模板数组,或指定为 |
| OPTIONAL |
为所有计数器定义一系列计数器名称来备份或 |
| OPTIONAL |
定义用于备份的 Protobuf 模式名称的数组,或为所有模式定义 |
| OPTIONAL |
指定一组服务器任务来备份,或为所有任务指定 |
以下示例在指定目录中创建一个名为 [cache1,cache2]
的所有计数器和缓存的备份存档:
2.4.14. 列出备份 复制链接链接已复制到粘贴板!
检索正在进行、完成或失败的所有备份操作的名称。
GET /rest/v2/cache-managers/{cacheManagerName}/backups
GET /rest/v2/cache-managers/{cacheManagerName}/backups
Data Grid 使用所有备份名称的数组响应,如下例所示:
["backup1", "backup2"]
["backup1", "backup2"]
2.4.15. 检查备份可用性 复制链接链接已复制到粘贴板!
验证备份操作是否已完成。
HEAD /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
HEAD /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
200
响应表示备份存档可用。202
响应表示备份操作正在进行。
2.4.16. 下载备份归档 复制链接链接已复制到粘贴板!
从服务器下载备份存档。
GET /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
GET /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
200
响应表示备份存档可用。202
响应表示备份操作正在进行。
2.4.17. 删除备份归档 复制链接链接已复制到粘贴板!
从服务器中删除备份存档。
DELETE /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
DELETE /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
204
响应表示删除了备份存档。202
响应表示备份操作正在进行中,但在操作完成后会被删除。
2.4.18. 从备份归档中恢复 Data Grid 资源 复制链接链接已复制到粘贴板!
从备份存档恢复 Data Grid 资源。提供的 {restoreName}
用于跟踪恢复进度,独立于正在恢复的备份文件的名称。
只有在备份存档中的容器名称与 {cacheManagerName}
匹配时才可以恢复资源。
POST /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
POST /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
202
响应表示接受恢复请求进行处理。
2.4.18.1. 在 Data Grid Server 上从备份归档中恢复 复制链接链接已复制到粘贴板!
将 application/json
内容类型与您的 POST 请求一起使用,以从服务器上可用的存档备份。
键 | 必需/可选 | 值 |
---|---|---|
| 必需 | 指定要恢复的备份存档的路径。 |
| OPTIONAL | 以 JSON 格式指定要恢复的资源。默认为恢复所有资源。如果您指定了一个或多个资源,则 Data Grid 只恢复这些资源。如需更多信息,请参阅 资源参数 表。 |
键 | 必需/可选 | 值 |
---|---|---|
| OPTIONAL |
为所有缓存指定要备份的缓存名称的数组。 |
| OPTIONAL |
为所有模板指定要备份的缓存模板数组,或指定为 |
| OPTIONAL |
为所有计数器定义一系列计数器名称来备份或 |
| OPTIONAL |
定义用于备份的 Protobuf 模式名称的数组,或为所有模式定义 |
| OPTIONAL |
指定一组服务器任务来备份,或为所有任务指定 |
以下示例从服务器上的备份归档中恢复所有计数器:
2.4.18.2. 从本地备份归档中恢复 复制链接链接已复制到粘贴板!
将 multipart/form-data
内容类型与您的 POST 请求一起使用,将本地备份存档上传到服务器。
参数 | Content-Type | 必需/可选 | 值 |
---|---|---|---|
|
| 必需 | 指定要恢复的备份归档的字节。 |
|
| OPTIONAL | 定义请求参数的 JSON 对象。 |
请求示例
2.4.19. 列出恢复 复制链接链接已复制到粘贴板!
检索正在进行、完成或失败的所有恢复请求的名称。
GET /rest/v2/cache-managers/{cacheManagerName}/restores
GET /rest/v2/cache-managers/{cacheManagerName}/restores
Data Grid 使用所有恢复名称的数组响应,如下例所示:
["restore1", "restore2"]
["restore1", "restore2"]
2.4.20. 检查恢复进度 复制链接链接已复制到粘贴板!
验证恢复操作是否已完成。
HEAD /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
HEAD /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
201 (Created)
响应表示恢复操作已完成。202 (Accepted)
响应表示备份操作正在进行中。
2.4.21. 删除恢复元数据 复制链接链接已复制到粘贴板!
删除从服务器恢复请求的元数据。此操作会删除与恢复请求关联的所有元数据,但不会删除任何恢复的内容。如果删除了请求元数据,您可以使用请求名称来执行后续恢复操作。
DELETE /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
DELETE /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
204 (No Content)
响应表示删除恢复元数据。202 (Accepted)
响应表示恢复操作正在进行中,并在操作完成后删除。
2.4.22. 侦听容器配置事件 复制链接链接已复制到粘贴板!
使用 Server-Sent Events 接收有关配置更改的事件。event
值将是 create-cache
,remove-cache
,update-cache
,create-template
,remove-template
或 update-template
之一。data
值将包含创建的实体的声明配置。删除事件将仅包含已删除实体的名称。
GET /rest/v2/container/config?action=listen
GET /rest/v2/container/config?action=listen
标头 | 必需/可选 | 参数 |
---|---|---|
| OPTIONAL |
设置所需的格式以返回内容。支持的格式为 |
2.4.23. 使用缓存管理器进行跨站点操作 复制链接链接已复制到粘贴板!
对缓存管理器执行跨站点操作,将操作应用到所有缓存。
2.4.23.1. 获取备份位置状态 复制链接链接已复制到粘贴板!
使用 GET
请求从缓存管理器检索所有备份位置的状态。
GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/
GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/
Data Grid 使用 JSON 格式的状态响应,如下例所示:
值 | 描述 |
---|---|
| 本地集群中的所有节点都有一个带有备份位置的跨站点视图。 |
| 本地集群中的节点没有带有备份位置的跨站点视图。 |
| 本地集群中的某些节点具有带有备份位置的跨站点视图,本地集群中的其他节点没有跨站点视图。响应指示每个节点的状态。 |
GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{site}
GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{site}
返回单个备份位置的状态。
2.4.23.2. 离线备份位置 复制链接链接已复制到粘贴板!
使用 ?action= take-offline
参数使备份位置离线。
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=take-offline
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=take-offline
2.4.23.3. 在线备份位置 复制链接链接已复制到粘贴板!
使用 ?action=bring-online
参数使备份位置上线。
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=bring-online
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=bring-online
2.4.23.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.23.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.23.6. 开始状态传输 复制链接链接已复制到粘贴板!
使用 ?action=start-push-state
参数将所有缓存的状态推送到远程站点。
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=start-push-state
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=start-push-state
2.4.23.7. 取消状态传输 复制链接链接已复制到粘贴板!
使用 ?action=cancel-push-state
参数取消持续状态传输操作。
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=cancel-push-state
POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=cancel-push-state