2.4. 使用缓存管理器


与 Data Grid Cache Manager 交互以获取集群和用量统计。

2.4.1. 获取基本缓存管理器信息

使用 GET 请求检索有关缓存管理器的信息。

GET /rest/v2/cache-managers/{cacheManagerName}
Copy to Clipboard Toggle word wrap

Data Grid 使用 JSON 格式的信息做出响应,如下例所示:

{
    "version":"xx.x.x-FINAL",
    "name":"default",
    "coordinator":true,
    "cache_configuration_names":[
        "___protobuf_metadata",
        "cache2",
        "CacheManagerResourceTest",
        "cache1"
    ],
    "cluster_name":"ISPN",
    "physical_addresses":"[127.0.0.1:35770]",
    "coordinator_address":"CacheManagerResourceTest-NodeA-49696",
    "cache_manager_status":"RUNNING",
    "created_cache_count":"3",
    "running_cache_count":"3",
    "node_address":"CacheManagerResourceTest-NodeA-49696",
    "cluster_members":[
        "CacheManagerResourceTest-NodeA-49696",
        "CacheManagerResourceTest-NodeB-28120"
    ],
    "cluster_members_physical_addresses":[
        "127.0.0.1:35770",
        "127.0.0.1:60031"
    ],
    "cluster_size":2,
    "defined_caches":[
        {
            "name":"CacheManagerResourceTest",
            "started":true
        },
        {
            "name":"cache1",
            "started":true
        },
        {
            "name":"___protobuf_metadata",
            "started":true
        },
        {
            "name":"cache2",
            "started":true
        }
    ],
    "local_site": "LON",
    "relay_node": true,
    "relay_nodes_address": [
      "CacheManagerResourceTest-NodeA-49696"
    ],
    "sites_view": [
        "LON",
        "NYC"
    ],
    "rebalancing_enabled": true
}
Copy to Clipboard Toggle word wrap
  • 版本 包含 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_memberscluster_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
Copy to Clipboard Toggle word wrap

Data Grid 使用 JSON 格式的集群健康信息响应,如下例所示:

{
    "cluster_health":{
        "cluster_name":"ISPN",
        "health_status":"HEALTHY",
        "number_of_nodes":2,
        "node_names":[
            "NodeA-36229",
            "NodeB-28703"
        ]
    },
    "cache_health":[
        {
            "status":"HEALTHY",
            "cache_name":"___protobuf_metadata"
        },
        {
            "status":"HEALTHY",
            "cache_name":"cache2"
        },
        {
            "status":"HEALTHY",
            "cache_name":"mycache"
        },
        {
            "status":"HEALTHY",
            "cache_name":"cache1"
        }
    ]
}
Copy to Clipboard Toggle word wrap
  • 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
Copy to Clipboard Toggle word wrap

Data Grid 使用 文本/plain 格式以下之一进行响应:

  • HEALTHY
  • HEALTHY_REBALANCING
  • DEGRADED
  • 失败

2.4.4. 检查 REST 端点可用性

通过 HEAD 请求验证 Data Grid server REST 端点的可用性。

HEAD /rest/v2/cache-managers/{cacheManagerName}/health
Copy to Clipboard Toggle word wrap

如果您收到成功的响应代码,则 Data Grid REST 服务器正在运行并服务请求。

2.4.5. 获取缓存管理器的全局配置

使用 GET 请求检索缓存管理器的全局配置。

GET /rest/v2/cache-managers/{cacheManagerName}/config
Copy to Clipboard Toggle word wrap
Expand
表 2.19. Headers
标头必需/可选参数

accept

OPTIONAL

返回内容所需的格式。支持的格式为 application/jsonapplication/xml。如果未提供标头,则会假定 JSON。

2.4.6. 获取所有缓存的配置

使用 GET 请求检索所有缓存的配置。

GET /rest/v2/cache-managers/{cacheManagerName}/cache-configs
Copy to Clipboard Toggle word wrap

Data Grid 使用包含每个缓存和缓存配置的 JSON 阵列响应,如下例所示:

[
  {
      "name":"cache1",
      "configuration":{
          "distributed-cache":{
              "mode":"SYNC",
              "partition-handling":{
                  "when-split":"DENY_READ_WRITES"
              },
              "statistics":true
          }
      }
  },
  {
      "name":"cache2",
      "configuration":{
          "distributed-cache":{
              "mode":"SYNC",
              "transaction":{
                  "mode":"NONE"
              }
          }
      }
  }
]
Copy to Clipboard Toggle word wrap

