同城高可用

同城(同地域内不同可用区之间)高可用功能可有效避免单个可用区故障导致的服务中断,确保业务的稳定性。Flink支持对包年包月的工作空间开启跨可用区,开启后工作空间下跨可用区类型的项目空间可以实现同城高可用。本文为您介绍如何开启并使用跨可用区,以及停止跨可用区计费等。

功能介绍

工作空间支持配置单可用区和跨可用区两种CU类型资源。当工作空间未开启跨可用区时,仅支持创建并使用单可用区CU类型的项目空间,单可用区故障后,作业将无法正常运行。工作空间开启跨可用区(添加跨可用CU)后,支持在工作空间下创建单可用和跨可用类型项目空间。使用跨可用区类型项目空间,当作业运行所在的可用区出现故障时,作业将在您选择的备可用区恢复,从而有效避免因单个可用区故障导致服务中断,确保作业的持续性和高可用性。

image

使用限制

  • 仅Intel X86架构处理器的包年包月工作空间支持开启跨可用,开启后暂不支持转为按量付费模式。

  • 每个工作空间仅支持选择一个主可用区和一个备可用区。

  • 仅部分地域支持,详情请参见地域单价。如有疑问或者需要,请通过服务支持渠道进行问询。

注意事项

  • 完整链路的高可用必须确保您的上下游系统同样具备高可用。

  • 跨可用CU按照工作空间级别购买,您可以在工作空间下创建不同的项目空间,并为其分配单可用区CU或跨可用区CU。但只有在分配了跨可用CU的项目空间中创建并启动的作业才具备同城高可用能力。下图中CU类型为跨可用区的项目空间才具备同城高可用能力。

    image

  • 开启跨可用区后,该工作空间会自动升级为新网络架构。新网络架构详情及影响请参见网络架构升级

    重要

    开启跨可用区后,虽然您的作业不会直接在备可用区立即启动,但网络架构已经发生变更。请在开启前,确认已将备可用区的交换机网段添加到上下游系统白名单中,避免出现网络访问受限问题。

  • 开通工作空间时如果存储类型为OSS Bucket,为实现Flink工作空间的同城高可用性,必须确保绑定的Bucket为同城冗余存储类型(配置方法请参见转换Bucket的存储冗余类型)。否则,当某个可用区不可用时,状态数据将无法被正常访问,导致Flink无法保证作业有状态启动。全托管存储将自动为您选择最合适的存储冗余类型,您暂时无需额外关注。

    说明

    当工作空间同时包含同城高可用与单可用区项目空间时,直接将工作空间绑定的Bucket升级为同城冗余可能会导致存储成本的上涨。您可以重新开通一个工作空间单独用于同城高可用,并绑定同城冗余类型的OSS Bucket,实现成本与可靠性的最优平衡。OSS存储费用详情请参见存储费用

  • 在使用同城高可用功能后,Flink跨区访问外部上下游资源时,可能导致毫秒级的延迟。建议根据业务需求评估延迟的接受程度,进而确定是否要开启跨可用区。

  • 跨可用区项目空间的CU单价略贵于单可用区,详情请参见包年包月

开启并使用高可用

方式1:新购工作空间时直接开启

在开通Flink工作空间时开启跨可用区,会默认生成一个名称为工作空间名称-default的单可用区CU的项目空间和一个名称为工作空间名称-default-ha的跨可用区类型项目空间。

  1. 在开通Flink工作空间时开启跨可用区工作空间。

    在开通Flink工作空间页面,选中是否启用跨可用区,并填写计算资源配额,选择对应的主备可用区和虚拟交换机,详情请参见开通实时计算Flink版

  2. 单击目标跨可用区项目空间名称,在跨可用区项目空间内创建并运行作业。

    image

方式2:添加跨可用区CU并创建跨可用区类型项目空间

开通工作空间时未购买跨可用区CU,您可以添加跨可用区CU并创建跨可用的项目空间。

  1. 添加跨可用区CU。

    1. 在目标工作空间操作列下,选择更多 > 工作空间资源变配

    2. 单击增加CU类型

    3. 填写跨可用区的目标CU和备可用区及对应的虚拟交换机信息。

      image

    4. 选中协议后,单击确定,完成支付。

  2. 添加跨可用区类型项目空间,详情请参见添加项目空间

  3. 在跨可用区类型项目空间创建并运行作业,详情请参见进入目标项目空间

方式3:单可用区CU的项目空间开启同城高可用

  1. 登录实时计算控制台

  2. 确认当前工作空间有未分配的跨可用区CU数,且大于待开启同城高可用的项目空间已分配的CU数。

    如果工作空间未分配的跨可用区CU不足,您可以直接为工作空间添加跨可用区CU,或单击其他跨可用区的项目空间的资源分配,释放多余的跨可用区CU,详情请参见资源调整

  3. 单击目标项目空间对应操作列的开启同城高可用后,单击确定

    image

    单击确定后,Flink会自动为目标项目空间分配等量的跨可用区CU,并将原有的单可用区CU退还至工作空间变为未分配CU。例如:

    • 开启前:工作空间下,单可用区已购买CU数为5,已分配CU数为2,跨可用区已购买CU数是5,已分配CU数是0。

    • 开启后:工作空间下,单可用区已购买CU数为5,已分配CU数为0,跨可用区已购买CU数是5,已分配CU数是2。

  4. 在转换后的跨可用区类型项目空间创建并运行作业,详情请参见进入目标项目空间

关闭项目空间的同城高可用功能

无论您以何种方式创建的跨可用区类型的项目空间,都可以按照以下操作关闭该功能。但关闭同城高可用并不会停止计费,停止计费操作请参见退订跨可用区CU

  1. 登录实时计算控制台

  2. 确认项目空间作业是否已全部停止。

  3. 确认工作空间未分配的单可用区CU数是否大于等于当前跨可用区类型的项目空间已分配CU数。

    如果工作空间未分配的单可用区CU不足,您可以直接为工作空间添加单可用区CU,或者单击其他单可用区的项目空间的资源分配,释放多余的单可用区CU,详情请参见资源调整

  4. 单击目标项目空间对应操作列的关闭同城高可用后,单击确定

    关闭同城高可用后,资源变化情况与开启功能相同。待彻底关闭后,您才可以正常使用。

退订跨可用区CU

工作空间跨可用区已分配CU数为0时,将不产生跨可用区费用。跨可用区CU退订操作步骤如下:

  1. 登录实时计算控制台

  2. 单击目标工作空间下所有跨可用区项目空间右侧操作列下的删除后,单击确定

    重要
    • 如果项目空间中存在运行中的作业,则无法删除。

    • 项目空间删除后,项目空间中的作业及数据将不能恢复,请谨慎操作。

  3. 将工作空间跨可用区目标CU调整为0。

    1. 在目标工作空间操作列下,选择更多 > 工作空间资源变配

    2. 将跨可用区的目标CU数改为0。

    3. 选中协议后,单击确定,完成支付。

相关文档

  • 项目空间资源调整操作,请参见资源调整

  • 开启了跨可用区后,您可以修改对应可用区的虚拟交换机,详情请参见修改虚拟交换机