3. DFINITY 具有较强性能优势。当 DFINITY 上的应用需要扩展性能时,原容器可以创建新的容器,或者 fork 自身。每个额外的容器都会增加整体内存容量,在增加容器数量的同时也会增加整体更新和查询调用的吞吐量。这就是所谓的无限性能。
另外,容器的更新虽然只有一个执行线程,但 DFINITY 可以允许应用并行地执行很多个容器。这是因为,在 DFINITY 中不同容器具有不同功能,一个应用会涉及到多个容器,有些容器可能是数据容器,有些可能是信任容器等,容器之间是互相调用的关系,在应用更新时,也互不影响。
除此,DFINITY 对“需要更新容器状态的更新请求”和“会修改容器状态的查询请求”进行了区分。后者不会对内存进行永久更改。这样一来,在任何给定时间,容器内可以有任意数量的并发线程来处理查询调用。这些查询调用针对最后确定的状态根中记录的内存快照运行。当进行跨容器更新调用时,如果该调用发生阻塞,DFINITY 会允许将执行线程移至新的更新调用。
贴近传统互联网的开发体验
和优于 传统互联网的特性
不知大家是否发现,上文中 Dominic 对于 DFINITY 优势的叙说主要面向开发者群体。这皆因公链 B2D2C 的传导路径。在底层基础设施的展业过程中,得开发者,则得天下。而对于 DFINITY 而言,征服“小撮”其他公链开发者只是一小步,“征用”广大传统互联网开发者才是一大步。
我们询问了几位兼具互联网和区块链开发经验的老手,他们选择某个底层最核心的考虑要素。在我们收集到的答案中,开发门槛(包括语言、环境、中间件)和迁移成本是高度重叠的两点。关于在 DFINITY 上的开发体验,几位开发者也有话要说。
1. DFINITY 通过简化技术栈和简化开发存储,大幅降低了开发难度。DFINITY 核心开发者 Paul 对此进行了详细解释:”程序员在传统互联网编程时非常复杂,因为很多传统技术都被可靠性和安全性所局限,但 DFINITY 在将这两个问题有效解决后,很多中间件不再必要,所以通过简化传统的技术栈就可以有效降低开发难度(注:技术栈一般来指是指将 N 种技术互相组合在一起,作为一个有机的整体来实现某种功能)。更进一步的简化在于存储方面。从前由于存储的不稳定性,我们需要在硬盘上做出备份,但这完全没有必要,最新的硬件技术已经可以解决这样的问题。DFINITY 在这个领域进行了较大开拓并发布了数据持久化方案。这个方案使开发者不需要再担心持久化问题,只要程序被写出并没有被删除,它将会一直运行。这从逻辑上对开发者来讲是一个巨大的简化,他们不再把程序想像成一个存在于复杂环境中的应用,而可以在虚拟空间持续运行。“
2. DFINITY 的开发语言具有很强简洁性,同时具有很大包容性。目前在 DFINITY 上用于开发的两个主要语言是:Rust 和 Motoko。据官方介绍,未来 DFINITY 业将会支持所有的开发语言。HashQuark 高级区块链研发工程师 Flanker 在接受采访时表示,根据最近在 DFINITY 上开发的经验来看,首推新的编程语言 Motoko,当然它也支持其他很多语言,比如 C 还有 Rust 等等。“总体上说开发起来是比较舒服的,而且我们可以直接将前端和后端的代码一起编写,非常像开发一个普通的应用程序。开发完成后部署也是非常的简单,可以支持一键部署,然后还可以通过前端页面进行测试和调试。”
可见,只是贴近互联网还不足以吸引到大量开发者,在体验友好之外,还需要有优于互联网的特性,才能让创业者“不得不”选择新底层。我们也将收集到的开发者眼中的 DFINITY 优势特点归纳如下:
文章标题:【破局者 DFINITY(3)】 内容摘要:3. DFINITY 具有较强性能优势。 当 DFINITY 上的应用需要扩展性能时,原容器可以创建新的容器,或者 fork 自身。每个额外的容器都会增加整体内存容量,在增 ... 免责声明:融易新媒体转载此文目的在于传递更多信息,不代表本网的观点和立场。文章内容仅供参考,不构成投资建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。
本文网址:http://mt.ironge.com.cn/opinion/sypl/237944.html