系列文章
Hazelcast系列(四):Auto-Detection发现机制
目录
前言
前面,我们通过几种配置方式(Hazelcast系列(二):hazelcast集成),已经将hazelcast嵌入型模式进行了集成,接下来,我们将通过管理中心监控相应的集群以及管理数据。
管理中心(Management Center)是一个用于管理和监控 Hazelcast 集群的工具。以下是您可以使用管理中心执行的操作的一些示例:
-
通过 UI、JMX 界面和 Prometheus 监控集群的性能。
-
查看有关您的节点成员、客户端和存储的数据结构的统计信息。
-
在集群上执行类 SQL 查询。
-
执行管理任务,例如识别和诊断集群中的问题。
-
使用 REST API 端点返回管理中心中显示的信息
这里,我们通过 Docker 拉取镜像构建服务的方式,启动管理中心,Docker相关内容请参考:CentOS 7下安装Docker
平台搭建
- 拉取 hazelcast/management-center:5.3.0 镜像
bash
docker pull hazelcast/management-center:5.3.0
- Docker run 启动管理平台
java
docker run -d -p 5880:8080 --name hazelcast5.3.0 hazelcast/management-center:5.3.0
- 确认端口已经对外开放或者防火墙关闭,访问 ip+port
测试
我们通过Hazelcast系列(二):hazelcast集成 构建的服务,再添加上 Web 服务,进行数据测试,方便我们再管理平台上查看相应的数据。
- pom添加 spring-boot-starter-web
java
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-web</artifactId>
</dependency>
- 写一个 controller 用于测试数据加入缓存
java
@RestController
@RequestMapping("/data")
public class DataController {
@Autowired(required = false)
private HazelcastInstance hazelcastInstance;
private ConcurrentMap<String,Long> retrieveMap() {
return hazelcastInstance.getMap("map");
}
@PostMapping("/put")
public String put(@RequestParam(value = "key") String key, @RequestParam(value = "value") Long value) {
retrieveMap().put(key, value);
return "成功";
}
@GetMapping("/get")
public Long get(@RequestParam(value = "key") String key) {
Long value = retrieveMap().get(key);
return value;
}
}
- 启动两个服务,然后查看是否已经形成集群
- 通过管理中心连接到集群 hazelcast-cluster,登录平台,点击 Add
Cluster Name:当前要连接的 hazelcast 集群名
Member Addresses:集群中任意一个能连接到的成员。注意,这里端口可能是递增的,可能不是默认的5701
- 进去后,就能看到集群中的成员相关信息
- 接下来调用 Rest 接口,添加数据再看看对应的数据展示,这里添加键值对 测试=1111
- 已经在列表上看到了有数据,接下来点击对应列表上的行数据, 进去后点击 Map Browser
- 选择一个值,这里为 测试,然后查看对应的value,这里结果对应插入的值 1111
其他
- 管理中心老版本,对应的集群节点需要指定管理中心地址,management-center.url
- 不同的管理中心有对应的jdk版本以及hazelcast版本要求,所以一定要官网上查看版本要求
参考
总结
管理中心作为hazelcast的监控客户端,在核实数据、检查问题以及监控集群方面还是非常有帮助的。