2.4.7. 列出可用的缓存模板

使用 GET 请求检索所有可用的 Data Grid 缓存模板。

GET /rest/v2/cache-managers/{cacheManagerName}/cache-configs/templates
Copy to Clipboard Toggle word wrap
提示

2.4.8. 获取缓存状态和信息

检索缓存管理器的所有可用缓存列表,以及缓存状态和详细信息,以及 GET 请求。

GET /rest/v2/cache-managers/{cacheManagerName}/caches
Copy to Clipboard Toggle word wrap

Data Grid 使用列出并描述每个可用缓存的 JSON 阵列响应,如下例所示:

[ {
  "status" : "RUNNING",
  "name" : "cache1",
  "type" : "local-cache",
  "simple_cache" : false,
  "transactional" : false,
  "persistent" : false,
  "bounded": false,
  "secured": false,
  "indexed": true,
  "has_remote_backup": true,
  "health":"HEALTHY",
  "rebalancing_enabled": true
}, {
  "status" : "RUNNING",
  "name" : "cache2",
  "type" : "distributed-cache",
  "simple_cache" : false,
  "transactional" : true,
  "persistent" : false,
  "bounded": false,
  "secured": false,
  "indexed": true,
  "has_remote_backup": true,
  "health":"HEALTHY",
  "rebalancing_enabled": false
}]
Copy to Clipboard Toggle word wrap

2.4.9. 获取缓存管理器统计信息

使用 GET 请求检索缓存管理器的统计信息。

GET /rest/v2/cache-managers/{cacheManagerName}/stats
Copy to Clipboard Toggle word wrap

Data Grid 以 JSON 格式响应 Cache Manager 统计信息,如下例所示:

{
    "statistics_enabled":true,
    "read_write_ratio":0.0,
    "time_since_start":1,
    "time_since_reset":1,
    "number_of_entries":0,
    "total_number_of_entries":0,
    "off_heap_memory_used":0,
    "data_memory_used":0,
    "misses":0,
    "remove_hits":0,
    "remove_misses":0,
    "evictions":0,
    "average_read_time":0,
    "average_read_time_nanos":0,
    "average_write_time":0,
    "average_write_time_nanos":0,
    "average_remove_time":0,
    "average_remove_time_nanos":0,
    "required_minimum_number_of_nodes":1,
    "hits":0,
    "stores":0,
    "current_number_of_entries_in_memory":0,
    "hit_ratio":0.0,
    "retrievals":0
}
Copy to Clipboard Toggle word wrap
  • 如果为缓存管理器启用了统计集合,则 statistics_enabledtrue
  • 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_nanosaverage_read_time 相同,但以纳秒为单位。
  • average_remove_time 显示所有缓存中 remove () 操作的平均毫秒数。
  • average_remove_time_nanosaverage_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
Copy to Clipboard Toggle word wrap

Data Grid 使用 204 (无内容) 响应,然后关闭容器中的所有缓存。服务器保持使用活动端点和集群运行,但对容器资源的 REST 调用会导致 503 Service Unavailable 响应。

注意

此方法主要用于 Data Grid Operator。其预期是,在调用此端点后,服务器进程将很快终止。调用此方法后,就无法重新启动容器状态。

2.4.11. 为所有缓存启用重新平衡

为所有缓存打开自动重新平衡。

POST /rest/v2/cache-managers/{cacheManagerName}?action=enable-rebalancing
Copy to Clipboard Toggle word wrap

2.4.12. 为所有缓存禁用重新平衡

为所有缓存关闭自动重新平衡。

POST /rest/v2/cache-managers/{cacheManagerName}?action=disable-rebalancing
Copy to Clipboard Toggle word wrap

2.4.13. 备份 Data Grid Cache Manager

创建备份存档 application/zip,其中包含当前存储在缓存管理器中的资源(缓存、缓存模板、计数器、Protobuf 模式、服务器任务等)。

POST /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
Copy to Clipboard Toggle word wrap

如果存在具有相同名称的备份,服务会使用 409 (Conflict) 响应。如果 directory 参数无效,服务会返回 400 (Bad Request)202 响应表示接受备份请求进行处理。

(可选)包括带有您包含备份操作的参数的 JSON 有效负载,如下所示:

Expand
表 2.20. JSON 参数
必需/可选

目录

OPTIONAL

指定要创建并存储备份存档的服务器上的位置。

resources

OPTIONAL

