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

公司网站维护好做吗揭阳新闻最新消息

公司网站维护好做吗,揭阳新闻最新消息,网站备案证书放到哪里,做网站的博客分布式锁介绍 分布式锁是一种在分布式系统中用于控制不同节点上的进程或线程对共享资源进行互斥访问的技术机制。 在分布式环境中,多个服务可能同时访问和操作共享资源,如数据库、文件系统等。为了保持数据的一致性和完整性,需要确保在同一…

分布式锁介绍

分布式锁是一种在分布式系统中用于控制不同节点上的进程或线程对共享资源进行互斥访问的技术机制。

在分布式环境中,多个服务可能同时访问和操作共享资源,如数据库、文件系统等。为了保持数据的一致性和完整性,需要确保在同一时刻只有一个服务能够执行写操作。分布式锁就是用来实现这种互斥控制的机制。以下是分布式锁的一些特点和实现方式:

  1. 互斥性:确保同一时刻只有一个线程或进程持有锁,防止并发访问导致的数据不一致问题。

  2. 可重入性:允许同一个节点上的同一个线程在已经获取锁的情况下再次获取锁,而不会导致死锁。

  3. 锁超时:支持锁在一定时间后自动释放,避免因死锁导致的系统瘫痪。

  4. 高可用性:加锁和解锁过程需要高效,并且要保证高可用性,以防止分布式锁失效。

  5. 阻塞和非阻塞性:具备能够在必要时从阻塞状态中被唤醒的能力。

分布式锁的实现方式通常有以下几种:

  1. 基于数据库:通过数据库的行锁或条件乐观锁(版本号)来实现。适用于资源不存在数据库的情况,操作简单易于理解,但性能开销较大,不适合高并发场景。

  2. 基于缓存数据库:如使用Redis实现分布式锁,利用其原子操作和高性能的特点来控制资源的访问。这种方式适合微服务项目中的应用。

  3. 基于文件系统:通过在文件系统中创建锁文件的方式来实现,适用于需要跨进程或跨主机的锁。

  4. 基于ZooKeeper:利用ZooKeeper的顺序临时节点特性来实现分布式锁,适合复杂的分布式系统环境。

本文介绍的是基于redis的分布式锁

引入依赖

<dependency><groupId>org.redisson</groupId><artifactId>redisson</artifactId><version>3.27.2</version>
</dependency>
package com.solo.platform.common.config;import lombok.Data;
import org.redisson.Redisson;
import org.redisson.api.RedissonClient;
import org.redisson.config.Config;
import org.springframework.boot.context.properties.ConfigurationProperties;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;/*** @author: cc* @date: 2023/4/09* @description:*/
@Configuration
@ConfigurationProperties(prefix = "spring.data.redis")
@Data
public class RedissonConfig {private String host;private String port;private Integer database;private String password;/*** Redis URI的写法是:redis://[:password@]host[:port][/db-number][?option=value]。* <p>* 其中:* password:可选,用于连接Redis服务器的密码。* host:必填,Redis服务器的主机名或IP地址。* port:可选,Redis服务器的端口号,默认为6379。* db-number:可选,要连接的数据库编号,默认为0。* option:可选,连接选项,例如timeout、ssl等。** @return*/@Beanpublic RedissonClient redisClient() {// 1.创建配置Config config = new Config();String redisAddress = String.format("redis://:%s@%s:%s/%s", password, host, port, database);config.useSingleServer().setAddress(redisAddress);
//                .setDatabase(database);// 2.创建实例RedissonClient redisson = Redisson.create(config);return redisson;}}
 

 // 每个线程都创建自己的锁对象// 这是基于 Redis 实现的分布式锁Lock lock = this.redissonClient.getLock("userPledgeTaskCalc");try {// 上锁lock.lock();// 查询参与质押任务的人...业务代码//} finally {// 释放锁lock.unlock();}

推荐阅读
 

springboot 调用外部接口的21种方式

分布式事务4种实现方式

SpringBoot项目快速启动停止脚本

redis 加强版keydb来了

nginx 就该这么用

Nginx、Kong、Apisix、Gateway网关比较

Spring Cloud Gateway 自定义全局过滤器拦截token

Spring Boot 3.2.0 试用CRaC,启动速度提升3到10倍

Apache 架构师总结的 30 条架构原则

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

相关文章:

  • 百货网站建设建设英文网站的申请怎么写
  • 网络营销的形式网站营销烟台网站建设设计开发
  • 国内网站开发的主流技术校园门户网站开发需求分析
  • 太原新站优化网站模版的软件
  • 博客新手wordpress湖南关键词优化品牌推荐
  • 做资讯网站需要什么条件家装设计说明
  • 网站优化要怎么做网站模板 div
  • 关于网站开发的个人小结南宁有做门户网站的公司吗
  • 网站栏目标签如何调用陕西省交通建设集团公司门户网站
  • php做网站难么网站开发多少钱
  • 东营利津网站建设可信赖的网站建设推广
  • 社保网站哪里做转入怎么做网站运营
  • 滕州网站建设企业企业网站建设及推广研究
  • 网站做推广页需要什么软件智能云建站
  • 旅游网站ppt应做的内容网络项目计划书
  • html5网站是用什么软件做的网页设计与制作总结和体会
  • 做网站要先做商标吗修改wordpress登录框
  • 上海网站建设推广服务做网站还挣钱吗
  • 婚庆网站建设需求分析页面布局怎么设置
  • 公司英文网站印象笔记wordpress同步
  • 湖北省住房和建设厅网站首页那些网站hr可以做兼职
  • 淮安市哪里可以做网站青岛市住房城乡建设局网站
  • 大连零基础网站建设教学公司文化墙创意设计图片
  • 书店网站html模板线上平台运营方案
  • 怎么用ftp管理网站网站建设tlmh
  • 北师大 网页制作与网站建设 考试借用备案网站跳转做淘宝客
  • 嘉兴网站建设公司就找嘉乐网络爱给网素材官网app
  • 上海营销网站设计小规模公司做网站成本是什么
  • 做网站需要买如何购买网站域名
  • 旅行社网站规划与建设的流程图wordpress pdf 下载失败