风险提示:理性看待区块链,提高风险意识!
AO 生态的胜利之匙:Web3 时代的微服务架构
首页 > 业界 > Web3 2024-07-09 15:30
摘要
本文讨论了采用微服务架构(或者说 Actor 模型)的优势,分析了它为应用开发带来的一定程度上合乎逻辑的复杂性 。
币界网报道:

作者:ArweaveOasis,来源:PermaDAO

本文讨论了采用微服务架构(或者说 Actor 模型)的优势,分析了它为应用开发带来的一定程度上合乎逻辑的复杂性。

@aoTheComputer 的发布无疑给整个 @ArweaveEco 生态乃至于整个 Web3 行业带来了一种全新的思考与实践。这不仅体现在广大投资者的关注度上,更体现在吸引大量优质开发者开始深度研究之上。

是什么阻碍了 Web3 的大规模采用?

很简单,因为值得人们使用的去中心化应用太少了。

基于 Web3 基础设施、开发工具、软件工程实践等方面的现状,很多类型的去中心化应用当前几乎是无法实现的。

在基础设施方面,我认为 AO 的出现填补了其中一部分重大的空白。但是,目前构建大型去中心化应用的工程的复杂性,仍然是令人望而生畏的。这使得我们无法在资源受限的情况下——在事物发展的初始阶段,通常如此——开发出更多样化的、更大规模、往往也意味着更棒、功能更丰富的去中心化应用。

不要相信那些类似“智能合约/链上程序应该就是很简单的,没有必要搞得太复杂”之类倒果为因的鬼话!

现实问题并不是“不想”,而是“不能”——臣妾做不到啊。

AO 是运行在 Arweave 上的计算机系统,旨在实现可验证的无限计算能力。它是 Actor Oriented(面向参与者)的简称。顾名思义,这说明运行在 AO 上的去中心化应用需要采用 Actor 模型为基础的设计和编程方法。

事实上,AO 并不是最早将 Actor 模型用于区块链(或者说“去中心化基础设施”)的。比如,TON 的智能合约就是使用 Actor 模型构建的。说到 TON,我个人觉得它和 AO 在某些方面颇有相似之处。

对于尚未深入了解 Web3 的 Web2 开发者来说,想要迅速理解 AO 或 TON 相对其他“单体区块链”的最大特色,一个方便的抓手是:把运行在它们之上的智能合约(链上程序)看作是“微服务”。而 AO 或 TON 是支持这些微服务运行的基础设施,比如 Kafka、Kubernetes 等。

作为一个 20 多年来主要专注于应用开发的一名资深 CRUD boy, 我个人非常乐见 AO、TON 这样的非单体区块链的出现,并对它们的发展充满期待。下面我想从一个应用开发者的视角,谈谈我对 AO 的看法,可能很多观点还不太成熟。也许部分应用开发者会心有戚戚焉,那就足矣。

将 Actor 模型应用于区块链,真的有必要吗?

答案是肯定的。看看已经取得“大规模采用”的 Web2 应用,你就会明白。

太多的架构师已经知道如何将 Web2 应用“搞大”:微服务架构(MSA)、事件驱动的架构(EDA)、消息通信机制、最终一致性模型、分片……这些东西,不管叫什么,总是与 Actor 模型共生共存的。其中的一些概念,甚至可以说只是一个事物的不同方面而已。所以在下面的行文中,我们不对“微服务”和 Actor 做区分,你可以认为它们就是同义词。

今日互联网的繁荣,离不开这些架构师的智慧。他们不断地探索、实践、总结,最终形成了一套完整的工程实践体系。

作为 Web3 基础设施,AO 做的很棒。至少,AO 作为(我眼中的)当前 Web3 领域的最佳去中心化消息代理,已经展现出巨大的潜力。我相信传统 Web2 应用的开发者由此可以马上理解其中的重大意义:倘若没有 Kafka 或者类 Kafka 的消息代理可用,你能想象现在很多大型的互联网应用“程序要怎么写”吗?

虽然 Actor 模型在很多方面具有理论上的优势,但是不管是 Actor 模型也好,微服务架构也好,在我看来,更多是开发者为了开发某些应用(特别是大型应用)所不得不承受之“痛”。

