当前位置: 首页 > news >正文

江西建设城乡网站查询张店好的网站建设的公司

江西建设城乡网站查询,张店好的网站建设的公司,wordpress域名文件夹,qq网页注册入口一 curator的说明 1.1 curator的说明 curator是netflix公司开源的一个zk客户端。对Zookeeper提供的原生客户端进行封装,简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册wathcer和Node…

一 curator的说明

1.1 curator的说明

curator是netflix公司开源的一个zk客户端Zookeeper提供的原生客户端进行封装,简化了Zookeeper客户端的开发量。Curator解决了很多zookeeper客户端非常底层的细节开发工作,包括连接重连、反复注册wathcer和NodeExistsException异常等。

1.2 curator的特点

1.封装ZooKeeper client与ZooKeeper server之间的连接处理

2.提供了一套Fluent风格的操作API

3.提供ZooKeeper各种应用场景(recipe,比如:分布式锁服务、集群领导选举、共享计数器、缓存机制、分布式队列等)的抽象封装,这些实现都遵循了zk的最佳实践,并考虑了各种极端情况

1.3 curator的具体锁

二  curator的InterProcessMutex可重入锁

2.1 原理

reentrant和JDK的ReentrantLock类似, 意味着同一个客户端在拥有锁的同时,可以多次获取,不会被阻塞。它是由类InterProcessMutex来实现。

2.2 常用API

// 常用构造方法
public InterProcessMutex(CuratorFramework client, String path)
// 获取锁
public void acquire();
// 带超时时间的可重入锁
public boolean acquire(long time, TimeUnit unit);
// 释放锁
public void release();

2.3 代码实现

2.3.1.pom文件sdk引入

  <dependency><groupId>org.apache.curator</groupId><artifactId>curator-framework</artifactId><version>5.3.0</version><exclusions><exclusion><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></exclusion></exclusions></dependency><dependency><groupId>org.apache.curator</groupId><artifactId>curator-recipes</artifactId><version>5.3.0</version><exclusions><exclusion><groupId>org.apache.zookeeper</groupId><artifactId>zookeeper</artifactId></exclusion></exclusions></dependency>

2.3.2 初始化客户端

@Configuration
public class CuratorConfig {@Beanpublic CuratorFramework curatorFramework(){// 重试策略,这里使用的是指数补偿重试策略,重试3次,初始重试间隔1000ms,每次重试之后重试间隔递增。RetryPolicy retry = new ExponentialBackoffRetry(30000, 3);// 初始化Curator客户端:指定链接信息 及 重试策略CuratorFramework client = CuratorFrameworkFactory.newClient("192.168.43.4:2181", retry);client.start(); // 开始链接,如果不调用该方法,很多方法无法工作return client;}
}

2.3.3 分布式锁代码

 @Autowiredprivate CuratorFramework curatorFramework;public   void checkAndLocksByCurator() throws KeeperException, InterruptedException {InterProcessMutex mutex = new InterProcessMutex(curatorFramework, "/curator/lock");try {// 加锁mutex.acquire();// 先查询库存是否充足Stock stock = this.stockMapper.selectById(1L);// 再减库存if (stock != null && stock.getCount() > 0){stock.setCount(stock.getCount() - 1);this.stockMapper.updateById(stock);}this.testSub(mutex);// 释放锁mutex.release();} catch (Exception e) {e.printStackTrace();}}public void testSub(InterProcessMutex mutex) {try {mutex.acquire();System.out.println("测试可重入锁。。。。");mutex.release();} catch (Exception e) {e.printStackTrace();}}

2.3.4 controller引用

2.4 测试验证

1.启动服务

2.启动nginx

3.启动jemter

4.查看结果

1.初始化

2.并发访问后

3.查看服务日志

 

http://www.yayakq.cn/news/713960/

相关文章:

  • 沧州免费网站建设做ptt网站
  • 校园二手网站建设目的意义自己建设企业网站
  • 什么网站可以做音乐伴奏html5网页成品代码
  • 网站开发合同审核要点用自己的电脑做网站需要备案吗
  • 企业建立网站需要提供什么做网站搜索排名
  • 企业网站建设论文5000wordpress顶部代码
  • wordpress站点标题是什么网站优化建设苏州
  • 专业网站定制流程建筑公司二级资质要求
  • 梁朝伟做汤唯视频网站网站优化最为重要的内容是
  • 做网站如何分页大连网站设计报价
  • 漳浦县建设局网站网站名是什么
  • node做网站网站手机端生成
  • 类做秋霞的网站五合一小程序网站
  • 南宁网站开发软件网站建设有掏钱么
  • 视差网站crm 都免费了
  • 网站关键词掉的很快烟台网站制作工具
  • 用dw怎么做用户登录页面的网站wordpress 最简单模板下载
  • 手机网站建设报价建设网站之前都需要准备什么
  • 廊坊网站建设 elu谷建网站建设模板
  • 石家庄网站制作机构局域网怎么做网站
  • 在线音乐网站开发php江门网站建设报价
  • 网站开发视频转码旅游营销型网站
  • 做公司网站用哪个公司比较好详情页模板免费套用
  • 在线做行测的网站整站排名服务
  • 织梦网站分享插件我想接app纯注册推广单
  • 做pc端网站资讯html编辑器手机版
  • 凡科做网站在百度能看见吗网页游戏网站那个好
  • yahoo不收录我的网站中小学生作文网
  • 自我介绍ppt配图百度搜索排名优化
  • 米课wordpress建站自己公司网站自己能做吗