3.3. 创建远程缓存
当您在运行时创建远程缓存时,Data Grid 服务器会在集群间同步您的配置,以便所有节点都具有副本。因此,您应该总是使用以下机制动态创建远程缓存:
- Data Grid Console
- Data Grid 命令行界面(CLI)
- 热环或 HTTP 客户端
3.3.1. 默认缓存管理器
Data Grid Server 提供了一个默认缓存管理器,用于控制远程缓存的生命周期。启动 Data Grid Server 会自动实例化 Cache Manager,以便您可以创建和删除远程缓存和其他资源,如 Protobuf 模式。
启动 Data Grid Server 并添加用户凭证后,您可以查看 Cache Manager 的详情,并从 Data Grid Console 获取集群信息。
-
在任意浏览器中打开
127.0.0.1:11222
。
您还可以通过命令行界面(CLI)或 REST API 获取有关缓存管理器的信息:
- CLI
在默认容器中运行
describe
命令。[//containers/default]> describe
- REST
-
在任意浏览器中打开
127.0.0.1:11222/rest/v2/cache-managers/default/
。
默认缓存管理器配置
XML
<infinispan> <!-- Creates a Cache Manager named "default" and enables metrics. --> <cache-container name="default" statistics="true"> <!-- Adds cluster transport that uses the default JGroups TCP stack. --> <transport cluster="${infinispan.cluster.name:cluster}" stack="${infinispan.cluster.stack:tcp}" node-name="${infinispan.node.name:}"/> <!-- Requires user permission to access caches and perform operations. --> <security> <authorization/> </security> </cache-container> </infinispan>
JSON
{ "infinispan" : { "jgroups" : { "transport" : "org.infinispan.remoting.transport.jgroups.JGroupsTransport" }, "cache-container" : { "name" : "default", "statistics" : "true", "transport" : { "cluster" : "cluster", "node-name" : "", "stack" : "tcp" }, "security" : { "authorization" : {} } } } }
YAML
infinispan: jgroups: transport: "org.infinispan.remoting.transport.jgroups.JGroupsTransport" cacheContainer: name: "default" statistics: "true" transport: cluster: "cluster" nodeName: "" stack: "tcp" security: authorization: ~
3.3.2. 使用 Data Grid 控制台创建缓存
使用数据网格控制台在任何 Web 浏览器的直观直观界面中创建远程缓存。
先决条件
-
创建具有管理权限的 Data Grid
用户
。 - 至少启动一个数据网格服务器实例。
- 具有数据网格缓存配置。
流程
-
在任意浏览器中打开
127.0.0.1:11222/console/
。 - 选择 Create Cache 并按照 Data Grid Console 指南的步骤进行操作。
3.3.3. 使用 Data Grid CLI 创建远程缓存
使用 Data Grid 命令行界面(CLI)在 Data Grid Server 中添加远程缓存。
先决条件
-
创建具有管理权限的 Data Grid
用户
。 - 至少启动一个数据网格服务器实例。
- 具有数据网格缓存配置。
流程
启动 CLI 并在系统提示时输入您的凭证。
bin/cli.sh
使用
create cache
命令创建远程缓存。例如,从名为
mycache.xml
的文件创建一个名为 "mycache" 的缓存,如下所示:create cache --file=mycache.xml mycache
验证
使用
ls
命令列出所有远程缓存。ls caches mycache
使用
describe
命令查看缓存配置。describe caches/mycache
3.3.4. 从 Hot Rod 客户端创建远程缓存
使用 Data Grid Hot Rod API 从 Java、C++、.NET/C#、JS 客户端等在 Data Grid Server 上创建远程缓存。
此流程演示了如何使用 Hot Rod Java 客户端在第一次引导时创建远程缓存。您可以在 Data Grid Tutorials 中找到其他 Hot Rod 客户端的代码示例。
先决条件
-
创建具有管理权限的 Data Grid
用户
。 - 至少启动一个数据网格服务器实例。
- 具有数据网格缓存配置。
流程
-
调用
remoteCache ()
方法,作为ConfigurationBuilder
的一部分。 -
在类路径上的
hotrod-client.properties
文件中设置configuration
或configuration_uri
属性。
ConfigurationBuilder
File file = new File("path/to/infinispan.xml") ConfigurationBuilder builder = new ConfigurationBuilder(); builder.remoteCache("another-cache") .configuration("<distributed-cache name=\"another-cache\"/>"); builder.remoteCache("my.other.cache") .configurationURI(file.toURI());
hotrod-client.properties
infinispan.client.hotrod.cache.another-cache.configuration=<distributed-cache name=\"another-cache\"/> infinispan.client.hotrod.cache.[my.other.cache].configuration_uri=file:///path/to/infinispan.xml
如果远程缓存的名称包含 .
字符,在使用 hotrod-client.properties
文件时,必须将其括在方括号中。
3.3.5. 使用 REST API 创建远程缓存
使用 Data Grid REST API 在 Data Grid Server 上创建来自任何合适的 HTTP 客户端的远程缓存。
先决条件
-
创建具有管理权限的 Data Grid
用户
。 - 至少启动一个数据网格服务器实例。
- 具有数据网格缓存配置。
流程
-
使用有效负载中的缓存配置调用
POST
请求到/rest/v2/caches/<cache_name
>。
其他资源