区块链与微服务天生是一对

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介:
视频内容

为分布式应用而生的微服务

与区块链技术是天生的一对

这期说说区块链技术与微服务架构的关系。大家知道,微服务架构是一个分布式的应用技术架构,目的是有效的对应用进行拆分,实现敏捷开发、快速演化、便捷容错与弹性伸缩。前面说到,区块链技术本质上就是分布式数据库,微服务架构与区块链技术的结合,并不能简单的看成是微服务与数据库的结合,而应该把区块链平台做为一个第三方应用进行交互,这也是微服务架构很好发挥作用的地方。

虽然目前的区块链平台一般都有SDK和REST服务两种方式,按照上述的原则,一般不要使用 SDK,而是远程调用方式,采用微服务的设计原则,使用区块链网关,把微服务与区块链平台集成的功能集中到网关中,见下图:

1620

微服务通过区块链网关与区块链平台交互,区块链网关主要功能包括通讯网关、事件监听,同时配合微服务应用框架,完成数据一致性、对账功能。与区块链网关集成的能力,是微服务架构天生具备的。

1、通讯网关

通讯网关,负责处理微服务发起的对区块链平台的调用。

由于区块链平台的服务能力(每秒交易数 TPS)有限,为保证区块链平台的可用性,区块链网关采用了异步处理模式,实现限流、隔离、服务升降级等能力。

由于区块链平台提供的接口各有不同,区块链网关在接受请求后记录交易流水,把区块链平台提供的服务模拟为幂等服务,调用者可以多次调用区块链网关,而区块链网关仅仅调用区块链平台一次。为方便运维,我们可以为区块链平台提供的服务定义SLA,根据这些定义灵活的进行调用的控制。

2、事件监听

如果记账簿发生了改变,如何通知微服务呢,这就是区块链网关中事件监听发挥的作用。目前很多区块链平台并没有提供事件接口,即使未来有也很难统一,前面也说过,智能合约运行在沙箱中,为保证数据一致性不可能支持对外部服务的调用,也不能做为事件监听的回调,这样就需要在区块链网关中进行处理。

微服务可以注册对某一类交易进行监听,区块链网关定时通过区块链平台的查询接口检索,发现数据变更时通知微服务。这是一个效率不高的方法,但区块链平台本身性能也不高,时延主要由共识机制造成,轮训的做法并不会有太大影响,这也是期待区块链平台本身提升的地方。

3、数据一致性

不能把所有数据都存储在区块链平台中,而是将交易数据存储在区块链平台,这样就有了本地数据库的数据与区块链交易数据的一致性问题。一般来说,我们不能依赖区块链平台支持事务的回滚,因为这个分布式的记账簿一旦记账就是不可更改的,我们甚至不能指望区块链平台实时给应用反馈记账是否成功,因为有可能返回超时错误,不清楚是否记账成功。

于是,区块链网关需要和微服务配合保证数据的一致性,一般情况下微服务中的业务处理采用异步模式,发出记账申请后处于等待状态,区块链网关将记账申请转发给区块链平台。如果区块链平台返回接受Accept或者拒绝Reject,将结果通知微服务;如果区块链平台返回超时或者不可确定错误,即开始定时轮询,得到结果后通知微服务。

同时,微服务本身需要具备事务补偿的模式,如果记账失败进行反交易处理。这种数据一致性处理的方式,是微服务多种处理方式中的一种,我们一般使用服务编排的方式降低这种模式的开发复杂度。

4、对账

既然数据有本地存放,也有区块链平台存放,就有不一致的可能,就必须对账。传统对账有以我为主、以他为主两种模式。这里就只能以他为主,以区块链平台为主了。由于区块链技术针对交易的特点对存储结构进行了要求,利用已有的时间戳、交易先后次序,可以是对账变得更加容易。

总结

区块链是一种新兴的技术,他的本质是一种加入业务特性的分布式数据库,通过对区块链技术的研究,我们找到了业务与区块链技术结合的方式,提出了微服务应用架构集成区块链的技术模式,以上是对我们研究成果一个简要介绍,后续我们还会对使用区块链技术的细节进行分析,与大家共同探讨。

关于作者

焦烈焱

EAII-企业架构创新研究院 常务理事

2001年加入普元信息,现任CTO,全面负责普元信息技术与产品的运营工作,公司技术发展战略的重要决策人。焦烈焱在企业技术架构研究方面有二十余年的经验,长期致力于分布式环境的企业计算、 SOA与云计算技术研究与实践。加入普元信息后组织完成一系列核心产品的研发工作,包括SOA应用平台、以BPM &/ESB为核心的业务集成平台、以复杂事件处理/数据治理/作业调度为核心的大数据平台,期间主持了中国工商银行、中国建设银行等多家大型企业技术平台的规划与研发。著有《SOA中国路线图—实施版》一书。

1620



原文发布时间为:2017-04-27
本文作者:yuanyi928
本文来源:腾讯云 云+社区,如需转载请联系原作者。

目录
相关文章
|
存储 区块链 微服务
区块链与微服务天生是一对
本文讲的是区块链与微服务天生是一对,为分布式应用而生的微服务与区块链技术是天生的一对
2492 0
|
1天前
|
存储 安全 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【5月更文挑战第7天】 随着科技的飞速发展,新兴技术不断涌现并逐渐成熟,其中区块链、物联网(IoT)、虚拟现实(VR)等技术以其独特的优势和潜力,正在重塑多个行业的生态。本文将深入探讨这些技术的发展趋势,分析它们在不同应用场景中的结合与创新,以及它们如何共同推动着我们走向一个更加智能、互联的未来世界。
10 3
|
1天前
|
供应链 物联网 区块链
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【5月更文挑战第7天】 在数字时代的浪潮中,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正引领着一场创新革命。本文将深入探讨这些技术的发展趋势,剖析它们如何独立发展并逐渐融合,以及在不同领域的应用前景。区块链技术以其不可篡改和去中心化的特性,为数据安全提供了新解决方案;物联网通过智能设备的互联互通,推动了智能化生活的实现;而虚拟现实则通过沉浸式体验,改变了人们的娱乐和工作方式。这三者的交汇预示着一个全新的技术时代的到来。
|
3天前
|
安全 物联网 区块链
未来技术浪潮:区块链、物联网和虚拟现实的交汇点
【5月更文挑战第5天】 在数字化时代的风口上,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正引领着创新的潮流。本文将探讨这些技术的独立发展及其融合应用的趋势,揭示它们如何塑造经济、工业和社会互动的未来。区块链技术提供了不可篡改的数据安全和去中心化的信任机制;物联网连接了现实世界与数字世界,推动了智能化的发展;而虚拟现实则在增强用户体验和模拟复杂环境方面展现出巨大潜力。这三者的交汇预示着一个更加智能、互联和沉浸式的未来。
|
5天前
|
供应链 物联网 区块链
未来交织:区块链技术、物联网与虚拟现实的融合趋势
【5月更文挑战第3天】 随着技术的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在重塑我们的世界。本文将探讨这些技术的发展趋势,以及它们如何在不同的应用场景中相互融合,创造出新的可能性。我们特别关注于这些技术如何增强数据安全、优化运营效率,以及提供沉浸式用户体验。通过分析具体案例,本文揭示了这些技术在未来可能带来的变革,并讨论了实现这些变革所面临的挑战。
|
6天前
|
存储 供应链 安全
区块链技术在供应链管理中的应用及挑战
【5月更文挑战第2天】 随着数字化转型的不断深化,区块链技术作为一项创新技术,其在供应链管理领域的应用逐渐显现出独特的价值。本文将深入探讨区块链在供应链中的实际应用案例,分析其如何增强供应链透明度、提升效率以及保障商品的真实性和安全性。同时,也将剖析在实施过程中遭遇的技术挑战、法律监管问题以及与现有系统的兼容性问题,并提出相应的解决策略,以期为企业实现更高效、更安全的供应链管理提供参考。
15 1
|
7天前
|
供应链 安全 物联网
未来技术的融合潮流:区块链、物联网与虚拟现实的交汇点
【5月更文挑战第1天】 随着科技的迅猛发展,新兴技术不断涌现,它们在各自的领域内引发了革命性的变化。本文将深入探讨三种前沿技术——区块链、物联网(IoT)以及虚拟现实(VR)——的发展趋势和应用场景。区块链技术以其不可篡改性和去中心化特点为数据安全提供了新的解决方案;物联网通过智能设备互联,推动了智慧生活的实现;而虚拟现实则在娱乐、教育和工业设计等领域展现了其独特的沉浸式体验。这三种技术的融合预示着一个互联互通、安全可靠的未来,它们将如何独立发展同时又相互促进,构成了本文讨论的核心。
|
7天前
|
存储 供应链 物联网
新纪元的技术革命:区块链、物联网和虚拟现实的未来展望
【4月更文挑战第30天】 随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在重塑我们的世界。这些技术不仅在各自的领域内发展迅速,而且它们的交叉融合预示着未来将有更多创新的应用出现。本文将探讨这些技术的发展趋势和潜在应用场景,揭示它们如何共同塑造一个更加智能、互联和沉浸式的未来。
|
7天前
|
安全 物联网 区块链
未来技术的融合潮流:区块链、物联网与虚拟现实的革新之旅
【4月更文挑战第30天】 在数字时代的浪潮中,新兴技术如同涌动的泉流,汇聚成推动社会进步的强大河流。本文聚焦于三种前沿技术——区块链、物联网(IoT)和虚拟现实(VR),探讨它们的发展动向及在不同行业中的创新应用。区块链技术以其不可篡改性和去中心化特性,正在重塑金融、供应链管理和数据安全等领域。物联网将实体世界与信息网络无缝对接,引领智慧城市和智能家居的构建。而虚拟现实则在娱乐、教育和医疗等行业中打破现实与虚拟的界限。这些技术的融合预示着一个更加互联、安全和沉浸式的未来。
|
7天前
|
供应链 Java API
Java 8新特性解析及应用区块链技术在供应链管理中的应用与挑战
【4月更文挑战第30天】本文将深入探讨Java 8的新特性,包括Lambda表达式、Stream API和Optional类等。通过对这些新特性的详细解析和应用实例,帮助读者更好地理解和掌握Java 8的新技术。