摘要: 在分布式环境中 ,为了保证数据的一致性,经常在程序的某个运行点(例如,减库存操作或者流水号生成等)需要进行同步控制。以一个"流水号生成"的场景为例,普通的后台应用通常都是使用时间戳来生成流水号,但是在用户访问量很大的情况下,可能会出现并发问题。下面通过示例程序就演示一个典型的并发问题: public 阅读全文
posted @ 2021-12-13 16:14 大数据从业者FelixZh 阅读(983) 评论(0) 推荐(0) 编辑
摘要: Zookeeper原生就支持通过注册Watcher来进行事件监听,但是其使用并不是特别方便,需要开发人员反复注册Watcher,比较繁琐。Curator引入了Cache来实现对zookeeper服务端事件的监听,Cache是Curator中对事件的包装,其对事件的监听其实可以近似的看做是一个本地缓存 阅读全文
posted @ 2021-12-13 10:38 大数据从业者FelixZh 阅读(541) 评论(0) 推荐(0) 编辑
摘要: 原生API中基本上所有的操作都有提供异步操作,Curator也有提供异步操作的API。 异步操作在使用以上针对节点的操作API时,我们会发现每个接口都有一个inBackground()方法可供调用。此接口就是Curator提供的异步调用入口。对应的异步处理接口为BackgroundCallback。 阅读全文
posted @ 2021-12-13 10:17 大数据从业者FelixZh 阅读(283) 评论(0) 推荐(0) 编辑