# 配置APIC的API级联
API级联是指同一区域或不同区域的两个ROMA Connect实例可以建立级联关系，级联实例中的API可以使用被级联实例中的API作为后端服务，实现跨实例间的API调用。级联实例间的API调用使用专属的认证通道，避免被级联实例的API作为后端服务时的认证冲突问题。
- 级联实例：使用其他实例中的API作为后端服务的实例。
- 被级联实例：把API提供给其他实例作为后端服务的实例。
对于API的提供者，可以通过级联方式把实例内的API提供给另外一个实例去使用，从而提升API资产的复用能力，避免在多个不同实例中重复部署后端服务。
配置APIC的API级联步骤如下：
[1.在被级联实例配置级联功能。]
[2. 在级联实例配置级联功能。]
[3.在级联实例创建到被级联实例的负载通道。]
[4.在级联实例创建API]，使用被级联实例中的API作为后端服务。
#### 前提条件
- 级联的实例间网络可以互通。
- 级联的实例间跨网互通时，如果经过网闸设备，需要将级联实例和被级联实例的地址和端口提供给网闸设备，并在网闸设备中采用TCP协议摆渡方式打通网络路径。也可以通过专用VPN或隧道来实现跨网互通。
 
#### 配置APIC的API级联
1. 在被级联实例配置级联功能。
   1. 登录[ROMA Connect控制台](https://console.huaweicloud.com/roma3)，在左侧导航栏选择"资源管理"，在实例页面单击实例，进入实例控制台。
   
   2. 在"实例信息"页面选择"配置参数"页签，并找到级联功能开关参数"cascade"。
   
   3. 单击参数右侧的"编辑"，把参数运行值设置为"on"，然后单击"保存"，打开级联功能开关。
   
   4. 单击参数左侧的"![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001282396024.png "点击放大")"，展开并配置级联相关配置参数。
      表1被级联实例配置 
      | 参数 | 配置说明                                    |
      |:---|:---|
      | cascade_auth_key      | 级联认证的加密密钥，用于级联API之间的调用认证。被级联实例和级联实例的cascade_auth_key值必须配置一致。 |
      | cascade_instance_ids    | 级联实例的实例ID列表，仅允许的实例可级联到当前实例。多个实例ID之间使用英文逗号（,）隔开，最多支持配置5个实例ID。  |
         
      
    
2. 在级联实例配置级联功能。
   1. 登录级联实例所在的ROMA Connect控制台，在"实例"页面单击实例上的"查看控制台"，进入实例控制台。
   
   2. 在"实例信息"页面选择"配置参数"页签，并找到级联功能开关参数"cascade"。
   
   3. 单击参数右侧的"编辑"，把参数运行值设置为"on"，然后单击"保存"，打开级联功能开关。
   
   4. 单击参数左侧的"![](https://support.huaweicloud.com/usermanual-roma/zh-cn_image_0000001282236108.png "点击放大")"，展开并配置级联相关配置参数。
      表2级联实例配置 
      | 参数                    | 配置说明                                                           |
      |:---|:---|
      | cascade_auth_key      | 级联认证的加密密钥，用于级联API之间的调用认证。被级联实例和级联实例的cascade_auth_key值必须配置一致。 |
      | cascade_instance_ids | 级联实例的实例ID列表，级联实例中无需配置该参数。                                    |
         
      
    
3. 在级联实例创建到被级联实例的负载通道。
   1. 登录[ROMA Connect控制台](https://console.huaweicloud.com/roma3)，在左侧导航栏选择"资源管理"，在实例页面单击实例，进入实例控制台。
   
   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的过程请参考[通过APIC创建REST API](https://support.huaweicloud.com/usermanual-roma/roma_03_2105.html)，仅定义后端服务的配置有如下区别。
   表7API后端服务配置 
   | 参数         | 配置说明                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                               |
   |:---|:---|
   | 后端服务类型    | 选择后端服务的类型。使用被级联实例的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作为后端服务时，不启用后端认证。                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                            |
      
   
 
#### 相关文档
配置APIC的API级联完成后，通过[调试API](https://support.huaweicloud.com/usermanual-roma/roma_03_2106.html)，验证服务是否正常。