让我们用一个简单的例子来向非技术读者说明这一点。假设世界上所有银行都基于一个“世界计算机”来开展业务,而这个世界计算机是一个单体架构的系统。那么,当工商银行的客户“张三”向在招商银行开设账户的“李四”汇款 100 元的时候,开发者可以这样编写转账程序的代码:

1. 开始一个事务(或者说“交易”,它们在英文中是同一个词);

2. 在张三的账户上扣减 100 元;

3. 在李四的账户上增加 100 元;

4. 提交事务。

以上步骤不管哪一步出现问题,比如说第三步,在李四的账户上增加金额,因为某种原因失败了,那么整个操作都会被回滚,就像什么都没有发生过一样。对了,程序这样写,我们称之为采用“强一致性”模型。

倘若这个世界计算机是个采用微服务架构(MSA)的系统呢?

那么,管理工商银行账户的那个微服务(或者说 Actor)与管理招商银行账户的那个微服务,几乎不太可能是同一个。我们先假设它们确实不是同一个,前者我们称为 Actor ICBC,后者我们称为 Actor CMB。此时,开发者可能需要这样编写转账的代码:

1. Actor ICBC 先记录好以下信息:“张三向李四转账 100 元”;Actor ICBC 在张三的账户上扣减 100 元,并向 Actor CMB 发送一条消息:“张三向李四转账100 元”;

2. Actor CMB 收到消息,在李四的账户上增加 100 元,然后向 Actor ICBC 发送一条消息“李四已收到张三汇入的 100 元”;

3. Actor ICBC 收到消息,记录好:“张三向李四转账 100 元,已成功”。

上面只是“一切都好”的过程。但是,如果某个步骤,比如说第二个步骤,“在李四的账户上增加 100 元”,出现了问题,怎么办?

开发者需要针对这个可能发生的问题,编写这样的处理逻辑:

  • Actor CMB 向 Actor ICBC 发送一条消息:“张三向李四转账 100 元,处理失败”。

  • Actor ICBC 收到消息,在张三的账户上增加 100 元,并记录:“张三向李四转账 100 元,已失败”。

程序这样写,我们称之为采用最终一致性模型。

以上,非技术读者应该能直观感受到开发单体架构的应用与开发 MSA 应用之间在工作量上的巨大差异了吧?要知道,上面所说的转账示例只是一个非常简单的应用而已,如果我们把它称之为应用,而不是功能的话。大型应用里面的功能往往比这样的例子要复杂的太多。

这个微服务应该多大?

换句话说,"这个微服务是不是太大了,应该一分为二?”

很不幸,这个问题没有标准答案,它是一门艺术。微服务越小,就越容易通过创建新实例并按需移动它们来优化系统。但是,微服务越小,开发人员就越难实施复杂的流程,正如上面展示的那样。

对了,将一个应用拆分为多个微服务,从数据库设计角度看,即所谓的“分片(Sharding)”。微服务架构的最佳实践之一,就是每个微服务仅使用一个属于自己的本地数据库。简单来说,分片允许水平扩展。当数据集变得太大,无法通过传统方式处理时,除了将它们拆分成更小的片段以外,别无他法(来进行扩展)。

回到微服务的拆分问题。为了更好的践行这门艺术,我们需要掌握一些思维工具的使用。DDD(领域驱动设计)的 “聚合(Aggregate)”就是这样一件你必须拥有的“大杀器”。我的意思是,它能帮助你摧毁软件设计中的“核心复杂性”。

我认为聚合是 DDD 在战术层面最为重要的一个概念。

什么是聚合?聚合在对象之间,特别是实体与实体之间划出边界。一个聚合一定包含且仅包含一个聚合根实体,以及可能包含不定数量的聚合内部实体(或者叫非聚合根实体)。

我们可以使用聚合这一概念对应用所服务的领域进行分析和建模;然后在编码的时候,就可以按照聚合来切分微服务。最简单的做法,就是将每个聚合实现为一个微服务。

