阿里、滴滴钟爱的微服务为何能与区块链完美融合?

官方新闻NULS中文社区2019-01-10 18:27:16  阅读 -评论 0

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

近几年微服务架构技术的成熟,让我们看到了,包括阿里、滴滴、唯品会等越来越多知名企业开始使用微服务对自身的系统进行重构。甚至在2017年开始大火的区块链行业中,也有区块链项目开始使用微服务架构。

为何这些知名企业都开始抛弃单体架构,转而使用微服务?大火的区块链又为何能和微服务结合在一起呢?

什么是单体架构

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

从Web应用的早期开始,单体架构就是软件系统架构中最主流的架构,那什么是单体架构呢?

举个例子,假设你要开发一个电子商务系统,其中包含了订单、客户、商品等不同功能的模块。开发完成之后,你将所有的程序统一打包,然后部署到一个服务器中,用户访问系统的所有功能,都是依靠这一个服务器来提供。

像这样,所有功能都部署在同一个服务器中的系统,采用的架构就是单体架构。

单体架构的缺陷

维护过拥有单体架构的大型软件系统的人一定有过这样的体会:当你需要为系统新增一个业务功能时,你需要从代码库中下载所有模块的代码,在IDE中进行部署,然后才能进行开发和测试;本来在某个已有的模块中,已经完成了你需要的部分编码,但是你却无法直接调用,只能拷贝一份同样的代码,然后进行修改,实现新增的业务功能。

这些都是单体架构中模块耦合度高、代码复用性差、可扩展性低的表现。在小型软件系统中,因为业务不会过于复杂,在平衡开发成本之后,通常也可以采用单体架构。

但在大型软件系统中,维护和迭代是持久性的,如何保障开发完成之后,更好的对系统进行维护是必须要重点考虑的,而微服务正是一种能够有效节省维护成本的架构设计。

微服务架构及其特性

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

微服务是一种架构风格。它将一个复杂的大型软件系统,根据业务的不同,拆分成不同的模块,每个模块可以被独立部署,并对外提供服务。

如果你开发过微服务架构的系统,你会发现,业务驱动,是微服务架构的一个典型特征。

在上世纪80年代初,RPC(远程过程调用)技术出现之后,开发者开始应用RPC来构建大型系统,在这个过程中,开发者发现不是所有技术上能够拆分的功能,都应该被拆分。由此得出的结论是:根据业务拆分功能更加合理。这一经验最终进化成为微服务架构中的设计原则之一:业务驱动。

微服务架构的另一个特征是模块化服务。这是什么意思呢?

采用微服务架构开发的系统,每一个独立的业务单元被划分为一个单独的模块,而每一个模块可以被独立的部署在服务器中,提供相应的业务服务。最终所有模块提供的服务组合在一起,就可以形成一套完整的业务流程,成为一个系统。

业务驱动和模块化很好的解决了单体架构系统中存在的问题。模块之间相互独立,通过接口完成模块间的通信,有效降低了代码的耦合度。在开发新增的业务功能时,你只需要从代码库中下载你需要的模块,并不需要下载所有的代码,开发和测试将会更加简单,并且新功能不会对原有的系统产生任何影响,系统的可扩展性得到了有效地提升。

NULS区块链与微服务的完美融合

不仅阿里和滴滴等传统互联网知名企业喜欢微服务架构,从2017年开始大火的区块链行业,也有项目率先使用微服务架构做出了创新。

在2018年7月正式完成主网上线,获得比特大陆战略投资的NULS公有链项目,在1.0的设计中就采用了模块化的思想,想要实现一个可定制的区块链基础设施。

但是NULS1.0的设计并没有做到完美的地步,依然有许多需要优化的地方,其中就包括如下三个主要问题:

测试和部署仍然必须应用于整个项目;

用户界面仍然是代码库不可分割的一部分;

只有一种开发语言可以用来增强系统并进行修改。

为了解决这些问题,进一步优化NULS的整体设计,NULS核心团队和社区成员共同设计了基于微服务的NULS2.0全新架构。

NULS模块仓库,你的区块链乐高

在使用微服务架构对NULS进行优化之后,NULS将利用微服务模块化的特性,构建一个模块仓库,里面将包含搭建区块链所需要的所有基础模块。

模块仓库的成功构建,让企业或机构定制自己想要的区块链,变成了像是一个搭乐高的过程。例如,一家金融机构,想要用NULS模块仓库搭建一个满足自己业务的区块链系统,这时候可以直接从模块仓库中挑选账户、交易、区块等基础模块进行使用,然后再根据自己的业务需求开发相应的业务模块即可。

之所以说,这像是一个搭乐高的过程,还有一个原因是一个已经开发完成的模块,可以被独立的部署,并对外提供服务,这样每个模块就可以被多个区块链重复使用。这就像你搭乐高,一个模块不仅可以用来搭火车,还可以用来搭汽车。这样模块的复用性就提高了,灵活性也提高了。

完善的开发库,让开发区块链更简单

使用微服务的系统,解决好模块间通信的问题是必须要考虑的,NULS在这一点上也提供了自己的解决方案。

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

模块间通信是每个模块都必须要处理的任务,为了方便开发,避免重复性的工作,每个基础模块中都会添加一个服务基础库。这样基础模块就可以方便的继承所描述的通用方法,不需要重新编写相应的代码。

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

为了进一步的减少开发者的工作量,方便外部程序与平台的无缝连接,NULS2.0的架构中,还设计了适应各种终端的基础应用程序库。这些库是一些代码,提供了关于如何管理网络资源的复杂细节,即设计消息,协议处理等,这样的话开发人员就只需要关注他们的应用程序想要解决的问题,而不用关心如何将其集成到平台中。随着时间的推移,这些库可以移植到多种开发语言中,从而吸引更多的外部开发人员加入到项目中。

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

NULS是一个面向可定制化服务的区块链基础设施,是全球性区块链开源社区项目,完整的NULS2.0的微服务架构主要分为三层:

第一层:微服务基础架构层;

第二层:区块链基础服务层;

第三层:DAPP应用层。

这个设计跳出了常见的区块链思维局限,从更高的维度对NULS进行了重构。NULS核心团队决定在这个架构基础上来进行NULS2.0的重构。这样的设计让NULS将不仅仅是区块链底层基础设施,还是与区块链系统无缝结合的分布式系统基础架构,它将成为一个不同系统间可以进行无缝通信的平台,这将使围绕NULS构建的企业能够更快地蓬勃发展,同时大大降低开发成本。

未来,当NULS真正成为一个强大灵活的平台之后,那番景象一定不可想象!

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

NULS目前上线的交易平台

币安Binance:https://www.binance.com/

OKEx:https://www.okex.com/

火币:https://www.hbg.com

火币韩国:https://www.huobi.co.kr

Bit-Z:https://bit-z.com/

炒客网CHAOEX:https://www.chaoex.com/

KuCoin:https://www.kucoin.com/

Wazirx:https://wazirx.com/

QBTC:https://www.qbtc.com/

币和:https://www.bibr.com/

KTRADE:https://www.ktrade.io/

Indacoin:https://indacoin.com/

7EBIT:https://www.7ebit.com/

Coinspot:https://www.coinspot.com.au/

Ucoin:https://www.ucoin.pw/

BLOEX:https://www.bloex.com/

Coin918:http://www.coin918.cc/

BBAEX:https://www.bbaex.com/

Etherflyer:https://etherflyer.com/

DragonEx:https://dragonex.im

IDAX:https://www.idax.mn/#/

CEO:https://ceo.bi

TOKOK:https://www.tokok.com/

趣币:https://www.qubi.com/

INEX影力所:https://www.inex.exchange

SimpleSwap:https://simpleswap.io

了解NULS

项目网站:https://nuls.io/

微博:https://weibo.com/nulsio

Twitter:https://twitter.com/nulsservice

Medium:https://medium.com/@nuls

Telegram:https://t.me/Nulsio

Facebook:https://www.facebook.com/nulscommunity/

Github:https://github.com/nuls-io/nuls

Reddit:https://www.reddit.com/r/nulsservice/

Steemit.com:https://steemit.com/@nuls

Gitter:https://gitter.im/nuls_io

Slack:https://nuls.slack.com

阿里、滴滴钟爱的微服务为何能与区块链完美融合?阿里、滴滴钟爱的微服务为何能与区块链完美融合?

NULS中文社区 公众号

长按二维码 识别关注

阿里、滴滴钟爱的微服务为何能与区块链完美融合?

NULS,让信任更简单!

因为认同,所以分享

感谢每一位社区成员,一起转发朋友圈吧

声明:链世界登载此文仅出于分享区块链知识,并不意味着赞同其观点或证实其描述。文章内容仅供参考,不构成投资建议。投资者据此操作,风险自担。此文如侵犯到您的合法权益,请联系我们kefu@lianshijie.com

参与讨论 (0 人参与讨论)

相关推荐

并非所有央行都对CBDC感兴趣

并非所有央行都对CBDC感兴趣

百分之十的银行表示,他们将在未来三年内发行首批通用CBDC,占世界人口的20%。发达经济体对CBDC保持谨慎 根据国际清算银行提供的调查信息,部分央行由于自身较强的竞争力,可能会推迟发行CBDC的计划。

新冠病毒爆发期间,中国加大区块链采用力度

新冠病毒爆发期间,中国加大区块链采用力度

正如2月初报道的那样,在新冠病毒爆发期间,蚂蚁金服旗下的互助保险平台相互宝已经使用区块链来管理与冠状病毒相关的理赔。

百万张UEFA 2020门票将通过区块链销售

百万张UEFA 2020门票将通过区块链销售

暴走时评:根据2月17日的公告,欧足联将通过基于区块链的移动应用程序销售超过一百万张球赛门票。门票最晚将在比赛开始前7天交付,“ UEFA希望在所有51场比赛中为球迷提供超过100万张移动端门票。”

Nervos 联合创始人Kevin做客Epicenter,成为国内首个受邀的公链项目

区块律动BlockBeats消息,Epicenter 是区块链行业全球知名的播客节目,日前,Nervos 基金会联合创始人 Kevin 做客 Epicenter,成为国内首个受邀的公链项目。

开发平台「Enjin Platform」宣布在以太坊上启动,支持用户轻松创建 NFT 资产

开发平台「Enjin Platform」宣布在以太坊上启动,支持用户轻松创建 NFT 资产

根据公告,用户要想创建加密资产,仅需四步:创造一个新的项目;与你的加密钱包进行绑定;创建资产,以及生成相应的资产即可。未来,平台还将推出更多的新功能。

中心化平台的事件不会改变去中心化比特币的基本面

在区块链行业发展的路途中,必定会遭遇挫折和反复,但是中心化平台的事件不会改变去中心化比特币的基本面。

赵长鹏首谈币安云:5 年内营收超过币安交易平台

赵长鹏认为,币安云更偏向于服务法币交易平台,特别是那些在目标区域或社区还未站稳脚跟的平台。

韩国央行正在测试区块链债券

区块律动 BlockBeats 消息,据 Einfomax 报道,韩国央行 正在测试区块链债券。不过,距离全面引入区块链债券可能还需要很长时间。据报道,世界银行已于 2018 年与澳大利亚联邦银行 发行了区块链债券债券 I。

麦妖榜
更新日期 2019-09-03
排名用户贡献值
1牛市来了30910
2BitettFan24187
3等待的宿命23810
4区块大康20369
5六叶树20310
6linjm122719429
7天下无双16192
8lizhen00215280
9让时间淡忘14586
10yelanyi050511349
返回顶部 ↑