Date: 5月 12, 2025
与高可用性相关的应用程序智能
高可用性 (HA) 背景下的应用程序智能是指系统实时了解应用程序的行为和健康状况并做出智能响应以保持持续服务可用性的能力。
什么是应用智能?
那么,什么是应用智能?应用智能涉及监控、分析和响应多种因素。这些因素包括应用程序状态,例如应用程序处于启动状态还是关闭状态。性能指标包括响应时间、错误率、吞吐量和内存使用情况。应用程序依赖项,例如数据库或外部服务。最后,他们会关注用户行为或模式。使用应用程序智能可以更全面地了解应用程序。它使用各种数据点来对应用程序本身的状态(而不仅仅是基础设施)做出明智的决策。让我们以 Web 服务器为例;仅仅知道服务器是否正在运行是不够的,还要知道网站是否可以无错误地访问?响应速度是否很慢?用户是否需要多次刷新才能访问?网站所依赖的数据库是否也正常运行且可访问?以上所有都是应用程序智能衡量成功的因素示例。
LifeKeeper 如何使用应用程序智能
那么,生命守护者如何使用应用智能来增强关键应用的高可用性?让我们来详细分析一下。LifeKeeper 使用特定于应用程序的恢复工具包 (ARK)包含每个应用程序的知识(树液,SQL,PostgreSQL,甲骨文等)。这使得 LifeKeeper 能够处理每个应用程序的启动/关闭过程,监控应用程序及其依赖项的健康状况,并在不损坏任何数据的情况下协调智能故障转移/故障恢复操作。用户可以在 LifeKeeper 中将相关资源按层次结构组合在一起,这使得 LifeKeeper 能够理解不同应用程序组件之间的依赖关系(例如,当服务依赖于 IP 或数据库时)。这确保了 LifeKeeper发生故障转移按照正确的顺序和恢复操作不会破坏应用程序或使其处于不一致或损坏的状态。
此外,LifeKeeper 还会进行深度健康检查,不仅确定服务器是否正常运行,还会进行更详细的检查,例如数据库是否正在接受连接,或者 Web 服务是否返回预期响应。它甚至可以监控某些预期的后台进程是否正在运行。LifeKeeper 还使用特定于应用程序的配置文件来确保跨节点的数据配置一致性,并确保应用程序设置得到正确保存或恢复。最后,LifeKeeper 能够使用自定义脚本进一步微调这些深度检查,以智能地支持不太常见或自主开发的应用程序。
PostgreSQL ARK:应用程序智能的真实示例
为了更深入地了解,我们可以看看 PostgreSQL ARK 如何使用应用程序智能。PostgreSQL ARK 通过了解特定的 PostgreSQL 启动和关闭命令、了解 postgresql.conf 和 pg_hba.conf 等关键配置文件,以及理解数据目录布局和锁定文件行为,使用特定的逻辑来监控、启动、停止和故障转移 PostgreSQL。
PostgreSQL 的智能监控和有序故障转移
此外,它不仅检查 PostgreSQL 是否正在运行,还会检查数据库是否响应查询、正确的数据目录是否可访问以及事务日志中是否存在任何损坏。它使用依赖项跟踪来确保 PostgreSQL 经常依赖的资源可用,例如用于客户端连接的虚拟 IP 以及用于其数据目录的已挂载存储。这确保了 LifeKeeper 在发生故障转移时能够按正确的顺序启动资源,例如先挂载磁盘,启动 IP,然后启动 PostgreSQL,最后验证服务健康状况。
防止裂脑并确保数据完整性
最后,LifeKeeper 使用应用程序智能来避免裂脑(一种多个节点认为自己是“主”节点的现象)场景,避免启动两个具有相同数据目录的活动 PostgreSQL 服务器,并通过在写入仍在进行时不进行故障转移来避免数据损坏。这些都是 LifeKeeper 和各种 ARK 实现应用程序智能的不同方式的示例,旨在使组合产品尽可能具有弹性。
通过智能高可用性增强应用程序的弹性
总之,LifeKeeper 的内置应用程序智能通过了解应用程序的行为方式及其正确运行所需的条件,实现了精确、快速和可靠的故障转移和恢复。
确保应用程序的弹性和不间断的服务—请求演示或者开始免费试用今天体验 SIOS LifeKeeper 如何使用应用程序智能来保护您的关键工作负载。
作者: Cassy Hendricks-Sinke,首席软件工程师,团队负责人
经许可转载SIOS