摘要:
平时工作中,总会遇到一些数据结构的封装调用,例如(1)List 基础数据类型的集合去重;(2)再或者根据对象的某个属性,多个属性去重;(3)List 集合转换为 Map 集合或者 Set集合等等;今天有时间总结一下Java8中常用的集合转换! 基础数据 @Data @AllArgsConstruct 阅读全文
摘要:
博客参考bilibili视频:分布式事务解决方案专题 分布式事务对比分析: 在学习各种分布式事务的解决方案后,我们了解到各种方案的优缺点: 2PC 最大的诟病是一个阻塞协议。RM【Resource Manager】在执行分支事务后需要等待 TM【Transaction Manager】的决定,此时服 阅读全文
摘要:
前边我们已经学习了四种分布式事务解决方案,2PC、TCC、可靠消息最终一致性、最大努力通知,每种解决方案我们通过案例开发进行学习,本章节我们结合互联网金融项目中的业务场景,来进行分布式事务解决方案可行性分析。 一 系统介绍 1.1 P2P介绍 P2P 金融又叫 P2P 信贷。其中 P2P 是 pee 阅读全文
摘要:
博客参考bilibili视频:分布式事务解决方案专题 一 什么是最大努力通知 最大努力通知也是一种解决分布式事务的方案,下边是一个是充值的例子: 1)交互流程: 1、账户系统调用充值系统接口; 2、充值系统完成支付处理向账户系统发起充值结果通知。 若通知失败,则充值系统按策略进行重复通知 3、账户系 阅读全文
摘要:
一 什么是可靠消息最终一致性事务 可靠消息最终一致性方案是指当事务发起方执行完成本地事务后并发出一条消息,事务参与方(消息消费者)一定能够接收消息并处理事务成功,此方案强调的是只要消息发给事务参与方最终事务要达到一致。 此方案是利用消息中间件完成,如下图: 事务发起方(消息生产方)将消息发给消息中间 阅读全文
摘要:
一 什么是 TCC 事务 TCC 是 Try、Confirm、Cancel 三个词语的缩写,TCC 要求每个分支事务实现三个操作:预处理 Try、确认 Confirm、撤销 Cancel。Try 操作做业务检查及资源预留,Confirm 做业务确认操作,Cancel 实现一个与 Try 相反的操作即回滚操 阅读全文
摘要:
一 什么是2PC 2PC 即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2 是指两个阶段,P 是指准备阶段,C 是指提交阶段。 举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单,才能出票。这时张三和李四分别抱怨 阅读全文
摘要:
一 事务的基本概念 1.1 什么是事务? 什么是事务?举个生活中的例子:你去小卖铺买东西,“一手交钱,一手交货”就是一个事务的例子,交钱和交货必须全部成功,事务才算成功,任一个活动失败,事务将撤销所有已成功的活动。 明白上述例子,再来看事务的定义:事务可以看做是一次大的活动,它由不同的小活动组成,这 阅读全文
摘要:
(一)Sentinel 简介 (1)随着微服务的普及,服务调用的稳定性变得越来越重要。Sentinel 以“流量”为突破口,在流量控制、熔断降级、负载保护等多个领域进行工作,保障服务可靠性。通俗:用来在微服务系统中保护微服务的作用,如何应对 服务雪崩 服务熔断 服务降级 就是用来替换 Hystrix 阅读全文
摘要:
(一)Nacos 简介 1) Nacos 致力于帮助您发现、配置和管理微服务。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据及流量管理; 2)Nacos 就是微服务架构中服务注册中心以及统一配置中心,用来替换原来的(eureka,consul)以及 conf 阅读全文