
分布式
柠檬草。
这个作者很懒,什么都没留下…
展开
-
『微服务治理之Dubbo』dubbo与http请求的区别
分布式项目远程调用,大部分都是使用dubbo,那dubbo跟http请求有什么别人呢,为什么不直接用http请求呢,也不需要配置,非常简单,所以今天拿dubbo和http做一下比较。首先从协议层开始比较 TCP/IP 层级模型结构网络结构作用应用层直接对应用程序提供服务,定义了用于在网络中进行通信和传输数据的接口表示层定义不同的系统中数据的传输格式,编码和...原创 2019-11-30 17:33:55 · 2353 阅读 · 0 评论 -
zookeeper与eureka对比
zookeeper与eureka对比CAPzookeeper保证了CPEureka保证的AP服务注册发现的时效性容量系统遇到服务过慢的问题,怎么优化和解决的CAPC( Consistency):一致性 A(Availability):可用性 P(Partition tolerance):分区容错性zookeeper保证了CP服务B注册到ZKLeader上,必须强制同步到ZK...原创 2019-11-23 16:08:46 · 250 阅读 · 2 评论 -
『分布式事务』最大努力通知
这个方案的大致意思就是:系统 A 本地事务执行完之后,发送个消息到 MQ;这里会有个专门消费 MQ 的最大努力通知服务,这个服务会消费 MQ 然后写入数据库中记录下来,或者是放入个内存队列也可以,接着调用系统 B的接口;要是系统 B 执行成功就 ok 了;要是系统 B 执行失败了,那么最大努力通知服务就定时尝试重新调用系统 B,反复 N次,最后还是不行就放弃。...原创 2019-09-17 10:03:59 · 368 阅读 · 0 评论 -
『分布式事务』可靠消息最终一致性
今天给大家分享的是分布式事务:可靠消息最终一致性这个的意思,就是干脆不要用本地的消息了,直接基于MQ来实现事务,比如阿里的RocketMQ就支持消息事务A系统先发送一个prepared消息到mq,如果这个prepared消息发送失败那么就直接取消操作别执行了如果这个消息发送成功过了,那么接着执行本地事务,如果成功就告诉mq发送确认消息,如果失败就告诉mq回滚消息如果发送了确认消...原创 2019-09-17 10:01:33 · 422 阅读 · 0 评论 -
『分布式事务』本地消息表
咱们今天聊一聊分布式事务的另一种方案,本地消息表:A系统在自己本地一个事务里操作同时,插入一条数据到消息表接着A系统将这个消息发送到MQ中B系统接收到消息之后,在一个事务里,往自己本地消息表里插入一条数据,同时执行其他的业务操作,如果这个消息已经被处理过了,那么此时这个事务会回滚,这样保证不会重复消费B系统执行成功之后,就会更新自己本地消息的状态以及A系统消息表的状态...原创 2019-09-17 09:17:43 · 403 阅读 · 2 评论 -
『分布式事务』TCC方案
此图是在别人博客中盗的,感觉人家画的比我画的好看那么一丢丢,O(∩_∩)O哈哈~现在把A服务和B服务看做是银行服务吧这个其实用到了补偿的概念,分为了三个阶段:1)Try阶段:这个阶段说的是对各个服务的资源做检测以及对资源进行锁定或者预留2)Confirm阶段:这个阶段说的是在各个服务中执行实际的操作3)Cancel阶段:如果任何一个服务的业务方法执行出错,那么这里就需要进行补偿,就是执...原创 2019-09-06 17:58:32 · 425 阅读 · 0 评论 -
『分布式事务』两阶段提交方案/XA方案
举个例子,比如说咱们公司里经常tb是吧(就是团建),然后一般会有个tb主席(就是负责组织团建的那个人)第一阶段,一般tb主席会提前一周问一下团队里的人,说,大家伙,下周六我们去滑雪+烧烤,去吗?这个时候tb主席开始等待每个人的回答,如果所有人都说ok,那么就可以决定一起去这次tb。如果这个阶段里,任何一个人回答说,我有事不去了,那么tb主席取消这次活动。第二阶段,那下周六大家就一起去滑雪+烧...原创 2019-09-06 17:36:16 · 994 阅读 · 0 评论 -
『简单聊聊分布式锁』zookeeper分布式锁与Redis分布式锁的比较
redis 分布式锁,其实需要自己不断去尝试获取锁,比较消耗性能。zk 分布式锁,获取不到锁,注册个监听器即可,不需要不断主动尝试获取锁,性能开销较小。另外一点就是,如果是 redis 获取锁的那个客户端 出现 bug 挂了,那么只能等待超时时间之后才能释放锁;而 zk 的话,因为创建的是临时 znode,只要客户端挂了,znode 就没了,此时就自动释放锁。redis 分布式锁大家没...原创 2019-09-06 17:19:35 · 303 阅读 · 0 评论 -
『简单聊聊分布式锁』zookeeper分布式锁
zookeeper分布式锁zookeeper分布式锁zookeeper分布式协调zookeeper分布式锁zookeeper分布式锁举个栗子。对某一个数据连续发出两个修改操作,两台机器同时收到了请求,但是只能一台机器先执行完另外一个机器再执行。那么此时就可以使用 zookeeper 分布式锁,一个机器接收到了请求之后先获取 zookeeper 上的一把分布式锁,就是可以去创建一个 zno...原创 2019-09-05 21:43:47 · 149 阅读 · 0 评论 -
『简单聊聊分布式锁』Redis分布式锁
分布式锁Redis分布式锁Redis分布式锁单机Redis分布式锁首先咱们先聊聊单机的Redis分布式锁第一个最普通的实现方式,就是在 redis 里使用 setnx 命令创建一个 key,这样就算加锁。SET resource_name my_random_value NX PX 30000执行这个命令就 ok。NX:表示只有 key 不存在的时候才会设置成功。(如果此时...原创 2019-09-05 21:42:05 · 185 阅读 · 0 评论