什么是点火 3?
阿帕奇点火已经存在了六年多。在这些年里,点火技术发展了很多。SQL 引擎变得更加全面,引入了页面内存体系结构和持久性层,并添加了许多功能。这些进步使 Ignite 成为一个极其强大的工具,适用于从基本缓存到复杂多组件数据集成中心的各种用例。然而,这种权力是有代价的。新功能作为现有代码库的新增功能实现;也就是说,点火没有遇到重大的体系结构或 API 更改。因此,配置、API 和点火行为并不总是一致和直观的,因此,点火可能很难使用,尤其是对于初学者。
点火 3 是正在进行的产品现代化努力中的重要一步。由于 Ignite 是开源分布式数据库中功能最丰富的数据库之一,因此重点是提高可用性和使 Ignite 适应现代基于云的部署,而不是添加新功能。此外,点火 3.0 将提供一种通过添加难以添加到点火 2.x 基线的特性和功能来推进数据库引擎的方法。但是,让我们推迟这些对话,并深入到第一个里程碑:点火3.0。
为点火 3 计划的主要增强功能
动态配置
当前版本的点火的主要可用性问题是配置设计为静态配置(通过 XML 文件或代码段在节点启动时提供)。某些旋钮启用参数更新,但没有一致性。如果更新配置文件并重新启动节点,您可能会对结果感到惊讶。行为是不可预知的,取决于各种因素,例如是否启用持久性。
Ignite 3 具有全新的配置引擎,可在静态参数和动态参数之间提供清晰的分离。在点火 2.x 中,大多数配置更改都需要节点重新启动,有时甚至需要完全群集重新启动。重新启动会导致停机。点火 3 通过提供在运行时更新动态参数的 API 来解决此问题。API 还通过专门的 REST 终结点公开,以便它可以与外部工具集成。
此外,传统的 Spring XML 格式已被更紧凑、易于使用的 HOCON 格式所取代,该格式与 JSON 和 Java 属性格式完全兼容。你可以在GitHub上阅读关于HOCON的。
有关更多技术详细信息,请参阅 架构驱动架构
点火如何处理架构是点火用户面临的另一个挑战。对于每个数据类型,Ignite 在对象级别和 SQL 级别上同时维护架构。SQL 级别由用户控制。在键和值序列化期间,对象级别会自动定义和更新。缓存本质上是无架构的。它们可以同时存储同一类型的多个类型和多个版本。这种二分法使画面更加复杂。 在点火 3 中,表与其架构之间有很强的一对一匹配。架构的作用是明确描述存储在其表中的数据。因此,插入到表中的任何条目都必须符合表的架构。此外,对架构进行的任何更新都反映在数据中;因此,始终保持一致性。 为了使行为更加可预测,正在引入架构更新的统一 API。DDL 语句和外部工具在 API 上运行,因此无论使用哪种机制,用户始终都能获得直观的结果。 有关技术细节,请参阅 点火增强建议 54。 目前,Ignite 使用专有协议进行数据复制,包括分区内和跨分区事务内的数据复制。这些协议已被证明是有效的,在大多数用例中提供一致性和性能。然而,一些限制正变得越来越突出: 分布式系统行业已经生成了多个协议,可用于克服这些限制。漂流和太平洋A只是其中一些例子。点火社区正在积极研究各种方案。目标是确定既支持点火现代化又保留点火功能和性能的选项。 有关技术详细信息,请参阅 统一 CLI 工具
统一的 CLI 工具可能是点火 3 计划最重要的添加工具。该工具负责与点火群集相关的所有操作。与其他工具(ignite.sh、control.sh、Visor CMD 等)的运行方式不同,CLI 工具充当单个入口点。除其他许多事项,该工具使您能够执行以下操作: 新的 CLI 工具将转换用户体验。结合本文前面介绍的更改,该工具显著提高了点火的可用性,使点火对新人更加友好。 有关技术细节,请参阅 点火增强建议 52。 点火3号开发在三个月前才开始,但已经产生了一些具体成果。为了让用户一瞥点火在未来的外观,社区决定发布一个alpha版本。现在,任何人都可以下载并播放 CLI 工具的当前 alpha 版本。要下载,请转到 点火网站。 当前 alpha 生成不表示功能性产品。它不包含群集发现、数据存储、计算功能,也不包含我们习惯的任何其他核心点火功能。但是,它演示了您未来如何与点火互动的主要机制。 以下是第一个点火 3 Alpha 版本的亮点: 获得 Alpha 构建良好感觉的最佳方式是查看入门 指南YouTube.com/watch?v=9m_MoK0PdV8&list=PLMc7NR20hA-I7b9ppKATKRWuhlwbVhae&index=1″>阿帕奇点火3.0阿尔法视频系列。 非常感谢您的反馈!如果您想分享您的想法、愿望或要求,或者如果您发现任何问题,请不要犹豫,向 Apache Ignite 开发人员邮件列表留言。 这个专用 的线程是分享您想法的最佳场所。新的数据复制和事务协议
获取偷拍:下载点火 3 阿尔法
推荐资源