2.4. 使用缓存管理器


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

2.4.1. 获取基本容器信息

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

GET /rest/v2/container
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_cache_count 创建缓存的数量,不包括所有内部和外部缓存
  • running_cache_count 创建的缓存数
  • node_address 包含缓存管理器的逻辑地址
  • cluster_memberscluster_members_physical_addresses 是集群成员的逻辑和物理地址的数组
  • 集群中的成员的 cluster_size 数量
  • defined_caches A 在缓存管理器中定义的所有缓存列表,不包括私有缓存,但包括可以访问的内部缓存
  • 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
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 表示至少一个缓存处于降级模式。
      • HEALTHY_REBALANCING 表示至少一个缓存处于重新平衡状态。
      • HEALTHY 表示集群中的所有缓存实例都如预期运行。
      • FAILED 表示缓存无法使用提供的配置启动。
    • number_of_nodes 显示群集成员的总数。为非集群(standalone)服务器返回值 0。
    • node_names 是所有群集成员的数组。对于单机服务器为空。
  • cache_health 包含每个缓存的健康状况信息

    • Status HEALTHY, DEGRADED, HEALTHY_REBALANCING 或 FAILED
    • cache_name 是配置中定义的缓存名称。

2.4.3. 获取容器健康状态

使用不需要身份验证的 GET 请求,检索 Data Grid 容器的健康状态。

GET /rest/v2/container/health/status
Copy to Clipboard Toggle word wrap

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

  • 健康
  • HEALTHY_REBALANCING
  • DEGRADED
  • 失败

2.4.4. 检查 REST 端点可用性

使用 HEAD 请求验证 Data Grid 服务器 REST 端点的可用性。

HEAD /rest/v2/container/health
Copy to Clipboard Toggle word wrap

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

2.4.5. 获取全局配置

使用 GET 请求检索 data 容器的全局配置。

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

accept

可选

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

Expand
表 2.23. 请求参数
参数必需/可选描述

pretty

可选

如果为 true 返回格式化内容,包括额外的空间和行分隔符,以提高可读性,但会增加有效负载大小。默认值为 false

2.4.6. 获取所有缓存的配置

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

GET /rest/v2/container/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
Expand
表 2.24. 请求参数
参数必需/可选描述

pretty

可选

如果为 true 返回格式化内容,包括额外的空间和行分隔符,以提高可读性,但会增加有效负载大小。默认值为 false

2.4.7. 列出可用的缓存模板

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

GET /rest/v2/cache-configs/templates
Copy to Clipboard Toggle word wrap
提示
Expand
表 2.25. 请求参数
参数必需/可选描述

pretty

可选

如果为 true 返回格式化内容,包括额外的空间和行分隔符,以提高可读性,但会增加有效负载大小。默认值为 false

2.4.8. 获取容器统计信息

使用 GET 请求检索容器的统计信息。

GET /rest/v2/container/stats
Copy to Clipboard Toggle word wrap

Data Grid 以 JSON 格式响应缓存管理器统计信息,如下例所示:

{
    "statistics_enabled":true,
    "read_write_ratio":0.0,
    "time_since_start":1,
    "time_since_reset":1,
    "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
  • 如果为 Cache Manager 启用了统计集合,则 statistics_enabledtrue
  • 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_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)比率。
  • retrieves 显示 get () 操作总数。

2.4.9. 重置容器统计信息

使用 POST 请求重置统计信息。

POST /rest/v2/container/stats?action=reset
Copy to Clipboard Toggle word wrap

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/container?action=enable-rebalancing
Copy to Clipboard Toggle word wrap

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

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

POST /rest/v2/container?action=disable-rebalancing
Copy to Clipboard Toggle word wrap

2.4.13. 备份网格

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

POST /rest/v2/container/backups/{backupName}
Copy to Clipboard Toggle word wrap

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

(可选)将您的 JSON 有效负载包含您的请求,其中包含备份操作的参数,如下所示:

Expand
表 2.26. JSON 参数
必需/可选value

目录

可选

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

resources

可选

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

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

