分布式系统删除zookeeper空节点

在分布式系统结构中,使用ZOOKEEPER里的CuratorFramework控制全局锁,有一个隐藏的问题,生成的全局锁路径释放后,存留了很多空的NODE节点,这些节点数据量很大的时候,会占用很大的磁盘空间,这个可能是ZK版本的一个bug,要是使用完全局锁之后自动帮我们清除掉,就不会有这类问题,针对bug,需要定时清掉空的节点。代码如下,以供记录一下。

1、测试类,测试定时任务手工执行接口,执行成功后,查看一下节点是否真实删除

package xxxxxxxxxxxxxxxxx

import xxxxxxxxxxxx
import io.swagger.annotations.Api;
import io.swagger.annotations.ApiOperation;
import lombok.extern.slf4j.Slf4j;
import org.apache.curator.RetryPolicy;
import org.apache.curator.framework.CuratorFramework;
import org.apache.curator.framework.recipes.atomic.DistributedAtomicLong;
import org.apache.curator.retry.ExponentialBackoffRetry;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.validation.BindingResult;
import org.springframework.web.bind.annotation.*;

import javax.validation.Valid;
import java.util.HashMap;
import java.util.Map;

@RestController
@Slf4j
@Api(value="test", description="测试")
public class TestController {

	private final CuratorFramework curator;
	private final LockNodeCleanService lockNodeCleanService;



	public TestController(CuratorFramework curator,LockNodeCleanService lockNodeCleanService) {
		this.curator = curator;
		this.lockNodeCleanService =lockNodeCleanService;
	}


	@GetMapping("/internal/zookeeper/list
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值