没有合适的资源?快使用搜索试试~ 我知道了~
第三课:zookeeper 典型使用场景实践1
需积分: 0 1 下载量 26 浏览量
2022-08-08
18:48:58
上传
评论 1
收藏 428KB DOCX 举报
温馨提示
试读
28页
课程概要:分布式集群管理分布式注册中心分布式JOB分布式锁一、 分布式集群管理分布式集群管理的需求:主动查看线上服务节点查看服务节点资源使用情况服务离线通知服务
资源详情
资源评论
资源推荐
课程概要:
1. 分布式集群管理
2. 分布式注册中心
3. 分布式 JOB
4. 分布式锁
一、 分布式集群管理
分布式集群管理的需求:
1. 主动查看线上服务节点
2. 查看服务节点资源使用情况
3. 服务离线通知
4. 服务资源(CPU、内存、硬盘)超出阀值通知
架构设计:
节点结构:
1. tuling-manger // 根节点
a. server00001 :<json> //服务节点 1
b. server00002 :<json>//服务节点 2
c. server........n :<json>//服务节点 n
服务状态信息:
a. ip
b. cpu
c. memory
d. disk
功能实现:
数据生成与上报:
1. 创建临时节点:
2. 定时变更节点状态信息:
主动查询:
1、实时查询 zookeeper 获取集群节点的状态信息。
被动通知:
1. 监听根节点下子节点的变化情况,如果 CPU 等硬件资源低于警告位则发出警报。
关键示例代码:
package com.tuling;
import com.fasterxml.jackson.core.JsonProcessingException;
import com.fasterxml.jackson.databind.ObjectMapper;
import com.tuling.os.CPUMonitorCalc;
import com.tuling.os.OsBean;
import org.I0Itec.zkclient.IZkChildListener;
import org.I0Itec.zkclient.ZkClient;
import java.io.IOException;
import java.lang.instrument.Instrumentation;
import java.lang.management.ManagementFactory;
import java.lang.management.MemoryUsage;
import java.net.InetAddress;
import java.net.UnknownHostException;
import java.util.ArrayList;
import java.util.List;
import java.util.stream.Collectors;
/**
* @author Tommy
* Created by Tommy on 2019/9/22
**/
public class Agent {
private String server = "192.168.0.149:2181";
ZkClient zkClient;
private static Agent instance;
private static final String rootPath = "/tuling-manger";
private static final String servicePath = rootPath + "/service";
private String nodePath;
private Thread stateThread;
List<OsBean> list = new ArrayList<>();
public static void premain(String args, Instrumentation instrumentation) {
instance = new Agent();
if (args != null) {
instance.server = args;
}
instance.init();
}
// 初始化连接
public void init() {
zkClient = new ZkClient(server, 5000, 10000);
System.out.println("zk 连接成功" + server);
buildRoot();
createServerNode();
stateThread = new Thread(() -> {
while (true) {
updateServerNode();
try {
Thread.sleep(5000);
} catch (InterruptedException e) {
e.printStackTrace();
}
}
}, "zk_stateThread");
剩余27页未读,继续阅读
东方捕
- 粉丝: 15
- 资源: 310
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0