函数计算FC弹性实例的负载是个啥规则呢?如果我配置了2个实例,实例1绘图耗时30秒,实例2耗时10秒就完了。那第三个请求还是会打到实例1去等待吗?
每个函数请求都会随机分配到其中一个实例上执行。
也就是说,即使实例1执行效率较低,后续的请求也依然有一半的概率分配到实例1上。
这与函数计算FC的弹性扩容机制有关:
当函数调用量超过单个实例的处理能力时,会新增一个实例应对负载。
当函数调用量下降时,多余的实例会被回收。
每次函数调用都会随机选择一个正在运行的实例来执行。
实例间没有负载均衡或效率先后排序算法。
在函数计算(FC)中,弹性实例是一种用于处理高并发请求的功能。当你配置多个实例时,请求会根据负载均衡规则分配到不同的实例上。
具体的负载均衡规则可能因云服务提供商和配置而有所不同,以下是一些常见的负载均衡规则:
轮询:按照顺序将请求依次分配给每个实例。每个实例接收到的请求数量大致相等。
加权轮询:为不同的实例分配不同的权重,根据权重比例决定每个实例接收到的请求数量。较高权重的实例会接收更多的请求。
最少连接:根据当前实例的连接数选择负载最轻的实例来处理请求。这样可以确保实例的负载尽可能平均。
IP 哈希:使用请求的来源 IP 地址计算一个哈希值,并根据哈希值将请求分配给对应的实例。这样相同 IP 的请求会被分配给同一个实例。
对于你提到的情况,如果你配置了两个实例,实例1的绘图耗时为30秒,实例2的绘图耗时为10秒,那么新的请求会根据负载均衡规则进行分配。根据常见的轮询规则,第三个请求可能会被分配给实例1或实例2,具体取决于负载均衡算法和当前实例的负载情况。
按最快的走,只有有空闲的实例就会优先打空闲的。此回答整理自钉群“【答疑群】人人都是创作家,Serverless 部署 AIGC 场景”
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。