以 JSON 格式指定要备份的资源。默认为备份所有资源。如果您指定了一个或多个资源,则 Data Grid 只备份这些资源。如需更多信息,请参阅 资源参数 表。

Expand
表 2.21. 资源参数
必需/可选

缓存

OPTIONAL

为所有缓存指定要备份的缓存名称的数组。

cache-configs

OPTIONAL

为所有模板指定要备份的缓存模板数组,或指定为 *

计数器

OPTIONAL

为所有计数器定义一系列计数器名称来备份或 *

proto-schemas

OPTIONAL

定义用于备份的 Protobuf 模式名称的数组,或为所有模式定义 *

tasks

OPTIONAL

指定一组服务器任务来备份,或为所有任务指定 *

以下示例在指定目录中创建一个名为 [cache1,cache2] 的所有计数器和缓存的备份存档:

{
  "directory": "/path/accessible/to/the/server",
  "resources": {
    "caches": ["cache1", "cache2"],
    "counters": ["*"]
  }
}
Copy to Clipboard Toggle word wrap

2.4.14. 列出备份

检索正在进行、完成或失败的所有备份操作的名称。

GET /rest/v2/cache-managers/{cacheManagerName}/backups
Copy to Clipboard Toggle word wrap

Data Grid 使用所有备份名称的数组响应,如下例所示:

["backup1", "backup2"]
Copy to Clipboard Toggle word wrap

2.4.15. 检查备份可用性

验证备份操作是否已完成。

HEAD /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
Copy to Clipboard Toggle word wrap

200 响应表示备份存档可用。202 响应表示备份操作正在进行。

2.4.16. 下载备份归档

从服务器下载备份存档。

GET /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
Copy to Clipboard Toggle word wrap

200 响应表示备份存档可用。202 响应表示备份操作正在进行。

2.4.17. 删除备份归档

从服务器中删除备份存档。

DELETE /rest/v2/cache-managers/{cacheManagerName}/backups/{backupName}
Copy to Clipboard Toggle word wrap

204 响应表示删除了备份存档。202 响应表示备份操作正在进行中,但在操作完成后会被删除。

2.4.18. 从备份归档中恢复 Data Grid 资源

从备份存档恢复 Data Grid 资源。提供的 {restoreName} 用于跟踪恢复进度,独立于正在恢复的备份文件的名称。

重要

只有在备份存档中的容器名称与 {cacheManagerName} 匹配时才可以恢复资源。

POST /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
Copy to Clipboard Toggle word wrap

202 响应表示接受恢复请求进行处理。

2.4.18.1. 在 Data Grid Server 上从备份归档中恢复

application/json 内容类型与您的 POST 请求一起使用,以从服务器上可用的存档备份。

Expand
表 2.22. JSON 参数
必需/可选

位置

必需

指定要恢复的备份存档的路径。

resources

OPTIONAL

以 JSON 格式指定要恢复的资源。默认为恢复所有资源。如果您指定了一个或多个资源,则 Data Grid 只恢复这些资源。如需更多信息,请参阅 资源参数 表。

Expand
表 2.23. 资源参数
必需/可选

缓存

OPTIONAL

为所有缓存指定要备份的缓存名称的数组。

cache-configs

OPTIONAL

为所有模板指定要备份的缓存模板数组,或指定为 *

计数器

OPTIONAL

为所有计数器定义一系列计数器名称来备份或 *

proto-schemas

OPTIONAL

定义用于备份的 Protobuf 模式名称的数组,或为所有模式定义 *

tasks

OPTIONAL

指定一组服务器任务来备份,或为所有任务指定 *

以下示例从服务器上的备份归档中恢复所有计数器:

{
  "location": "/path/accessible/to/the/server/backup-to-restore.zip",
  "resources": {
    "counters": ["*"]
  }
}
Copy to Clipboard Toggle word wrap

2.4.18.2. 从本地备份归档中恢复

multipart/form-data 内容类型与您的 POST 请求一起使用,将本地备份存档上传到服务器。

Expand
表 2.24. 格式数据
参数Content-Type必需/可选

backup

application/zip

必需

指定要恢复的备份归档的字节。

resources

application/json,text/plain

OPTIONAL

定义请求参数的 JSON 对象。

请求示例

Content-Type: multipart/form-data; boundary=5ec9bc07-f069-4662-a535-46069afeda32
Content-Length: 7721

--5ec9bc07-f069-4662-a535-46069afeda32
Content-Disposition: form-data; name="resources"
Content-Length: 23

