rss
当前位置 :首页 > 服务网络

为什么说传统分布式事务不再适用于微服务架构?

  传统应用使用本地事务和分布式事务保证数据一致性,但是在微服务架构中数据都是服务私有的,需要通过服务提供的API来访问,所以分布式事务不再适用微服务架构。那么微服务架构又该如何保证数据一致性呢?本文就来谈谈这个话题。

  传统单机应用一般都会使用一个关系型数据库,好处是应用可以使用ACID。为保证一致性我们只需要:开始一个事务,改变(插入,删除,更新)很多行,然后提交事务(如果有异常时回滚事务)。更进一步,借助开发平台中的数据访问技术和框架(如 Spring),我们需要做的事情更少,只需要关注数据本身的改变。

  随着组织规模不断扩大,业务量不断增长,单机应用和数据库已经不足以支持庞大的业务量和数据量,这个时候需要对应用和数据库进行拆分,这就出现了一个应用需要同时访问两个或两个以上的数据库情况。开始我们用分布式事务来保证一致性,也就是我们常说的两阶段提交协议(2PC)。

  本地事务和分布式事务现在已经非常成熟,相关介绍很丰富,此处不再讨论。我们下面来谈谈为什么分布式事务不适用于微服务架构。

  首先,对于微服务架构来说,数据访问变得更加复杂,这是因为数据都是微服务私有的,唯一可访问的方式就是通过 API。这种打包数据访问方式使得微服务之间松耦合,并且彼此之间独立,更容易进行性能扩展。

  其次,不同的微服务经常使用不同的数据库。应用会产生各种不同类型的数据,关系型数据库并不一定是最佳选择。

  例如,某个产生和查询字符串的应用采用 Elasticsearch 的字符搜索引擎;某个产生社交图片数据的应用可以采用图数据库,例如Neo4j。

  基于微服务的应用一般都使用 SQL 和 NoSQL 结合的模式。但是这些非关系型数据大多数并不支持 2PC。

  依据 CAP 理论,必须在可用性(availability)和一致性(consistency)之间做出选择。如果选择提供一致性需要付出在满足一致性之前阻塞其他并发访问的代价。这可能持续一个不确定的时间,尤其是在系统已经表现出高延迟时或者网络故障导致失去连接时。

  依据目前的成功经验,可用性一般是更好的选择,但是在服务和数据库之间维护数据一致性是非常根本的需求,微服务架构中应选择满足最终一致性。

  最终一致性是指系统中的所有数据副本经过一定时间后,最终能够达到一致的状态。

  当然选择了最终一致性,就要保证到最终的这段时间要在用户可接受的范围之内。那么我们怎么实现最终一致性呢?

  从一致性的本质来看,是要保证在一个业务逻辑中包含的服务要么都成功,要么都失败。那我们怎么选择方向呢?保证成功还是保证失败呢?

  我们说业务模式决定了我们的选择。实现最终一致性有三种模式:可靠事件模式、业务补偿模式、TCC 模式。

  可靠事件模式属于事件驱动架构,当某件重要事情发生时,例如更新一个业务实体,微服务会向消息代理发布一个事件。消息代理会向订阅事件的微服务推送事件,当订阅这些事件的微服务接收此事件时,就可以完成自己的业务,也可能会引发更多的事件发布。

  2. 支付服务消费“创建订单”事件,支付完成后发布一个“支付完成”事件。

  最近,IT行业专家在参加相关会议时发现了一个隐藏的主题,那就是虽然很多人将关注的重点转移到基于云计算的架构...

  大数据分为大数据存储和大数据分析,属于两种截然不同的计算机技术领域,大数据存储用于大数据分析。大数据存储重点在于研发可以扩展至PB甚至EB级别的数据存储平台;大数据分析关注在...

  陆金所联席董事长兼CEO计葵生在北京大学数字金融研究中心「数字金融的中国时代」第二届年会上发表主题演讲,深...

  随着FPGA等可编程逻辑器件的发展,为无线数据可靠传输提供了很好的实现平台。采用FPGA作为时序控制和信号处理的处...

  随着大数据分析市场快速渗透到各行各业,哪些大数据技术是刚需?哪些技术有极大的潜在价值?根据弗雷斯特研究公司发布的指数,这里给出最热的十个大数据技术。 1、预测分析 预测分析是...

  随着FPGA等可编程逻辑器件的发展,为无线数据可靠传输提供了很好的实现平台。采用FPGA作为时序控制和信号处理的处...

  大华乐橙在深圳会展中心召开了2017 “锁定天下”乐橙智能锁新品发布会,重磅发布了乐橙首款视频云锁。本次发布会...

  企业云计算领导者Nutanix今日在2017 .NEXT用户大会(北京站)上宣布,其企业云平台软件已通过Cloudera技术认证计划(...

  超过300亿美元的工业级无人机市场将呈爆发式增长, 上海无人机展会引领行业发展

  当消费级无人机市场已成为一片红海之际,各大无人机厂商都在工业级无人机领域发力以争夺高端行业应用的市场,...

  在9月举办的2017 百度云智峰会 ABC SUMMIT 上,百度与浪潮共同发布了 ABC 一体机,双方将共同推动人工智能、大数据、云...

  中国大数据市场整体热度逐步降低,数据应用开始落地,而应用的前提是建设统一的大数据管理平台。IDC调研了几十...

  北京国科金服科技金融信息服务有限公司(以下称“国科金服”)与中国国际消费电子展示交易中心(以下称“CEEC”...

  物联网(IoT,Internet of Things)这一概念最早在1999年提出。美国麻省理工学院建立的“自动识别中心(Auto-ID)”,首次提出“万物皆可通过网络互联”,并阐明物联网的基本含义。早期的物联网仅是...

  来自美国的特种光纤和组件生产厂家——飞博盖德()与传感器生产厂家 -- 美国微米光学国际公司(...

上一篇: 服务理赔快 华夏充满爱——华夏保险亳州蒙城支公司张影部组织理赔慰问活动     下一篇: 雁路与亚运大道相交路口南侧的雁洲路口微改造基本完工增加了两条车道