Retrieval Market 小型峰会的目的是聚集多个 Retrieval Market 解决方案的所有构建者,突出迄今为止取得的进展,并确定多个系统如何结合在一起以提高检索交易的效率、效率和可靠性对于网络用户。 峰会的所有谈话都在星际文件系统频道上提供:https://www.youtube.com/playlist?list=PL_0VrY55uV19TsJ8r2qsMyG2v2LIKEmv2 在 4 月的 Retrieval Market Builders Mini-Summit 上,Raul Kripalani(libp2p 和星际文件系统核心开发者)深入研究了 Lotus 节点的架构和计划的更改,特别是对 Lotus-miner 节点的更改,以更好地满足客户的需求和网络参与者。 完整的谈话可以在这里找到(https://www.youtube.com/watch?v=cmrLfnqzflk)。 该演讲旨在强调为 Lotus 客户确保检索交易高度可靠和可扩展所需的工作——帮助确保 星际文件系统?检索市场建立在稳健的基础上。 Lotus 是星际文件系统网络的一个实现,用 Go 编写。作为星际文件系统的第一个实现,Lotus 旨在为整个网络奠定坚实而有弹性的基础。任何星际文件系统节点的核心功能之一是实现有用数据的存储和检索 - 从而为星际文件系统网络上强大的检索市场奠定基础。 Lotus 节点的演变 星际文件系统生态系统正在快速发展,Lotus 等生态系统工具也在不断发展以满足网络的需求并尝试未来的机会。特别是检索市场将为星际文件系统网络引入新功能,包括索引、CDN、公共检索等。 我们发现的问题是,这些新的检索市场能力将依赖于强大的客户基础——如今,Lotus 客户倾向于解决他们认为不稳定或无利可图的某些功能。归根结底,这是客户见证的良好行为;它帮助 Lotus 实现发展以满足他们的需求。当网络参与者开始短路某些功能时,表明软件本身应该为其用户提供更多的灵活性和模块化。 通过这一观察,我们意识到Lotus的单体二进制文件阻碍了 Lotus 客户的灵活和稳健的操作,并确定了解决问题的机会。 单体二进制 到目前为止,Lotus 节点的架构在很大程度上是单体的。Lotus 有两个不同的入口点:1) 一个完整节点,以及 2) 一个客户。然而,除此之外,网络参与者几乎没有选择权在存储生命周期中承担哪些责任。例如,客户的任务是挖掘、证明存储、交易等。这些是根本不同的职责,但它们通过当前的 Lotus-miner 架构耦合在一起。 单体架构的问题 从广义上讲,这种整体架构阻止了客户在不同的职责之间有效地分配他们的资源。强制合并责任与客户的核心动机相矛盾,即在最小化运营风险的同时实现利润最大化。具体来说,单体二进制存在许多问题。 脆弱性:当架构内没有隔离时,一个区域的错误可能会泄漏并影响其他关键流程。这使得很难在关键和非关键进程之间进行分割,并使整个实例崩溃。 增加的攻击面:Lotus 客户的某些进程需要公开公共端点,这使系统的该部分容易受到攻击。如果架构是单一的,则单个公共端点可能会危及整个系统。 功能膨胀:在星际文件系统的使命中,客户不仅存储和提供原始数据,而且还提供有用的服务,例如索引、发现等。使用新的客户侧功能重载单个进程会导致进一步的担忧和操作风险。 无法扩展:不同的能力需要不同的特性和不同的升级过程。尝试在单一系统中管理这些不同的功能很困难,并且会导致迭代和增长缓慢。 缺乏细粒度控制:由于客户无法主动选择加入或退出功能,他们必须通过拒绝交易、设置高价以劝阻交易,甚至分叉代码库等机制来解决这些问题。 更慢的迭代:单体架构意味着更难测试和创新,因为没有简单的方法来隔离新组件并选择加入实验功能而不将其引入整个系统。 迈向模块化客户架构 看看 Lotus 客户在幕后的职责,出现了两个不同的类别:采矿业务和市场。这两个层共享非常不同的服务和 SLA。例如,Lotus 客户的采矿作业是其最具经济利润的活动,并且本质上也是私有的。然而,市场运作是完全公开的,并在不同的盈利模式下运作。 Lotus客户的更多责任:https://github.com/protocol/web3-dev-team/blob/raulk/lotus-miner-runtime-segregation/proposals/lotus-miner-runtime-segregation.md#context 使用这种初始分类,迈向解决单体架构缺点的模块化客户架构的第一步出现了:将 Lotus 客户流程分为 1) Lotus 市场流程和 2) 其他 Lotus 客户流程。 通过分离市场和挖矿,Lotus 节点的架构对于客户来说变得更加特定于功能,使他们能够与最适合其能力和网络经济偏好的职责保持一致。 设计原则 在朝着更加模块化的客户架构的这条新道路上前进的同时,Lotus 将继续坚持一些设计原则: 避免类似微服务架构的复杂性:明确避免复杂的相互依赖网络,这些网络会迅速转化为意大利面条式架构,并需要专门的工具(如服务网格)来管理和调试。这是向 Lotus 引入错误的复杂程度。秩序和等级仍然属于,因为这些过程仍然是一个单一的有凝聚力的单元的一部分 简单的中心/辐条架构:Lotus 正在向中心辐射架构发展,该架构由主管实例管理。这些主管知道部署中提供了哪些功能以及哪些节点提供了这些功能。它们还充当聚合的外部 API 入口点。 在许多方面都值得投资:新的 Lotus 架构一定值得投资。除了盈利能力外,其他一些 ROI 因素包括可靠性、安全性、开发人员敏捷性和稳健性。 强大的分布式流程生命周期监督:模块化架构并不意味着完全孤立的架构。如果出现故障并且意味着其他下游服务将出现故障,那么整个系统必须能够注意到并做出反应。 为了设计这个新的运行时,我们通过 Erlang/OTP 和面向角色的编程(例如 JVM 世界中的 Akka)等模型来激励自己,并从服务网格和编排器中借用精选概念和抽象,而实际上并不完全依赖这些框架。 更多资源 要了解有关 Lotus 的更多信息以及通往模块化客户架构的道路,请参阅: Lotus Github https://github.com/星际文件系统-project/lotus Proposal: Miner Runtime Segregation https://github.com/protocol/web3-dev-team/blob/raulk/lotus-miner-runtime-segregation/proposals/lotus-miner-runtime-segregation.md Draft Prototype https://github.com/星际文件系统-project/lotus/pull/5983 —- 编译者/作者:IPFS星际联盟 玩币族申明:玩币族作为开放的资讯翻译/分享平台,所提供的所有资讯仅代表作者个人观点,与玩币族平台立场无关,且不构成任何投资理财建议。文章版权归原作者所有。 |
Lotus节点的演变LotusRetrievalMarkets建设者峰会回顾
2021-06-25 IPFS星际联盟 来源:区块链网络
LOADING...
相关阅读:
- 从托管人 Prime Trust 到 Celcius 的退出时间为 30 天2021-06-25
- Fiserv 与 NYDIG 集成,允许客户直接在银行账户内管理比特币2021-06-24
- 进一步奔向主流,美国金融机构客户现可以通过银行账户购买、出售和2021-06-24
- 南非银行阻止客户在 Binance 上购买加密货币,交易所拒绝指控 – Finan2021-06-23
- 恒缘珍贝秉承客户至上的服务理念2021-06-23