分布式
文章平均质量分 94
M_Jack
这个作者很懒,什么都没留下…
展开
-
微服务分布式事务4种解决方案实战
一、前言Seata 是一款开源的分布式事务解决方案,star 高达 18100+,社区活跃度极高,致力于在微服务架构下提供高性能和简单易用的分布式事务服务,本文将剖析 Seata-AT 的实现原理,让用户对 AT 模式有更深入的认识。二、Seata 事务模式是什么?1. Seata 对事务的定义Seata 定义了全局事务的框架。全局事务定义为若干分支事务的整体协调:TM 向 TC 请求发起(Begin)、提交(Commit)、回滚(Rollback)全局事务。 TM 把代表全局事务的转载 2021-03-06 19:50:53 · 1766 阅读 · 0 评论 -
基于redis的分布式锁实现
关于分布式锁很久之前有讲过并发编程中的锁并发编程的锁机制:synchronized和lock。在单进程的系统中,当存在多个线程可以同时改变某个变量时,就需要对变量或代码块做同步,使其在修改这种变量时能够线性执行消除并发修改变量。而同步的本质是通过锁来实现的。为了实现多个线程在一个时刻同一个代码块只能有一个线程可执行,那么需要在某个地方做个标记,这个标记必须每个线程都能看到,当标记不存在时可以设...转载 2018-12-02 01:01:18 · 151 阅读 · 0 评论 -
jedisLock—redis分布式锁实现
、使用分布式锁要满足的几个条件:系统是一个分布式系统(关键是分布式,单机的可以使用ReentrantLock或者synchronized代码块来实现) 共享资源(各个系统访问同一个资源,资源的载体可能是传统关系型数据库或者NoSQL) 同步访问(即有很多个进程同事访问同一个共享资源。没有同步访问,谁管你资源竞争不竞争)二、应用的场景例子 管理后台的部署架构(多台tomcat服务器+...转载 2018-12-02 01:04:19 · 267 阅读 · 0 评论 -
Redis 分布式锁的正确实现方式( Java 版 )
前言分布式锁一般有三种实现方式:1. 数据库乐观锁;2. 基于Redis的分布式锁;3. 基于ZooKeeper的分布式锁。本篇博客将介绍第二种方式,基于Redis实现分布式锁。虽然网上已经有各种介绍Redis分布式锁实现的博客,然而他们的实现却有着各种各样的问题,为了避免误人子弟,本篇博客将详细介绍如何正确地实现Redis分布式锁。可靠性首先,为了确保分布式锁可用,我们至少要确保锁的...转载 2018-12-02 01:11:45 · 136 阅读 · 0 评论 -
分布式锁简单入门以及三种实现方式介绍
很多小伙伴在学习Java的时候,总是感觉Java多线程在实际的业务中很少使用,以至于不会花太多的时间去学习,技术债不断累积!等到了一定程度的时候对于与Java多线程相关的东西就很难理解,今天需要探讨的东西也是一样的和Java多线程相关的!做好准备,马上开车!学过Java多线程的应该都知道什么是锁,没学过的也不用担心,Java中的锁可以简单的理解为多线程情况下访问临界资源的一种线程同步机制。...转载 2018-12-04 01:24:18 · 108 阅读 · 0 评论 -
基于Redis的简单分布式锁的原理
使用场景: 在tomcat集群环境下,有任务调度,也就是定时任务 同一时间多个tomcat执行同一个任务,如定时关单. 如果有大量订单需要关闭,则每个tomcat都会执行相同数量的关单sql, 这样是非常浪费资源的,如果还有相应的记录的话 则会导致重复记录的出现. 这个时候redis分布式锁就派上用场了,通过这个锁,可以随机的让单个tomcat去执行关单操作,而其余的tomcat则不会执...转载 2018-12-04 01:39:53 · 168 阅读 · 0 评论 -
分布式场景常见问题及解决方案
一、分布式锁 分布式锁是在分布式场景下一种常见技术,通常通过基于redis和zookeeper来实现,本文主要介绍redis分布式锁和zookeeper分布式锁的实现方案和对比: (1)基于redis的普通实现 这个方案的加锁主要实现是基于redis的”SET key 随机值 NX PX 过期时间(毫秒)”指令,NX代表只有key不存在时才设置成功,PX代表在过期时间后会自动释放...转载 2019-08-09 10:39:54 · 358 阅读 · 0 评论