什么是点火 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 工具充当单个入口点。除其他许多事项,该工具使您能够执行以下操作:

  • 轻松安装和升级点火
  • 管理点火可选模块和外部依赖项,无需手动移动 JAR 文件和文件夹
  • 启动和停止节点
  • 为云上的无痛部署生成配置存根和 Docker 映像
  • 连接到群集以更新配置和架构、运行 SQL 查询等

新的 CLI 工具将转换用户体验。结合本文前面介绍的更改,该工具显著提高了点火的可用性,使点火对新人更加友好。

有关技术细节,请参阅 点火增强建议 52

获取偷拍:下载点火 3 阿尔法

点火3号开发在三个月前才开始,但已经产生了一些具体成果。为了让用户一瞥点火在未来的外观,社区决定发布一个alpha版本。现在,任何人都可以下载并播放 CLI 工具的当前 alpha 版本。要下载,请转到 点火网站

当前 alpha 生成不表示功能性产品。它不包含群集发现、数据存储、计算功能,也不包含我们习惯的任何其他核心点火功能。但是,它演示了您未来如何与点火互动的主要机制。

以下是第一个点火 3 Alpha 版本的亮点:

  • 单文件下载(而不是下载一个巨大的ZIP文件,有数百个文件和一个复杂的结构,你会得到一个单一的脚本,CLI工具,可用于所有进一步的操作。
  • 能够通过 Maven 安装核心点火工件和外部依赖项
  • 能够管理本地运行的节点(启动、停止、检查)
  • 能够连接到群集、获取当前配置并更新一些动态参数

获得 Alpha 构建良好感觉的最佳方式是查看入门 指南YouTube.com/watch?v=9m_MoK0PdV8&list=PLMc7NR20hA-I7b9ppKATKRWuhlwbVhae&index=1″>阿帕奇点火3.0阿尔法视频系列。

非常感谢您的反馈!如果您想分享您的想法、愿望或要求,或者如果您发现任何问题,请不要犹豫,向 Apache Ignite 开发人员邮件列表留言。 这个专用 的线程是分享您想法的最佳场所。

推荐资源

Comments are closed.