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

项目网站建设应入哪个科目蒙牛官网网站怎么做的

项目网站建设应入哪个科目,蒙牛官网网站怎么做的,网站建站网站设计,wordpress modernizr分布式锁:在一个公共的存储服务上打上一个标记,如Redis的setnx命令,是先到先得方式获得锁,ZooKeeper有点像下面的demo,比较大小的方式判决谁获得锁。 package com.ldj.mybatisflex.demo;import java.util.*; import java.util.co…

 分布式锁:在一个公共的存储服务上打上一个标记,如Redis的setnx命令,是''先到先得''方式获得锁,ZooKeeper有点像下面的demo,比较大小的方式判决谁获得锁。

package com.ldj.mybatisflex.demo;import java.util.*;
import java.util.concurrent.CopyOnWriteArrayList;
import java.util.concurrent.CountDownLatch;
import java.util.concurrent.TimeUnit;/*** User: ldj* Date: 2025/1/12* Time: 1:50* Description: 基于文件系统制作的分布式锁demo*/
public class LockDemo {public static void main(String[] args) throws InterruptedException {//模拟文件存储系统List<String> files = new CopyOnWriteArrayList<>();List<Integer> hashCodes = new ArrayList<>();//使用3个线程模拟3台服务往文件存储系统写消息writeMsg(files, hashCodes);System.out.println("result:" + hashCodes.toString());//构建hashCode与IP的对映关系Map<String, String> map = new LinkedHashMap<>();for (int i = 0; i < hashCodes.size(); i++) {map.put(hashCodes.get(i).toString(), files.get(i).split(";")[0]);}System.out.println(map.toString());//排序获取最大数值Collections.sort(hashCodes);String key = hashCodes.get(hashCodes.size() - 1).toString();System.out.println("key: " + key);//比较3个消息code那个数字最大,最大的就是获得锁System.out.println("获得分布式锁的服务IP是: " + map.get(key));//模拟获得锁服务处理业务TimeUnit.SECONDS.sleep(3);//处理完成业务,通知文件存储系统清理消息文件(或者文件系统的定时任务自己处理也行)files.clear();System.out.println(files.toString());/*假设一个场景,1号服务获得锁,处理业务过程中挂了,会怎么样???响应超时用户重试请求需要服务协调器去注册中心,根据心跳机制找到健康的服务然后再重新获取分布式锁当然这个场景不需要分布式锁,直接让服务协调器负载均衡派发请求就好了*/}private static void writeMsg(List<String> files, List<Integer> hashCodes) throws InterruptedException {//计数器,用于等待线程执行完毕!CountDownLatch count = new CountDownLatch(3);new Thread(() -> {files.add("192.168.208.1;" + UUID.randomUUID().toString().replaceAll("-", ""));count.countDown();}).start();new Thread(() -> {files.add("192.168.208.2;" + UUID.randomUUID().toString().replaceAll("-", ""));count.countDown();}).start();new Thread(() -> {files.add("192.168.208.3;" + UUID.randomUUID().toString().replaceAll("-", ""));count.countDown();}).start();//等待3个线程(服务器)往文件系统写消息count.await();System.out.println("3个模拟服务器往文件存储器完毕!");System.out.println(files.toString());//将消息字符串转为正整数字if (files.size() > 0) {for (String file : files) {hashCodes.add(Math.abs(file.hashCode()));}}//重复判单,确保每个数字不相等,如果相等再来一次HashSet<Integer> set = new HashSet<>(hashCodes);if (set.size() != hashCodes.size()) {files.clear();hashCodes.clear();writeMsg(files, hashCodes);}}
}

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

相关文章:

  • 徐州网站制作怎么做推广软文营销案例
  • 酒店网站建设方案策划网站设计建设服务
  • 没有公司自己做网站哈尔滨网络公司如何
  • 网站pc转移动端代码织梦网站模板视频
  • 做网站做得好的公司有营销型网站有哪些
  • 常州网站建设哪家好网站上截小屏幕 怎么做
  • app 网站 优势网站常用插件
  • 创业网站推广怎么做新产品推广方案范文
  • 百度统计网站速度诊断象山经济开发区建设有限公司网站
  • 天塔网站建设公司如何在腾讯云上建设网站
  • 做外贸的人如何上国外网站wordpress评论通知作者
  • 网站常用模块功能说明做网站要注意的
  • 企业网站建设需求调查下载应用商店app
  • c 网站开发环境建立自信
  • 免费个人微网站运维工程师可以自学吗
  • 提供南昌网站建设公司网络优化app
  • 怎样建个自己的网站鄂州第一官方网站
  • 网站建设佰首选金手指十八网站怎么做视频背景
  • iis发布域名网站查询企业联系方式的软件
  • 接网站建设单子的网站创建网站的工作流程八年级信息技术
  • 网站开发费怎么入账网站弹出
  • 体育彩票网站开发该做哪些步骤网站logo制作教程
  • 摄影师都在哪些网站发布作品最新某地方装修门户源码 php装饰公司程序 dede行业网站模板
  • 南山网站设计方案广告设计公司策划书
  • 网站建设备案需要材料如何设计公司官网站
  • c 网站购物车怎么做广东省建设监理协会网站 首页
  • 中国建设银行青岛网站做网站要会哪些技术
  • 深圳做网站需要多少费用旅游网站建设策划书模板
  • 网站300m空间威海好的网站建设公司
  • 网站建设实战教程佛山建设网站