缓存

可选

指定所有缓存的缓存名称数组,或指定为 *

cache-configs

可选

指定一组缓存模板以备份所有模板,或指定为 *

计数器

可选

定义一组要备份的计数器名称,或所有计数器的结尾名称。

proto-schemas

可选

定义一组 Protobuf 模式名称来备份或 * 用于所有模式。

process

可选

指定要备份或所有任务的服务器任务数组。

以下示例在指定目录中创建一个名为 [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/container/backups
Copy to Clipboard Toggle word wrap

Data Grid 使用所有备份名称阵列响应,如下例所示:

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

2.4.15. 检查备份可用性

验证备份操作是否完成。

HEAD /rest/v2/container/backups/{backupName}
Copy to Clipboard Toggle word wrap

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

2.4.16. 下载备份归档

从服务器下载备份存档。

GET /rest/v2/container/backups/{backupName}
Copy to Clipboard Toggle word wrap

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

2.4.17. 删除备份归档

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

DELETE /rest/v2/container/backups/{backupName}
Copy to Clipboard Toggle word wrap

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

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

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

POST /rest/v2/container/restores/{restoreName}
Copy to Clipboard Toggle word wrap

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

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

Expand
表 2.28. JSON 参数
必需/可选value

位置

必需

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

resources

可选

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

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

缓存

可选

指定所有缓存的缓存名称数组,或指定为 *

cache-configs

可选

指定一组缓存模板以备份所有模板,或指定为 *

计数器

可选

定义一组要备份的计数器名称,或所有计数器的结尾名称。

proto-schemas

可选

定义一组 Protobuf 模式名称来备份或 * 用于所有模式。

process

可选

指定要备份或所有任务的服务器任务数组。

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

{
  "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.30. 表格数据
参数Content-Type必需/可选value

backup

application/zip

必需

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

resources

application/json,text/plain

可选

定义请求参数的 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/container/restores
Copy to Clipboard Toggle word wrap

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

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

2.4.20. 检查 Restore Progress

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

HEAD /rest/v2/container/restores/{restoreName}
Copy to Clipboard Toggle word wrap

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

2.4.21. 删除恢复元数据

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

DELETE /rest/v2/container/restores/{restoreName}
Copy to Clipboard Toggle word wrap

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

2.4.22. 侦听容器配置事件

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

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

accept

可选

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

Expand
表 2.32. 请求参数
参数必需/可选描述

includeCurrentState

可选

如果为 true,则结果还包括现有配置的状态,以及更改。如果设置为 false,则请求仅返回更改。默认值为 false

pretty

可选

如果为 true 返回格式化内容,包括额外的空间和行分隔符,以提高可读性,但会增加有效负载大小。默认值为 false

2.4.23. 侦听容器事件

使用 Server-Sent Events 从容器接收事件。发出的事件来自日志信息,因此每个事件都包含与消息关联的标识符。事件值将是 lifecycle- event 数据 具有日志信息,其中包含 消息,category,level,timestamp,owner,context, 和 scope,其中的一些信息可能为空。目前,我们只公开 LIFECYCLE 事件。

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

accept

可选

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

Expand
表 2.34. 请求参数
参数必需/可选描述

includeCurrentState

可选

如果为 true,则结果还包括现有配置的状态,以及更改。如果设置为 false,则请求仅返回更改。默认值为 false

pretty

可选

如果为 true 返回格式化内容,包括额外的空间和行分隔符,以提高可读性,但会增加有效负载大小。默认值为 false

2.4.24. 使用缓存管理器的跨站点操作

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

2.4.24.1. 获取备份位置的状态

使用 GET 请求检索所有备份位置的状态。

GET /rest/v2/container/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.35. 返回的状态
value描述

online

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

离线

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

mixed

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

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

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

2.4.24.2. 使备份位置离线

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

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

2.4.24.3. 在线提供备份位置

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

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

2.4.24.4. 检索状态传输模式

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

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

2.4.24.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.24.6. 启动状态传输

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

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

2.4.24.7. 取消状态传输

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

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

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat