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

本文涉及的产品
服务治理 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
本文来源:腾讯云 云+社区,如需转载请联系原作者。

目录
相关文章
|
存储 区块链 微服务
区块链与微服务天生是一对
本文讲的是区块链与微服务天生是一对,为分布式应用而生的微服务与区块链技术是天生的一对
2489 0
|
4天前
|
存储 供应链 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【4月更文挑战第21天】 随着科技不断进步,新兴技术正在重塑我们的世界。本文将深入探讨三种引人注目的技术——区块链、物联网(IoT)和虚拟现实(VR)——它们各自的发展趋势及其在不同领域的应用前景。区块链技术以其不可篡改的数据记录特性,在金融安全、供应链管理等领域展现出巨大潜力;物联网通过智能设备互联,推动智能家居、智慧城市的发展;而虚拟现实则以其沉浸式体验,改变教育、娱乐等多个行业的面貌。这些技术的交叉融合预示着一个更加智能、互联和虚拟的未来。
17 5
|
25天前
|
存储 传感器 监控
未来智能城市中的区块链技术应用
随着城市化进程不断加速,智能城市成为了未来城市发展的主要趋势之一。区块链技术作为一种去中心化、安全可靠的数据传输和存储方式,将在智能城市建设中发挥关键作用。本文将探讨区块链技术在智能城市中的应用场景,并分析其对城市管理、信息共享和安全保障等方面的积极影响。
14 2
|
1月前
|
存储 供应链 区块链
区块链技术在供应链管理中的应用与展望
随着区块链技术的不断发展,其在供应链管理领域的应用愈发广泛。本文将深入探讨区块链技术在供应链管理中的具体应用及未来发展趋势,分析其对供应链透明度、可追溯性和安全性的影响,并展望区块链技术在未来供应链管理中的潜在作用和挑战。
20 0
|
4天前
|
供应链 安全 物联网
未来技术纵横谈:区块链、物联网与虚拟现实的融合革新
【4月更文挑战第22天】 在数字化浪潮中,新兴技术的蓬勃发展正推动着传统行业的变革与升级。区块链技术以其不可篡改和去中心化的特性,为数据安全和信息透明提供了新的解决方案;物联网(IoT)通过智能设备的互联互通,实现了环境与行为的智能化管理;而虚拟现实(VR)技术则拓展了人们的感官体验,创造了沉浸式互动的新空间。本文聚焦于这些技术的发展趋势,探讨其在多个应用场景中的结合与创新,旨在描绘一幅技术交织下的未来蓝图。
15 3
|
1天前
|
安全 物联网 区块链
未来技术的融合潮流:区块链、物联网和虚拟现实的交汇点
【4月更文挑战第24天】 随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)正在重塑我们的世界。这些技术不仅单独发展,而且越来越多地相互结合,创造出前所未有的应用场景。本文将探讨这些技术的独立趋势,并着重分析它们如何交织在一起,形成一个全新的技术生态系统,从而推动行业革新和社会进步。
|
2天前
|
监控 物联网 区块链
未来技术纵横谈:区块链、物联网与虚拟现实的融合与创新
【4月更文挑战第23天】随着科技的不断进步,新兴技术如区块链、物联网(IoT)和虚拟现实(VR)等正在重塑我们的世界。本文将深入探讨这些技术的最新发展趋势及其在不同领域的应用案例,揭示它们如何相互交织,共同推动着数字化转型的浪潮。
|
6天前
|
消息中间件 数据挖掘 Kafka
《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)(上)
《区块链公链数据分析简易速速上手小册》第5章:高级数据分析技术(2024 最新版)(上)
39 1
|
13天前
|
供应链 安全 物联网
未来交织:区块链、物联网和虚拟现实的技术革新与融合应用
【4月更文挑战第13天】 在数字化时代的浪潮中,新兴技术正以前所未有的速度重塑着世界。本文将深入分析区块链技术的去中心化信任机制、物联网(IoT)的智能连接网络,以及虚拟现实(VR)的沉浸式体验如何独立发展并开始交汇融合,共同构建一个更加智能、安全和互动的未来。我们将探讨这些技术的发展趋势,揭示它们在各行各业的潜在应用场景,并讨论它们如何联合起来推动第四次工业革命。
|
13天前
|
供应链 算法 安全
区块链技术的应用与前景展望
区块链技术的应用与前景展望