2.5. Data Grid Endpoints

Data Grid 端点通过不同的连接器协议公开 CacheManager 接口,以便您可以远程访问数据并执行操作来管理和维护 Data Grid 集群。

您可以在不同的套接字绑定中定义多个端点连接器。

2.5.1. 热 Rod

热 Rod 是一种二进制 TCP 客户端-服务器协议,与基于文本的协议相比,提供更快的数据访问和提高性能。

Data Grid 以 Java、C++、C++、Node.js 和其他编程语言提供 Hot Rod 客户端库。

拓扑状态传输

Data Grid 使用拓扑缓存为客户端提供集群视图。拓扑缓存包含将内部 JGroups 传输地址映射到公开的 Hot Rod 端点的条目。

当客户端发送请求时,Data Grid 服务器会将请求标头中的拓扑 ID 与缓存中的拓扑 ID 进行比较。如果客户端有旧的拓扑 ID,则数据网格服务器会发送新的拓扑视图。

集群拓扑视图允许 Hot Rod 客户端在节点加入和离开时立即检测,从而启用动态负载平衡和故障转移。

在分布式缓存模式中,一致的哈希算法也使得 Hot Rod 客户端请求直接路由到主要所有者。

2.5.2. REST

参考

Data Grid 公开了一个 RESTful 接口,它允许 HTTP 客户端访问数据、监控和维护集群,以及执行管理操作。

您可以使用标准 HTTP 负载均衡器为客户端提供负载均衡和故障转移功能。但是,HTTP 负载均衡器会维护静态集群视图,并在集群拓扑更改时需要手动更新。

2.5.3. 协议比较

表 2.1. 参考

 热 RodHTTP / REST

Topology-aware

Y

N

hash-aware

Y

N

加密

Y

Y

身份验证

Y

Y

条件操作

Y

Y

bulk ops

Y

N

Transactions

Y

N

监听器

Y

N

查询

Y

Y

执行

Y

N

跨站点故障切换

Y

N