不过,即使你的手艺再娴熟,这种事情你也不能保证第一次就做对。这个时候,一件让你可以尽快对建模结果进行验证、不行就推倒重来的工具,对你来说就弥足珍贵了。

还有什么东西可能构成大型 Web2 应用迁移到 AO 生态的障碍?

我想谈谈语言和程序运行时的问题。

AO 是一个数据协议。你可以认为它是一套定义 AO 网络中的各个“单元”如何实现协作的接口规范。目前,AO 的官方实现包含了一个基于 WASM 的虚拟机环境,以及一个编译为 WASM 的 Lua 运行时环境(ao-lib),旨在简化 AO 进程的开发。

Lua 是一种小而美的语言。一般认为,Lua 的优势在于它的轻量级和易于嵌入其他语言,这使得它在特定场景(比如游戏开发)中特别有用。但是,对于开发大型互联网应用来说,Lua 语言并不是主流的选择。大型的互联网应用开发通常倾向于使用如 Java、C#、PHP、Python、JavaScript、Ruby 等语言,因为这些语言提供了更全面的生态系统和工具链,以及更广泛的社区支持。

有人可能要争论,这些语言都可以编译成 WASM 字节码,在 WASM 虚拟机里运行。但是事实上,虽然 WASM 在 Web 前端开发领域的表现很强势,但目前互联网应用采用 WASM 作为后端的运行环境并不是一个主流选择。注意,智能合约(链上程序)是 Web3 时代的“新后端”。

总结

综上,我们已经讨论了采用微服务架构(或者说 Actor 模型)的优势,以及它为应用开发带来的复杂性。有些复杂性是不可避免的。比如,即使在工程化更成熟的 Web2 环境中,基于消息通信来实现“最终一致性”对于许多开发者而言已经是不小的挑战。在新生的 AO 平台上开发 Dapp,这个挑战似乎还要更加明显——当然这是完全可以理解的。 以下链接文章的开篇就展示了一个例子。

我们都知道,公链之争,其实是争夺应用开发者的战争。那么,在这种情况下 AO 要如何赢得开发者?

我认为需要继续向已经获得“大规模采用”的 Web2 学习。这不仅包括学习其基础设施,还包括开发方法论、开发工具和软件工程实践等各个方面。在下一篇文章中,我会为大家展示我坚信的一种解决方案:低代码开发。

