分布式事务Hmily TCC源码--学习整合

一、什么是分布式事务

分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点上,

本质上来说,分布式事务是为了保证不同数据库的数据一致性

TCC事务主要是基于AOP切面拦截实现的三阶段提交事务,下面我们来跟读源码====>

hmily,这原本是5个根本不相干的英文字母拼凑在一起的。我第一次看到关于它的故事是在某年某月某日的某本杂志上看到的,题目就是hmily。
C是一个活泼的女孩,她在大学的生活中平平淡淡的过了2年半 ,故事的开始是从一张招聘告示开始的。因为学校的实习任务,C必须在这个暑假完成一份实习报告。自认为是设计系最具另类思维新人的她,并不削于去那些小的平面广告公司做设计师。走过宿舍门前的公告栏时,她突然发现了一张跟她一样另类的招聘启示。“招设计助理,要求,女,大三,带写就业报告,月薪…………”。就这样C按照启示上的地址来到了学校附近的一所居民楼里,第一次见到了她的老板B。从应聘过程中她了解到B是本校的大四师兄,招聘她来的目的是协助他为完成毕业报告。人长得一般,不过肩很宽,牙齿很白,笑起来很阳光…………基本上双方对第一次见面都满意,就这样C就开始了每天往返于学校--工作室--宿舍之间。当然后面的情节很老套,C和B在渐渐的相处里擦出了火花,C在大学里第一次尝到了恋爱的滋味,对于这个有点静却总是对着她微微笑的男生非常满意。她很享受每天傍晚,靠着B宽宽的肩,钻进他怀里撒娇。她喜欢B弯下腰来给她系鞋带,她喜欢看B吃她剩下的食物,还要对她说“谢谢”……B喜欢画画,画里大多数描写的都是C,每一副画的右下角都会有一个签名“hmily”,这是B的秘密,每当C仰着脑袋问他时,他都会神秘一笑,在C脸上轻啄一下,“等你嫁给我就知道了”。
B的毕业论文顺利完成,C也顺利升到大四。在B离开的日子里,他们通过电话互相倾诉对彼此的思念。偶尔的相距让两人的生活一直处于平稳阶段。C毕业了,幸运来到一家不错的广告公司,开始每天有规律的生活。这家公司的老板叫A,是一个很年轻又长得很帅的男人。从C第一天来到他公司,他就对C产生了一份不一样的感情,是他安排C来到他的身边,他坚信猎物快到手了。C是个单细胞,特别是在感情方面,她一直认为有了B已经很满足了。从A表白的那天开始,C的生活开始乱了,而B这时正因为事业的需要,再一步一步往上爬,来看C的机会少了,所以对C的心里关心也少了。往往在这个时候,A是第一个出现在C面前的人。从最初的逃避到慢慢的了解接触,C一步一步走向了A。她渐渐的少回去当初那个温馨的小屋,去看看B的画,也渐渐忘了“hmily”。
当B意识到C的转变时,已经晚了。无论他如何哀求,C还是不愿意回到他的身边。B带着伤心离开了这个城市,他最后留给了C一副画,一副带有“hmily”签名的画…………
时间过得很快,B的事业在步步高升,而他也从此成为了一个孤独的人。往往走在城市喧嚣的街道,看着身边走过的情侣,他都会想起C,想念那个充满爱的 小屋。
而C在没有B 的城市里,和A过得并不开心,失去了新鲜感的双方,开始了无休止的战争。因为他们两个都不愿意先向对方低头,他们最终分开了。带着自己的行李,C搬出了A的家,回到从前的小屋,看着满是灰尘的画,C落泪了。在收拾屋子的过程中,C发现了B留下的日记。看到了hmily的真正含义:“How much I love you!”-----“我是多么爱你"!!!

二、CAP理论
解决多个微服务之间数据可能不一致的问题,一般有个CAP理论:

C: 一致性.在分布式系统中的所有数据备份,在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新的数据副本
A: 可用性,好的响应性能.完全的可用性指的是在任何故障模型下,服务都会有限的时间内处理完成并进行响应
P:分区容忍性.尽管网络有部分消息丢失,但系统仍然可以继续工作
CAP原理证明,任何分布式系统只可同时满足以上两点,无法三者兼顾.由于关系型数据库是单节点无复制的,因此不具有分区容忍性,但具有一致性和可用性,而分布式的微服务系统都必须满足分区容忍性,SpringCloud中的Eureka就是A P 定理的结合

转载于:https://www.cnblogs.com/xxmyz/p/10064044.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
1、课程简介Spring Cloud是一系列框架的有序集合。它利用Spring Boot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。       在本套课程中,我们将全面的讲解Spring Cloud技术栈, 从环境的部署到技术的应用,再到项目实战,让我们不仅是学习框架技术的使用,而且可以学习到使用Spring Cloud如何解决实际的问题。Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构。- 注册中心负责服务的注册与发现,很好将各服务连接起来- 断路器负责监控服务之间的调用情况,连续多次失败进行熔断保护。- API网关负责转发所有对外的请求和服务- 配置中心提供了统一的配置信息管理服务,可以实时的通知各个服务获取最新的配置信息- 链路追踪技术可以将所有的请求数据记录下来,方便我们进行后续分析- 各个组件又提供了功能完善的dashboard监控平台,可以方便的监控各组件的运行状况2、适应人群有一定的Java基础,并且要有一定的web开发基础。3、课程亮点       系统的学习Spring Cloud技术栈,由浅入深的讲解微服务技术。涵盖了基础知识,原理剖析,组件使用,源码分析,优劣分析,替换方案等,以案例的形式讲解微服务中的种种问题和解决方案l  微服务的基础知识n  软件架构的发展史n  微服务的核心知识(CAP,RPC等)l  注册中心n  Eureka搭建配置服务注册n  Eureka服务端高可用集群n  Eureka的原理和源码导读n  Eureka替换方案Consuln  Consul下载安装&服务注册&高可用l  服务发现与服务调用n  Ribbon负载均衡基本使用&源码分析n  Feign的使用与源码分析n  Hystrix熔断(雪崩效应,Hystrix使用与原理分析)n  Hystrix替换方案Sentinell  微服务网关n  Zuul网关使用&原理分析&源码分析n  Zuul 1.x 版本的不足与替换方案n  SpringCloud Gateway深入剖析l  链路追踪n  链路追踪的基础知识n  Sleuth的介绍与使用n  Sleuth与Zipkin的整合开发l  配置中心n  SpringClond Config与bus 开发配置中心n  开源配置中心Apollo4、主讲内容章节一:1.     微服务基础知识2.     SpringCloud概述3.     服务注册中心Eureka4.     Eureka的替换方案Consul章节二:1.     Ribbon实现客户端负载均衡2.     基于Feign的微服务调用3.     微服务熔断技术Hystrix4.     Hystrix的替换方案Sentinel章节三:1.     微服务网关Zuul的基本使用2.     Zuul1.x 版本的不足和替换方案3.     深入SpringCloud Gateway4.     链路追踪Sleuth与Zipkin章节四:1.     SpringCloud Config的使用2.     SpringCloud Config结合SpringCloud Bus完成动态配置更新3.     开源配置中心Apollo
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值