在调用API时会消耗一定的资源组,为了防止资源组不能正常访问数据源,或资源(CPU、内存)不足导致API调用异常、高频调用请求被限流等问题,您需要确保资源组的网络连通性和充足的性能。本文为您介绍资源组规划时的注意项及不同资源组类型的使用建议。
基本概念
资源组是指数据服务的API调用请求运行所占的计算资源。通常资源组以机器的形式展现,即CPU、内存和带宽的大小。API调用流程为:用户发起API调用请求,调用请求会先被API网关接收,再被转发至数据服务的服务器,最后被转发至目标数据源中执行数据查询。
资源组分类
资源组可分为公共资源组和独享资源组两类。
独享资源组(推荐使用):
购买后可独占使用的资源组。在需要保障高并发和高频率的API调用时,您可以使用Serverless资源组(推荐)或独享数据服务资源组。
公共资源组(仅用于测试):
DataWorks提供的、所有用户可共享使用的资源组,公共资源组使用高峰期可能会出现不同用户间抢占资源的情况。更多公共资源组的介绍可参见使用公共资源组。
资源规划关键:连通性和性能
您在使用资源组时,需要关注资源组的连通性和性能两方面:
连通性:
发起API调用请求时,请求会下发至数据服务的服务器,并被进一步转发至数据源中执行数据查询,因此需要保证资源组可以访问相应的数据源及其所在的网络。您需要在保证网络连通的前提下,再使用数据服务;如果网络不通,会导致API调用请求无法执行。
性能:
执行API调用任务时,会占用资源组所在机器的CPU、内存和网络等资源。如果资源不足,会导致API调用异常、高频调用请求被限流,以及无法及时返回查询结果等问题。您需要给予API调用任务充足的资源,以保障API调用请求的顺利执行。建议您使用独享资源组,将发起的API调用任务运行在独立的环境中,无需受到公共资源池的影响。独享资源组的性能指标可参见独享数据服务资源组计费说明:包年包月。
资源组对比和建议
两种类型的资源组适用于不同的场景,以下通过在资源组归属、网络连通、收费方式、实际性能等维度为您对比展示各资源组的现状。您创建API时,可以根据自身需求选择合适的资源组。
类别 | 独享资源组 | 公共资源组 |
机器资源归属 | 由DataWorks维护,是每个租户自身独占使用的计算资源。 | 由DataWorks维护,是所有租户竞争使用的共享资源。 |
网络 | 支持公网、阿里云VPC网络(实例模式&连接串模式)、IDC网络下的数据源。 | 支持公网、阿里云VPC(实例模式)、阿里云经典网络下的数据源。 说明 深圳金融云暂不支持使用公共资源组访问经典网络下的数据源。 |
收费方式 | 根据资源组的规格,包年包月计费。 | 根据调用次数和调用时长用量,以阶梯价的形式按量收费。 |
支持的数据源 | ClickHouse、Hologres、RDS、MySQL、PostgreSQL、SQL Server、Oracle、Table Store、AnalyticDB for MySQL 2.0、AnalyticDB for MySQL 3.0、AnalyticDB for PostgreSQL、MongoDB、DRDS、StarRocks、Doris(持续丰富中) | Hologres、RDS、MySQL、PostgreSQL、SQL Server、Oracle、Table Store、AnalyticDB for MySQL 2.0、AnalyticDB for MySQL 3.0、AnalyticDB for PostgreSQL、MongoDB、DRDS |
最大每秒请求数(QPS)① | 不同规格独享资源组的QPS阈值不同:
可根据实际需求灵活选择不同规格资源组来保障不同QPS量级。 说明 一个独享资源组可以绑定至多个工作空间、多个API。 当API调用量超过各规格资源组的QPS阈值后,将触发系统限流,API调用失败。 | 每个租户账号、每个地域最高支持200 QPS ,如需提高QPS阈值,请切换为独享资源组。 当API调用量超过200 QPS时,将触发系统限流,API调用失败。 |
超时时长限制 | 30s | 10s |
可靠性 | 高 | 低 |
安全性 | 高 | 高 |
适用场景 | 高并发、高频率的在线调用,复杂的查询语句,海量数据返回。 | 低并发、低频率的调用场景 |
推荐指数 | ★★★★★ | ★★★ |
api.s1.small、api.s1.medium、api.s1.large规格资源组不再支持新购,已保有的此规格资源组仅支持进行升配、降配、释放操作。
注释①:独享资源组的QPS阈值是基于实际业务场景进行测算得出,您可以参考以下信息估算QPS阈值。
是否以脚本模式生成API。
API是否开启返回结果分页功能。
API内配置的SQL在数据源平均执行时长为100毫秒。
API单次调用返回数据的平均大小为3000字节。
因此,如果您的实际业务场景与上述数据有较大出入,请加入DataWorks钉钉群咨询技术支持,我们会根据您的实际业务场景推荐合适的资源组规格。
根据上表两种类型的对比,推荐您使用独享资源组来进行API调用。
资源组配置引导
使用Serverless资源组时,需要确保资源组与所选数据源之间网络连通正常,详情请参见:网络连通。
使用独享服务资源组时,需要根据数据源所在的网络环境,选择网络连通方案,并配置白名单,请参见:获取白名单IP地址:独享数据服务资源组。
使用公共资源组时,需要在数据源中添加对应地域的白名单,白名单的配置,请参见获取白名单IP地址:公共资源组。
为Serverless资源组配置数据服务配额
如果您的数据服务使用Serverless资源组,则在配置服务资源组选择独享服务资源组前,需要为Serverless资源组配置数据服务配额。
如果没有为Serverless资源组配置数据服务配额,则在选择独享服务资源组时,无法选中目标资源组。
进入资源组列表页面。
登录DataWorks控制台,切换至目标地域后,单击左侧导航栏的资源组,进入资源组列表页面。
单击Serverless资源组操作列,选择配额管理,对数据服务分配当前占用CU(按量付费资源组选择)或CU保障(包年包月资源组选择)。
按量付费资源组
包年包月资源组
完成当前占用CU分配后,单击确认进行保存。
进入数据服务页面,重新配置独享服务资源组。