发表评论
发表评论
暂无评论
    相关阅读
    币界百科
    币界资讯
    衍生品交易员对 JASMY 保持乐观,但现货抛售暗示涨势可能面临严峻考验。
    区块链
    2025-08-14 09:35:52
    两年前,Rain Lõhmus 承认自己丢失了一个预售钱包,现在这些钱至少在账面上价值已超过 10 亿美元。
    区块链
    2025-08-14 09:26:06
    据报道,全球银行巨头渣打银行突然上调了以太坊(ETH)的年底目标价,以太坊是市值第二大的数字资产。
    区块链
    2025-08-14 05:53:03
    2025 年是否会标志着 Altseason 全面爆发的开始?
    区块链
    2025-08-14 04:06:46
    寻找2025年最具潜力的加密货币百万富翁——SHIB XRP替代品,例如LILPEPE,可在牛市山寨币指南中找到价格预测。
    区块链
    2025-08-14 03:25:14
    在加密货币的世界里,RVN交易和pDOTn交易平台正成为热门话题。RVN币是Ravencoin区块链网络的原生代币,致力于打造公平且去中心化的数字资产交易平台。它基于比特币代码库开发,采用X16R挖矿算法,有更快的交易确认速度和高吞吐量。其生态布局广泛,支持多种资产的token化发行与NFT市场构建。而pDOTn交易平台,虽未详细介绍,但在加密货币交易领域,它与RVN交易的结合或许能为投资者带来新的机遇。DYOR,深入了解它们,才能更好地参与加密货币的浪潮。
    区块链书籍
    2025-03-07 14:57:20
    在加密货币领域,门罗币以强大隐私保护特性著称。然而2025年全球对加密货币监管力度不断加大,政策进一步收紧,使其面临前所未有的挑战。同时,从宏观经济层面看,美联储加息周期或未结束,加息会让资金回流传统金融市场,增加持有门罗币的机会成本,投资者可能减少投资。CPI数据波动反映通胀情况,若通胀过高,政府采取更严厉货币政策也会冲击加密货币市场。门罗币价格稳定性较弱,更易受宏观因素影响。
    交易所百科
    2025-03-07 14:09:34
    在加密货币交易的世界里,SWASH永续合约和LMWR交易备受关注。永续合约作为一种特殊的衍生品,没有到期或结算时间,能永久持续,且采用资金费用机制保证价格紧跟标的资产价格。这使得交易灵活,避免了交割带来的重复开仓麻烦。而LMWR交易也有着其独特的魅力和规则。本文将深入剖析SWASH永续合约和LMWR交易的特点、交易策略等,助你在交易中做出更明智的决策,无论是新手小白还是经验丰富的交易者,都能从中获取有价值的信息,深入了解这两种交易方式的奥秘。
    交易所百科
    2025-03-07 10:20:00
    在加密货币的世界里,PKOIN杠杆和S平台正成为众多投资者关注的焦点。PKOIN杠杆交易为投资者提供了以小博大的机会,能够在市场波动中获取更大的收益。而S平台作为承载这一交易的重要场所,其安全性、稳定性和交易体验至关重要。本文将深入剖析PKOIN杠杆在S平台上的交易机制、特点以及潜在风险,让你全面了解这一热门交易模式,助你在投资中做出更明智的决策。无论是新手小白还是资深玩家,都能在文中找到有价值的信息。DYOR,了解清楚后再入场交易,避免盲目跟风导致FOMO情绪。
    区块链百科
    2025-03-07 12:47:39
    在加密货币的风云变幻中,LADYS合约和ROG杠杆成为了众多投资者关注的焦点。LADYS合约有着其独特的运行机制和市场影响,而ROG杠杆则为交易带来了更多的可能性与风险。本文将深入剖析LADYS合约的特点和发展趋势,以及ROG杠杆的运作模式和潜在挑战。无论你是新手小白,还是资深玩家,都能在这里DYOR,对这两者有更全面的认识,从而在加密货币投资领域做出更明智的决策。
    矿业百科
    2025-03-07 11:56:07
    推出加密货币和区块链行业早报《早8点》2777期,为您提供最新、最快的数字货币和区块链行业新闻。
    比特币新闻
    2025-08-06 08:31:27
    在当今的加密货币领域,AXEL交易所与艾达币平台备受瞩目。AXEL致力于通过灵活易用的技术方案,为用户提供真正的数据所有权,其发布的全球去中心化网络AXEL.Network更是助力用户向去中心化计算迁移。艾达币作为Cardano项目的原生加密货币,用途广泛,涵盖支付交易费用、治理网络等。然而,加密市场变幻莫测,艾达币价格也经历着显著波动,其价格下降时交易量上升的现象值得关注。AXEL交易所和艾达币平台在加密市场中有着各自的特色与发展路径,投资者需DYOR,深入了解其背后的技术、市场动态等信息,以更好地把握
    钱包知识
    2025-03-04 10:22:41
    在加密货币的世界里,WILDw平台与BANANAS31合约正成为备受瞩目的焦点。BANANAS31币是社区驱动的人工智能治理meme,在BNB智能链上100%公平发布,其独特灵感源自互联网模因,以香蕉图案融入设计,为去中心化金融领域带来轻松幽默的氛围。WILDw平台与BANANAS31合约又有着怎样的关联与创新?它们将如何在加密浪潮中发展?深入了解,一起探寻加密世界的新动向。
    矿业知识
    2025-03-04 11:57:45
    在加密货币的广阔天地里,CRV交易平台与MANTA杠杆交易备受瞩目。CRV作为DeFi龙头项目Curve Finance的原生加密货币,其所在的交易平台在稳定币等领域有着关键地位。随着传统金融机构的布局,Curve的重要性日益凸显,且创始人借贷仓位清算、通胀降低等因素推动着CRV价格回升。而MANTA币所属的Manta Network是聚焦隐私保护的去中心化金融平台,通过zk - SNARK技术守护交易隐私。MANTA币的杠杆交易在币安等平台开展,能让投资者用部分资金控制更多资产交易,但也伴随着更高风险。
    区块链知识
    2025-03-03 21:34:16
    在当今充满活力的加密货币领域,MYST平台与ASTRA杠杆正逐渐成为焦点话题。MYST平台以其独特的功能和创新的模式,为用户带来了全新的体验。而ASTRA杠杆作为新兴的金融工具,在市场中展现出了巨大的潜力。这两者的结合,无疑将在加密货币市场掀起一阵热潮。它们将如何影响市场格局?又会给投资者带来哪些新的机遇和挑战?让我们一起深入探讨MYST平台与ASTRA杠杆的奥秘,探寻加密领域的新趋势。
    矿业知识
    2025-03-03 19:10:13
    推荐专栏
    Boss Wallet Web3 Econom Pass
    Fully On-Chain & AI-Powered Meme Trading | #Xbit #DEX #Web3 | English: @XBITDEX | Chinese 华语 : @XBITDEX_ZH | Support: @XbitHelpDesk
    一位相信价值投资的币圈KOL。稳定盈利的缠论野生交易员 #BTC行情分析师 #价值投资 #链上数据分析
    爱Web 3,爱生活,爱科技,爱炒币的老韭菜
    热门币种
    更多
    币种
    美元价格
    24H涨跌幅
    BTC比特币
    123,733.13 USDT
    ¥900,777.19
    +3.56%
    ETH以太坊
    4,746.60 USDT
    ¥34,555.25
    +2.14%
    XRP瑞波币
    3.33 USDT
    ¥23.90
    +2.8%
    USDT泰达币
    0.99990 USDT
    ¥7.17
    +0.05%
    BNB币安币
    852.92 USDT
    ¥6,209.26
    +1.99%
    SOL
    207.72 USDT
    ¥1,489.74
    +4.52%
    USDC
    0.99940 USDT
    ¥7.17
    -0.04%
    DOGE狗狗币
    0.25250 USDT
    ¥1.81
    +6.05%
    ADA艾达币
    0.97880 USDT
    ¥7.02
    +14.59%
    TRX波场币
    0.36310 USDT
    ¥2.64
    +2.37%
    热搜币种
    更多
    币种
    美元价格
    24H涨跌幅
    OK币
    104.73 USDT
    ¥762.43
    +124.71%
    OKC Token
    8.7007 USDT
    ¥63.34
    +73.92%
    柚子
    0.5739 USDT
    ¥4.18
    +4.02%
    Conflux
    0.2033 USDT
    ¥1.48
    +0.49%
    火币积分
    0.2036 USDT
    ¥1.48
    +14.19%
    Gatechain Token
    17.7775 USDT
    ¥129.42
    +6.4%
    Filecoin
    2.7468 USDT
    ¥20.00
    +3.41%
    比特币
    123,733.13 USDT
    ¥900,777.19
    +3.56%
    以太经典
    24.30 USDT
    ¥176.90
    +1.72%
    以太坊
    4,746.60 USDT
    ¥34,555.25
    +2.14%
    Solana
    207.72 USDT
    ¥1,512.20
    +4.52%
    Uniswap
    12.0835 USDT
    ¥87.97
    +5.33%
    最新快讯
    更多
    链捕手将于今晚 19:00 举办“ETH 财库爆发进行时,机构主导的牛市前路向何方?”X Space
    2025-08-14 11:46:04
    币安推出USDC借币限时优惠活动,年化利率4.00%
    2025-08-14 11:46:04
    去中心化广告平台 Alkimi 将迁移至 Sui 网络
    2025-08-14 11:42:49
    爱沙尼亚银行家Rain Lõhmus丢失的以太坊钱包目前价值超过10亿美元
    2025-08-14 11:27:15
    Coinbase DEX率先向1%用户开放,后续将逐步扩大覆盖范围
    2025-08-14 11:27:14
    黑客趁 CRV 锁仓到期转出资金,支付 9.35 ETH 贿赂抢先交易
    2025-08-14 11:27:13
    机构:美联储9月会议必将出现反对意见
    2025-08-14 11:20:52