对于Fescar开源分布式事务中间件,我们总结了开
时间:2019-01-28 03:35 来源:admin 作者:小编 点击:
次
Q1:Fescar的发展历史是什么?
阿里云如何与GTS Global Transaction Service建立合作关系?
A1:阿里巴巴是首批在中国应用色散转换(微服务)的公司之一。结果,在微服务架构下存在分布式事务问题。
在2014年,阿里巴巴中间件小组是为了提供一个分布式事务服务,应用程序中的组推出了TXC(TaobaoTransactionConstructor)。
2016年,TXC通过将阿里巴巴云更新为GTS(全球交易服务)而推出。它成为当时在云中分发的唯一交易产品。它以阿里云公共云或专有云解决方案的形式提供给许多人。
基于技术从TXC和2019 GTS的积累,阿里巴巴中间件团队推出的开源项目Fescar(快速和EaSyCommitAndRollback,FESCAR),是与社区一起建立这个分布式事务的解决方案。
TXC / GTS / Fescar在同一系统中,以产生一种解决方案,以分布式事务微服务架构的问题不同的响应。
Q2:什么情况可以适用于Fescar?
A2:愿景Fescar是使用分布式交易。我们希望非常简单有效地使用本地交易。最终目标是将其应用于整个场景中的分布式事务。
目前,中央AT模式适用于使用本地ACID事务构建的关系数据库。
非关系数据库类的资源与MT模式兼容。
对于AT模式与MT模式完全兼容,可以出现在同一个分布式事务,它可以存在于同一时间的两种类型的资源。
问题3:已经有其他用于分布式事务的开源解决方案。Fescar和他们之间有什么区别?
JTA和分布式事务有什么区别?
A3:根据商业入侵,现有的分布式交易解决方案分为两类。这是不干扰服务的服务和服务的障碍。
在非侵入性的业务解决方案的通用分布式事务的解决方案中,非侵入性,为企业基于XA解决方案只有一个(注:JTA是XA解决方案的一个Java版本),有三个方面的应用。XA解决方案问题:1。要求数据库提供XA支持。
如果您遇到XA,则它不兼容(或者支持不如MySQL 5)。
无法使用以前版本的数据库。
它受协议本身的限制,并且事务资源(数据记录,数据库连接)的块持续时间很长。
长期的资源块,通常没有必要从商业的角度来看,对交易资源是数据库本身,应用层不能干预。
形成的情况是基于XA的应用程序往往出现故障并且难以优化。
3.已实现将依赖于不能被应用到微服务架构(如燕尾服/的WebLogic /的WebSphere)的重型应用的分布式基于XA-解决方案。
入侵业务计划事实上,原始的分布式事务是XA的唯一解决方案。
XA已经完成,但实际上,出于各种原因(包括三名以上的条款,包括但不限于),您必须从业务层面开始,以解决分布式事务的问题,就放弃了。
例如,TCCSaga基于可靠的最终一致性方案属于此类别。
这里没有执行这些程序的具体机制,互联网上有很多文章。
总之,这些方案将需要实现的分布式事务的考虑设计的技术限制操作层面,它通常被设计为实现其他接口扭转了突破和功率和每一个服务必须这样做。
这种设计约束通常导致高的研发和维护成本。
分布式事务进入业务的方法,有效地解决了这个问题,不可否认的是,已经通过了一些可以在各个行业的商业应用中发挥重要作用的做法验证。
然而,回到最初的思维方式,这些计划的招募实际上必然是不受保护的。回到问题:最终的业务逻辑,TCC,穿透方案佐贺和其他业务逻辑之间的差异,Fescar是旨在维护非侵入性业务,业务层的设计它不需要它。根据分布式事务的特定方案继续进行,并投资两组(或集)业务逻辑。
这种意义上的差异并没有开始。
XA是,在保持的前提下,企业没有得到的方式,将设计一套不同的设计和两阶段协议的XA方面不同。底层数据库
这可以被认为是一组轻量级的XA机制。
具体差异如下。XA架构级别方案的RM实际上位于数据库层,RM基本上是数据库本身(通过设置XA兼容的驱动程序的提供)。Fescar的RM是一个双向包的形式,该层在应用侧实现,不依赖于所述协议支持数据库本身的,不具有当然也需要支持数据库。XA协议这对于微服务架构非常重要。应用程序层不必为两种不同的场景(本地事务和分布式事务)调整两个不同的数据库驱动程序。
此设计消除了分布式事务方法支持数据库的要求。
两步验证:首先看一下XA 2PC流程。
无论阶段2解析是确认还是取消,都必须释放事务资源块,直到阶段2完成。
参见Fescar的2PC流程。
在阶段1分支事务结束时,本地事务释放分支事务内的数据的本地阻塞。
同时,在本地事务结束时释放连接。
分支事务中数据的全局阻塞位于事务协调器一侧。如果在全球范围内确认第2阶段决议,将立即取消全球封锁。
只有在全局反转分辨率的情况下,全局块才会保持到分支的第2阶段结束。
此设计大大减少了从分支事务到资源(数据和连接)的阻塞时间,并为整体并发和性能提供了基础。
Q4:Fescar支持哪种版本的Dubbo?
A4:所有版本
Q5:Fescar与SpringCloud兼容吗?
A5:Fescar和微服务框架之间的接口必须透明地通过在微服务框架的服务调用期间调用事务的唯一标识符XID的机制,通过API链接移动到应用程序的线程的上下文没有链接。
该机制可以指Dubbo支持的集成实现。
阿里巴巴
Fesuka
达博
TransactionPropagationFilter换句话说,这个问题本质上与SpringCloud不兼容,它与SpringCloud中选择的服务调用机制兼容。
我目前正在与SpringCloudAlibaba的同学一起工作。
五
在版本x之前的版本中,已发布对SpringCloud的默认支持。
与此同时,社区的朋友们欢迎参与并为包括SpringCloud在内的多个微服务框架提供支持。
问题6:Fescar是否与本地数据库中的多个数据源兼容?
除了关系数据库之外,它是否仍然与NoSQL数据库兼容?
A6:Fescar架构支持本地到多个数据源,来自多个源的相同服务,通过多个数据源的数据服务,基本上没有区别。
AT模式目前仅限于与关系数据库的兼容性(支持ACID事务本身)。稍后将启动的MT模式可以支持不支持本地事务的NoSQL资源。
问题7:Fescar已在AT模式下打开。暂时不支持MT模式。什么时候开源呢?
Q8:当Fescar提供HAcluster时,如何应对单节点服务器的瓶颈?
A8:根据临时计划,HACluster将为0。
5Q9:?Fescar通过网络中断,网络闪烁,节点停机时间和时间提供相应的补偿措施。你在等吗?
A9:处理这些异常是分布式事务解决方案的基本要求。Fescar还为治疗各种异常提供了完整的解决方案。
在发布HACluster版本时,这方面的某些机制提供了完整的分析和部署。
问题10:您如何监控Fescar框架内分发的交易?
A10:监控是一个非常重要的内容。
监控TXC和GTS在阿里巴巴内部使用了许多基础设施。
在开源版本中,我们没有准备好的监控解决方案。
一般而言,监测基础是两个方面。一方面,注册表可以形成一个完整的事务链接,这是通过注册表收集和处理进行业务级别分析和协调的重要参考。。
同时,API为Fescar的运行时事务提供了一个包装器控制API。
从现在开始,我想组织这两个方面的数据格式,实现格式和界面,并建立社区监控的重要方面。
问题11:你有Fescar的路线图吗?
A11:最终的路线图如下。微服务框架支持:Dubbo数据库支持:基于SpringAOP事务协调器的MySQL注释事务协调器:独立版本v 0。
五
的支持X微服务框架:SpringCloudMT模式支持动态配置并且在TCC模式(高可用性集群版本V0)交易适应服务发现事务协调器。
8
XMetrics控制台:监视/实施/更新/常规扩展可用性:生产环境适用于v1。
五
x数据库支持:Oracle / PostgreSQL / OceanBase不信任SpringAOP Annotation访问点的数据优化处理点。在全球交易中,RocketMQ交易社区的声音,路线图与社区??完美沟通,并及时调整。Q12:Fescar的官方网站何时上线?
A12:Fescar的域名已注册官方网站将使用Docsite Static开源网站构建工具“Transportation Gate”创建。该徽标是在不久的将来设计和宣布的。
问题13:通过参与Fescar社区,有一种方式可以做出贡献。
A13:我们翻译有关设计架构设计模块的设计代码,网站和相关概念的文章,以实现示例文档:交易问题是常见的事情。
在计算机术语中,它是指程序执行单元,它访问数据库中的某些数据元素并可能更新它。
什么是分布式计算?
所谓的分布式计算就是计算科学。我将考虑如何将需要大量计算能力的问题划分为许多小部件,并将这些部件分配给许多计算机进行处理。最后,将这些计算结果合并。
分布式网络存储技术是在多个独立机器上分发和存储数据。
分布式网络存储系统采用可扩展的系统结构。这不仅解决了瓶颈问题,因为它使用多个存储服务器来共享存储负载,并使用位置服务器来识别存储信息。它不仅提高了传统集中存储系统中单个存储服务器的性能,还提高了系统的可靠性。易用性,易用性和可扩展性。
相关新闻
我正在做产品经理遇到的10001问题(3):开发不可靠
产品经理必须多次处理此技术才能实现产品功能。那么,如果没有信心,你如何引导他们作为产品经理?首先,在实际案例之前,我是北京互联网公司的产品经理。巧合的是,我独立负责移动产品。当时,资源相当有限,还有两个Android(一个高级,一个中间iOS服务器(2)(一个高级,一个中间),共享用户界面资源公司。
