分布式
文章平均质量分 78
bingbingYang_88
这个作者很懒,什么都没留下…
展开
-
全球分布式id生成方案
全球分布式id生成方案uuid数据库自增序列leaf-segment双buffer基于redis、mongodb、zk等中间件生成雪花算法uuid1,当前日期和时间 时间戳2,时钟序列。 计数器3,全局唯一的IEEE机器识别号,如果有网卡,从网卡MAC地址获得,没有网卡以其他方式获得。优点:代码简单,性能好(本地生成,没有网络消耗)保证唯一(相对而言,重复概率极低可以忽略)缺点:每次生成的ID都是无序的,而且不是全数字,且无法保证趋势递增原创 2022-04-25 16:40:56 · 725 阅读 · 0 评论 -
SpringBoot整合elastic-job实现分布式任务调度
SpringBoot整合elastic-jobmaven依赖添加application.properties文件配置zookeeper 注册中心Abstract具体的jobelasticJob 管理后台ElasticJob 是一个非常不错的分布式定时任务调度开源组件。使用它实现定时任务简单又方便,网上有很多种做法,今天记录一下我在项目中的一种简单的使用方式。官网地址:http://elasticjob.io/maven依赖添加<!-- 任务调度 --><dependency>原创 2021-07-01 18:06:37 · 469 阅读 · 0 评论 -
读懂这篇文章带你快速理解--分布式事务两阶段和三阶段(Seata的二阶段的演变)
**分布式事物基本理论:**基本遵循CPA理论,采用柔性事物特征,软状态或者最终一致性特点保证分布式事物一致性问题。首先我们Seata先看看两阶段提交协议的演变:SEATA官网:http://seata.io/zh-cn/docs/overview/what-is-seata.htmlAT 模式整体机制两阶段提交协议的演变:一阶段:业务数据和回滚日志记录在同一个本地事务中提交,释放...原创 2020-05-07 17:27:38 · 2455 阅读 · 1 评论 -
手把手教你快速整合springBoot2.XRedis Sentinel哨兵集群
搭建Redis集群地址:https://blog.csdn.net/weixin_30409927/article/details/105772634GitHub地址:https://github.com/ylw530788697/springboot-redis-sentinel.gitpom文件引用<?xml version="1.0" encoding="UTF-8"?>...原创 2020-04-27 16:47:14 · 582 阅读 · 1 评论 -
一篇文章快速搭建主从复制 哨兵机制Redis集群
Redis集群策略主要有:主从复制哨兵模式集群(Redis-Cluster)分片本文主要讲解如何搭建Redis 主从复制(一主二从)。一、下载安装Redis redis下载地址 https://github.com/MicrosoftArchive/redis/releases将下载好的压缩包解压二、配置文件redis-latest-wind...原创 2020-04-26 17:17:25 · 245 阅读 · 0 评论 -
MASTER aborted replication with an error: NOAUTH Authentication required.
[16224] 26 Apr 16:52:52.483 * Partial resynchronization not possible (no cached master)[16224] 26 Apr 16:52:52.483 # Unexpected reply to PSYNC from master: -NOAUTH Authentication required.[16224] 26...原创 2020-04-26 16:56:53 · 2019 阅读 · 0 评论 -
一遍文章快速理解阿里分布式事务原理Seata
在2019年1月,Seata正式对外开源。Seata是什么呢?Seata 是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。在 Seata 开源之前,Seata 对应的内部版本在阿里经济体内部一直扮演着分布式一致性中间件的角色,帮助经济体平稳的度过历年的双11,对各BU业务进行了有力的支撑。经过多年沉淀与积累,商业化产品先后在阿里云、金融云进行售卖。20...原创 2020-04-19 22:45:15 · 635 阅读 · 0 评论 -
Zookeeper之临时节点实现分布式锁原理探讨
了解zk的分布式锁之前,就必须知道zk的原理,zk分永久顺序节点,临时顺序节点架构介绍在介绍使用Zookeeper实现分布式锁之前,首先看当前的系统架构图解释: 左边的整个区域表示一个Zookeeper集群,locker是Zookeeper的一个持久节点,node_1、node_2、node_3是locker这个持久节点下面的临时顺序节点。client_1、client_2、client_...原创 2020-04-13 15:44:20 · 1520 阅读 · 0 评论 -
SpringBoot2.1X Redis之过期时间实现分布式锁还存在Bug吗
之前用redisTemplate实现setnx exptime时是分两步的1,redisTemplate.opsForValue().setIfAbsent2,redisTemplate.expire这样的不是原子性的 可能第一步和第二步之间 重新发布了或者服务器重启了 这个key就永远不会消失了Setnx就是,如果没有这个key,那么就set一个key-value, 但是如果这个ke...原创 2020-04-13 15:12:17 · 1762 阅读 · 1 评论 -
org.springframework.web.bind.MethodArgumentNotValidException: Validation failed for argument
在我们前一遍博客中有谈到springboot基于validation写出简介优雅的restful接口springboot基于validation写出简介优雅的restful接口当我们把这个真正加到生产的项目中时发现下面这个奇怪的提示。org.springframework.web.bind.MethodArgumentNotValidException: Validation failed ...原创 2020-04-11 15:08:58 · 7200 阅读 · 2 评论 -
每个程序员都能写出简介优雅的restful接口validation(springboot)
背景最近在开发的时候贼烦,本来是想写一个非常简洁而优雅的restful风格的代码的,controller层本来是想超级简单,可是奈何,一个接口包含输入请求参数总是需要我们去效验的。 @PostMapping("/saveIntuitiveLike") @AdminValidable(validType = 2) @ApiOperation(value = "直观像模块-新建直观...原创 2020-04-11 11:07:29 · 677 阅读 · 0 评论 -
乐观锁实现分布式锁
**乐观锁**就是说特别乐观,比如说每次去吃饭的时候,都认为窗口没有人,只有到了吃饭的窗口才看有没有人,如果有人则去别的地方吃饭。就像系统认为数据的更新在大多数情况下是不会产生冲突的, 只在数据库更新操作的提交的时候才对数据作冲突检测。如果检测的结果出现了与预期数据不一致的情况,则返回失败的信息。乐观锁在大多数是基于数据版本(version)的记录机制实现的。为了更好的理解数据库乐观锁在...原创 2020-04-10 22:30:47 · 1707 阅读 · 2 评论 -
分布式事务JTA原理以及详细实现demo
背景由于项目使用到了两个数据源,且在同一个方法里对这两个数据源有写的操作,所以这里不免需要保持事务一致性。解决方案解决该问题需要使用到分布式事务,常见的分布式事务,两阶段提交方案/XA方案(行业一般称为2PC)方案,TCC方案(try confirm cancel)也叫三阶段方案或者3PC方案,本地消息表,可靠消息最终一致性方案,最大努力通知方案。今天,我们着重介绍两阶段提交方案,代表...原创 2020-04-10 18:25:04 · 878 阅读 · 1 评论 -
面试题Ribbon与Feign的区别是什么?
Ribbon:添加maven依赖spring-starter-ribbon ,使用@RibbonClient(value=“服务名称”) RestTemplate调用远程服务对应的方法Feign:添加maven依赖spring-starter-feigon服务提供方提供对外接口,调用方在接口上使用@FeignClient(“指定服务名”)区别:1,启动类使用的注解不同,Ribb...原创 2020-03-24 17:51:41 · 1362 阅读 · 0 评论 -
手把手教swagger2统一加入Authorize/ToKen等公共参数
在使用swagger-ui的过程中,swagger页面调用的时候会统一在header里面加入输入token参数的位置加入pom依赖包<!-- swagger2 --> <dependency> <groupId>io.springfox</groupId> <artifac...原创 2019-08-20 11:11:05 · 13434 阅读 · 5 评论 -
新手也可以快速整合springboot+JPA框架
pom文件引入依赖 <parent> <groupId>org.springframework.boot</groupId> <artifactId>spring-boot-starter-parent</artifactId> <version>2.0.1.RELEASE</version>...原创 2019-08-19 21:12:03 · 222 阅读 · 0 评论 -
LCN(使用springCloud)分布式事物原理
1. 分布式事物产生的背景在微服务环境下,因为会根据不同的业务拆分成不同的服务,比如说会员服务,订单服务,商品服务等。让专业的人做专业的事,每个服务都有自己独立的数据库,独立运行,互不影响。服务与服务之间通讯采用RPC(dubbo)/http(springCloud)远程调用技术,但是每个服务中都有自己独立的数据源,即自己的本地事务。两个服务相互通讯的时候,两个本地事务互不影响,从而出现分布式...原创 2019-07-26 11:41:49 · 833 阅读 · 0 评论