{"scripts":["test.js"]}
--5ec9bc07-f069-4662-a535-46069afeda32
Content-Disposition: form-data; name="backup"; filename="testManagerRestoreParameters.zip"
Content-Type: application/zip
Content-Length: 7353

<zip-bytes>
--5ec9bc07-f069-4662-a535-46069afeda32--
Copy to Clipboard Toggle word wrap

2.4.19. 列出恢复

检索正在进行、完成或失败的所有恢复请求的名称。

GET /rest/v2/cache-managers/{cacheManagerName}/restores
Copy to Clipboard Toggle word wrap

Data Grid 使用所有恢复名称的数组响应,如下例所示:

["restore1", "restore2"]
Copy to Clipboard Toggle word wrap

2.4.20. 检查恢复进度

验证恢复操作是否已完成。

HEAD /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
Copy to Clipboard Toggle word wrap

201 (Created) 响应表示恢复操作已完成。202 (Accepted) 响应表示备份操作正在进行中。

2.4.21. 删除恢复元数据

删除从服务器恢复请求的元数据。此操作会删除与恢复请求关联的所有元数据,但不会删除任何恢复的内容。如果删除了请求元数据,您可以使用请求名称来执行后续恢复操作。

DELETE /rest/v2/cache-managers/{cacheManagerName}/restores/{restoreName}
Copy to Clipboard Toggle word wrap

204 (No Content) 响应表示删除恢复元数据。202 (Accepted) 响应表示恢复操作正在进行中,并在操作完成后删除。

2.4.22. 侦听容器配置事件

使用 Server-Sent Events 接收有关配置更改的事件。event 值将是 create-cache,remove-cache,update-cache,create-template,remove-templateupdate-template 之一。data 值将包含创建的实体的声明配置。删除事件将仅包含已删除实体的名称。

GET /rest/v2/container/config?action=listen
Copy to Clipboard Toggle word wrap
Expand
表 2.25. Headers
标头必需/可选参数

accept

OPTIONAL

设置所需的格式以返回内容。支持的格式为 application/yamlapplication/jsonapplication/xml。默认为 application/yaml。如需更多信息,请参阅 Accept

2.4.23. 使用缓存管理器进行跨站点操作

对缓存管理器执行跨站点操作,将操作应用到所有缓存。

2.4.23.1. 获取备份位置状态

使用 GET 请求从缓存管理器检索所有备份位置的状态。

GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/
Copy to Clipboard Toggle word wrap

Data Grid 使用 JSON 格式的状态响应,如下例所示:

{
   "SFO-3":{
      "status":"online"
   },
   "NYC-2":{
      "status":"mixed",
      "online":[
         "CACHE_1"
      ],
      "offline":[
         "CACHE_2"
      ],
      "mixed": [
         "CACHE_3"
      ]
   }
}
Copy to Clipboard Toggle word wrap
Expand
表 2.26. 返回的状态
描述

online

本地集群中的所有节点都有一个带有备份位置的跨站点视图。

离线

本地集群中的节点没有带有备份位置的跨站点视图。

mixed

本地集群中的某些节点具有带有备份位置的跨站点视图,本地集群中的其他节点没有跨站点视图。响应指示每个节点的状态。

GET /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{site}
Copy to Clipboard Toggle word wrap

返回单个备份位置的状态。

2.4.23.2. 离线备份位置

使用 ?action= take-offline 参数使备份位置离线。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=take-offline
Copy to Clipboard Toggle word wrap

2.4.23.3. 在线备份位置

使用 ?action=bring-online 参数使备份位置上线。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=bring-online
Copy to Clipboard Toggle word wrap

2.4.23.4. 检索状态传输模式

使用 GET 请求检查状态传输模式。

GET /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode
Copy to Clipboard Toggle word wrap

2.4.23.5. 设置状态传输模式

使用 ?action=set 参数配置状态传输模式。

POST /rest/v2/caches/{cacheName}/x-site/backups/{site}/state-transfer-mode?action=set&mode={mode}
Copy to Clipboard Toggle word wrap

2.4.23.6. 开始状态传输

使用 ?action=start-push-state 参数将所有缓存的状态推送到远程站点。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=start-push-state
Copy to Clipboard Toggle word wrap

2.4.23.7. 取消状态传输

使用 ?action=cancel-push-state 参数取消持续状态传输操作。

POST /rest/v2/cache-managers/{cacheManagerName}/x-site/backups/{siteName}?action=cancel-push-state
Copy to Clipboard Toggle word wrap
返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat