更新时间:2024-06-25 GMT+08:00
分享

配置API级联

API级联是指同一区域或不同区域的两个ROMA Connect实例可以建立级联关系,级联实例中的API可以使用被级联实例中的API作为后端服务,实现跨实例间的API调用。级联实例间的API调用使用专属的认证通道,避免被级联实例的API作为后端服务时的认证冲突问题。

  • 级联实例:使用其他实例中的API作为后端服务的实例。
  • 被级联实例:把API提供给其他实例作为后端服务的实例。

对于API的提供者,可以通过级联方式把实例内的API提供给另外一个实例去使用,从而提升API资产的复用能力,避免在多个不同实例中重复部署后端服务。

前提条件

  • 级联的实例间网络可以互通。
  • 级联的实例间跨网互通时,如果经过网闸设备,需要将级联实例和被级联实例的地址和端口提供给网闸设备,并在网闸设备中采用TCP协议摆渡方式打通网络路径。也可以通过专用VPN或隧道来实现跨网互通。

操作步骤

  1. 在被级联实例配置级联功能。
    1. 登录被级联实例所在的ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
    2. 在“实例信息”页面选择“配置参数”页签,并找到级联功能开关参数“cascade”。
    3. 单击参数右侧的“编辑”,把参数运行值设置为“on”,然后单击“保存”,打开级联功能开关。
    4. 单击参数左侧的“”,展开并配置级联相关配置参数。
      表1 被级联实例配置

      参数

      配置说明

      cascade_auth_key

      级联认证的加密密钥,用于级联API之间的调用认证。被级联实例和级联实例的cascade_auth_key值必须配置一致。

      cascade_instance_ids

      级联实例的实例ID列表,仅允许的实例可级联到当前实例。多个实例ID之间使用英文逗号(,)隔开,最多支持配置5个实例ID。

  2. 在级联实例配置级联功能。
    1. 登录级联实例所在的ROMA Connect控制台,在“实例”页面单击实例上的“查看控制台”,进入实例控制台。
    2. 在“实例信息”页面选择“配置参数”页签,并找到级联功能开关参数“cascade”。
    3. 单击参数右侧的“编辑”,把参数运行值设置为“on”,然后单击“保存”,打开级联功能开关。
    4. 单击参数左侧的“”,展开并配置级联相关配置参数。
      表2 级联实例配置

      参数

      配置说明

      cascade_auth_key

      级联认证的加密密钥,用于级联API之间的调用认证。被级联实例和级联实例的cascade_auth_key值必须配置一致。

      cascade_instance_ids

      级联实例的实例ID列表,级联实例中无需配置该参数。

  3. 在级联实例创建到被级联实例的负载通道。
    1. 在级联实例控制台左侧的导航栏选择“服务集成 APIC > API策略”,在“负载通道”页签下单击“创建负载通道”。
    2. 在新建负载通道页面配置负载通道基本信息。
      表3 基本信息配置

      参数

      配置说明

      通道名称

      填写负载通道的名称,根据规划自定义。建议您按照一定的命名规则填写负载通道名称,方便您快速识别和查找。

      端口

      填写负载通道的服务器访问端口号。根据被级联实例中API使用的请求协议来确定端口号,HTTP协议使用80端口,HTTPS协议使用443端口。

      分发算法

      选择后端服务请求的分发算法,负载通道通过分发算法确定请求被发送到哪台服务器上。

      • 加权轮询:结合弹性服务器权重值,将请求轮流转发到每一台服务器。
      • 加权最小连接:结合弹性服务器权重值,将请求转发到具有最少活跃连接数的那台服务器。
      • 源地址哈希:由请求的来源IP地址决定请求被转发到哪一台云服务器,相同源地址的请求始终会转发到同一台服务器,除非该云服务器不可用。
      • URI哈希:由请求的路径决定请求被转发到哪一台云服务器,相同路径的请求始终会转发到同一台服务器,除非该云服务器不可用。
    3. 配置通道内服务器。访问被级联实例的API时需要选择“指定服务器地址”。
    4. 单击“创建服务器分组”,在创建服务器分组弹窗中配置分组信息,完成后单击“确定”。

      您可以根据需要把服务器划分到多个分组中。

      表4 服务器分组配置

      参数

      说明

      分组名称

      填写服务器分组的名称,根据规划自定义。建议您按照一定的命名规则填写分组名称,方便您快速识别和查找。

      权重

      填写服务器分组的权重值,权重值越大,转发到该分组下服务器的请求数量越多。

      描述

      填写分组的描述信息。

    5. 单击“添加后端服务器地址”,在页面中配置后端服务器信息。
      表5 后端服务器配置

      参数

      配置说明

      后端服务器地址

      填写被级联实例的API访问地址。

      • 若填写IP地址:
        • 级联的实例间基于弹性IP实现公网互通时,则填写被级联实例的“弹性IP地址”。
        • 级联的实例间基于VPC内网地址实现内网互通时,则填写被级联实例的“服务集成 APIC连接地址”。
      • 若填写域名,则填写API的访问域名地址。

      是否备用节点

      开启后对应后端服务器为备用节点,仅当非备用节点全部故障时工作。

      端口

      填写后端服务器的访问端口号,端口为0时使用负载通道的端口。

      启停状态

      选择是否启用服务器,只有启用后,请求才会分发到该服务器上。

    6. 配置健康检查配置。

      健康检查配置默认打开,若不需要执行健康检查,可关闭健康检查配置。

      表6 健康检查配置

      参数

      说明

      协议

      选择健康检查所使用的协议,可选择“TCP”、“HTTP”和“HTTPS”。

      双向认证

      仅当“协议”选择“HTTPS”时可配置。

      选择是否在ROMA Connect和后端服务器间启用双向认证。

      路径

      仅当“协议”选择“HTTP”或“HTTPS”时需要配置。

      填写健康检查的URL地址路径。

      请求类型

      仅当“协议”选择“HTTP”或“HTTPS”时需要配置。

      选择健康检查所使用的HTTP请求方法,可选择“GET”和“HEAD”。

      检查端口

      健康检查的目标端口,默认使用负载通道配置的端口号。

      正常阈值

      执行健康检查时,判定服务器状态正常的连续检查成功次数。例如“正常阈值”设置为“2”,则在连续2次检查成功时,判定服务器的状态正常。

      异常阈值

      执行健康检查时,判定服务器状态异常的连续检查失败次数。例如“异常阈值”设置为“5”,则在连续5次检查失败时,判定服务器的状态异常。

      超时时间

      健康检查的响应超时时间,单位为秒,超过时间无响应则认为检查失败。

      间隔时间

      连续两次检查的间隔时间,单位为秒。

      HTTP响应码

      仅当“协议”选择“HTTP”或“HTTPS”时需要配置。

      服务器在返回指定的HTTP响应码时,判定响应成功。可同时指定多个响应码。

    7. 单击“完成”,完成负载通道的创建。
  4. 在级联实例创建API,使用被级联实例中的API作为后端服务。

    创建API的过程请参考创建API,仅定义后端服务的配置有如下区别。

    表7 API后端服务配置

    参数

    配置说明

    后端服务类型

    选择后端服务的类型。使用被级联实例的API作为后端服务时,需选择“HTTP/HTTPS”。

    负载通道

    是否使用负载通道访问后端服务。使用被级联实例的API作为后端服务时,需选择“使用”。

    URL

    配置后端服务的URL。

    • 请求方法:选择后端服务的请求方法,根据被级联实例中API的请求方法选择。
    • 请求协议:选择后端服务使用的请求协议,根据被级联实例中API的请求协议选择。
    • 负载通道:选择访问后端服务所使用的负载通道,选择3所创建的负载通道。
    • 路径:填写后端服务的请求路径,格式如:/getUserInfo/{userId}。请求路径中可包含Path参数,以{参数名}形式表示。

      如果请求路径中需要携带环境变量,则使用“#变量名#”的形式将环境变量添加到请求路径中,如/#path#。环境变量名严格区分大小写,支持添加多个环境变量,如/#path##request#。

    级联标识

    是否使用级联方式访问后端服务,选择开启。

    自定义host头域

    自定义后端服务请求中的Host头域。若3中创建负载通道时,“后端服务器地址”填写了IP地址,则此处需要填写被级联实例的API的域名。

    后端超时 (ms)

    后端服务请求的超时时间,默认为5000ms。

    重试次数

    ROMA Connect调用后端服务失败后的重试次数。

    • 值为-1时,表示不开启重试功能,但除POST和PATCH外的其他请求类型会默认重试1次。
    • 值为0-10时,表示开启重试功能,并根据设置的值执行重试。重试次数应小于负载通道中已启用的后端服务器个数。

    TLS双向认证

    仅当“协议”选择“HTTPS”时可配置。

    选择是否在ROMA Connect和后端服务间启用双向认证。使用被级联实例的API作为后端服务时,不启用双向认证。

    后端认证

    选择是否启用后端认证。使用被级联实例的API作为后端服务时,不启用后端认证。

相关文档