![](https://img-blog.csdnimg.cn/20201014180756930.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 87
谈胖胖
码农
展开
-
elasticsearch从入门到入门系列(二)---快速入门B
1.文档操作新增文档请求(一): PUT localhost:9200/nba/_doc/1 (指定id) { "name": "哈登", "team_name": "⽕火箭", "position": "得分后卫", "play_year": "10", "jerse_no"...原创 2019-11-11 21:50:22 · 6008 阅读 · 0 评论 -
高并发分布式全局唯一ID
在复杂分布式系统中,往往需要对大量的数据和消息进行唯一标识,此时一个能够生成全局唯一ID的系统是非常必要的。下面针对常见的实现方式进行总结:方法一:Twitter 开源的 Snowflake 算法(俗称雪花算法)雪花ID生成的是一个64位的二进制正整数,然后转换成10进制的数。64位二进制数由如下部分组成:41 bit 作为毫秒数 -41位的长度可以使用69年 10 bit...原创 2019-06-14 09:04:11 · 2078 阅读 · 0 评论 -
分布式锁的三种实现方式
在很多场景中,我们为了保证数据的最终一致性,需要很多的技术方案来支持,比如分布式事务、分布式锁等。有的时候,我们需要保证一个方法在同一时间内只能被同一个线程执行。在单机环境中,Java中其实提供了很多并发处理相关的API,但是这些API在分布式场景中就无能为力了。也就是说单纯的Java Api并不能提供分布式锁的能力。所以针对分布式锁的实现目前有多种方案:分布式锁一般有三种实现方式:1.数据库...原创 2019-06-15 19:49:11 · 1747 阅读 · 0 评论 -
分布式事务(一)
什么是事务?事务由一组操作构成,我们希望这组操作能够全部正确执行,如果这一组操作中的任意一个步骤发生错误,那么就需要回滚之前已经完成的操作。也就是同一个事务中的所有操作,要么全都正确执行,要么全都不要执行。事务的四大特性 ACID原子性 :原子性要求,事务是一个不可分割的执行单元,事务中的所有操作要么全都执行,要么全都不执行。 一致性 :一致性要求,事务在开始前和结束后,数据库的完整...原创 2019-06-16 10:43:24 · 836 阅读 · 0 评论 -
分布式事务(二)
分布式事务协议下面介绍几种实现分布式事务的协议。两阶段提交协议 2PC分布式系统的一个难点是如何保证架构下多个节点在进行事务性操作的时候保持一致性。为实现这个目的,二阶段提交算法的成立基于以下假设:该分布式系统中,存在一个节点作为协调者(Coordinator),其他节点作为参与者(Cohorts)。且节点之间可以进行网络通信。 所有节点都采用预写式日志,且日志被写入后即被...原创 2019-06-16 14:15:07 · 912 阅读 · 0 评论 -
RocketMQ系列---事务消息
简单总结:通过保证“消息发送”与本地事务的原子性,而消息的订阅则交由MQ本身的机制实现。执行流程说明:Producer向borker发送消息; 服务端将消息持久化后,向发送方确认消息已经发送成功后,此事为半消息。 发送方开始执行本地事务逻辑。 发送方根据本地事务执行结果向服务端二次确认(Commit或者Rollback),服务端收到commit状态则半消息标志为可投递,订阅方最终...原创 2019-10-02 11:50:30 · 4194 阅读 · 2 评论 -
RocketMQ系列---常见问题
1.RocketMQ如何避免重复消费?RocketMQ本身不保证消息重复消费,如果业务有要求不能重复消费,需要在自身的业务处理,常见的操作有两种;接口幂等,消费端业务消息保持幂等性,例如redis的setNx()命令,当然要注意设置key的超时时间,以及key的唯一性。 redis的Incr命令,确定消息的唯一值,在set之前先判断值是否存在,同时也是需要注意超时时间。2.Rocket...原创 2019-10-02 13:54:41 · 5122 阅读 · 2 评论