想象你经营着一座横跨全国的“智能外卖城”:几十家“AI推理厨房”同时开工,有的做大语言模型,有的做图像识别,有的做语音转写。客人(用户请求)从四面八方涌来,你希望把订单均衡地分给各个厨房;新菜单要让5%的客人先试吃;某家厨房临时着火时,订单能自动转给其他店;你还要随时知道每单的送达耗时。没有统一调度时,每家厨房各自接电话、各自找车,一乱全乱。 服务网格(Service Mesh)就是这座城市级的“智能物流调度系统”。它把配送、分流、监控从每家厨房的业务逻辑里抽离出来,交给统一的“网格”去完成。而实现这一目标的关键部署模式——sidecar(旁车代理),则像每个厨房门口的小驿站:所有进出的订单都在这里登记、引导、记录。把这两者应用到AI推理服务上,就引出了我们的主角——服务网格与推理服务集成。

岗位关联

作为AI云服务设计工程师,理解服务网格与推理服务集成,能让你在大模型流量治理、故障兜底、性能优化和多云交付中做出关键架构决策,这是AI基础设施方向的核心竞争力。

目录
  1. 可视化演示
  2. 服务网格基础
  3. Sidecar部署
  4. 流量管控
  5. 可观测性
  6. 性能开销
  7. 生产配置
  8. 多云迁移
  9. AI 应用场景
  10. Python 演示
  11. 常见误区
  12. 面试题

可视化演示

服务网格将微服务治理延伸到AI推理链路,提供流量管控与可观测性。拖动滑块调整流量,观察sidecar部署、流量切分与性能开销。

本节配有交互动效(进入视口后自动加载,约 3KB)。

网格集成核心 Sidecar 流量管控 治理→切分→观测

服务网格基础

想象你经营着全国连锁的“AI智能厨房”品牌。最初每家分店自己处理订单:美团、饿了么、电话各管各的。订单多了以后,分店之间还要互相借食材,通信混乱;一旦某家爆单,其他店都不知道该不该帮忙。于是你建了一套中央调度系统:所有订单统一接入,自动分配,哪家空闲派哪家,哪家爆单自动分流,所有配送轨迹统一可查。这套系统,就是服务网格。

在AI云服务中,推理服务就是“分店”,负责模型计算;服务网格则是分店之间统一通信的基础设施层。它把流量管理、安全策略、可观测性从业务代码中抽离出来,使模型推理逻辑保持纯净。“网格”二字,来源于每个服务实例旁挂一个小代理,代理与代理彼此连接成一张网,共同承担服务通信;而集中式的控制平面负责下发规则、汇聚状态数据。

工程实现上,Istio是目前应用最广的开源服务网格方案。它采用控制平面(Istiod)+ 数据平面(Envoy sidecar)的两层架构。Istiod类似“调度中心”,动态监听Kubernetes中服务的变化,为每个代理下发路由规则和TLS证书;Envoy是一个高性能C++代理,以sidecar容器方式注入每个推理服务Pod,实际执行请求转发、负载均衡和熔断。在AI推理场景,服务网格的价值在于:让研发团队无需修改推理代码,即可获得一套完整的微服务治理能力,特别适合多模型快速迭代的平台型业务。

中央调度系统让“智能厨房”从无序变为有序;服务网格让AI推理服务从“点对点直连”升级为“统一治理”。接下来,我们看看这个体系的关键部件——每个服务旁的那个小驿站。

Sidecar部署

在中央调度系统落地时,你发现每个分店都需要一个“驿站员”——站在店门口,处理进出订单:揽件、分拣、贴标签。这就是sidecar模式。在Kubernetes世界里,Envoy以sidecar容器的形式“住”在推理服务Pod里,与模型推理容器同生共死。

Sidecar部署的核心是“跟随式代理”。每个推理服务实例旁多出一个Envoy容器,两者共享网络命名空间,所以Envoy可以透明接管所有进出流量。流量拦截通过初始化容器注入iptables规则实现:把发往Pod IP的TCP包重定向到Envoy的监听端口。推理服务无感知,代码无需改动。

启动顺序上,Kubernetes会先执行istio-init初始化容器配置iptables,再启动Envoy容器,Envoy连上控制面后才启动推理容器。原因很简单:保证流量到达时有代理“接客”。资源上,每个Envoy容器需要预留约64-128MB内存和0.1-0.5核CPU,在配置Deployment时需为sidecar单独设置requests和limits。推理服务通常占数GB显存,sidecar的开销相对可控,但如果一个节点上密集调度大量Pod,仍需核算总内存。

就像驿站员让分店可以安心做菜——客人来了驿站员会先招呼、排队、记录,厨房只管接单出餐。推理服务的“厨房”心无旁骛做矩阵计算,而“驿站员”负责接客、引路、记账。

Client→iptables劫持Envoy→upstream转发Inference EngineClient \xrightarrow{iptables劫持} Envoy \xrightarrow{upstream转发} Inference\ Engine
这个公式展示一个请求从客户端到达推理引擎前,如何先被内核iptables规则“拐”到Envoy,再由Envoy转发给推理引擎。
  1. iptables劫持客户端请求抵达Pod网络时,内核的netfilter规则将流量重定向到Envoy的透明监听端口,实现无感知代理。
    Client→iptables劫持EnvoyClient \xrightarrow{iptables劫持} Envoy
  2. upstream转发Envoy根据路由规则,将请求转发给同Pod内推理引擎的监听端口,同时完成负载均衡与指标采集。
    Envoy→upstream转发Inference EngineEnvoy \xrightarrow{upstream转发} Inference\ Engine

流量管控

物流系统的灵魂是“把货派给最合适的仓库”。你有两个仓库:老仓库(v1)稳定可靠,新仓库(v2)用上了最新技术但还没经过大促考验。正确的做法是,先让新仓库承担5%的订单,观察破损率、超时率,表现好就逐步加量,表现差立即调回老仓库。

服务网格的流量管控能力,正是这套“物流调度策略”的自动化。在Istio中,VirtualService定义路由规则,DestinationRule定义服务子集(如v1、v2)和负载均衡策略。通过调整路由权重,可以实现金丝雀发布;通过连续错误统计,可以实现熔断;通过速率限制,可以防止突增流量打垮推理引擎。

流量切分的配置示例:

每100个推理请求中,约95个进入v1,5个进入v2。Envoy按权重随机选择目标,并持续采集成功率、延迟。若v2的5xx错误率超过阈值(如50%),Envoy可配合熔断器自动将后续请求切回v1,避免故障扩散。对突发的流量尖峰,Envoy还支持令牌桶限流,保护推理引擎不过载。

就像物流总控台可以实时拖动“新旧仓库接单比例”的滑杆,服务网格把金丝雀发布从“手动改配置重启”升级为“运行中动态调流量”。老仓库的运送记录、新仓库的损坏率都在同一块大屏上,风险尽在掌握。

P(v2)=w,P(v1)=1−wP(v_2) = w, \quad P(v_1) = 1 - w
公式表示金丝雀发布中请求落在新版本v2的概率为权重w,落在稳定版v1的概率为1-w,两者之和恒为1。
  1. 新版本概率P(v2)表示请求被路由到新版本的概率,等于权重w。w=0.05时,即5%流量进入v2。
    P(v2)=wP(v_2) = w
  2. 稳定版概率P(v1)表示剩余请求进入稳定版本的概率,为1-w,确保v1与v2的权重之和恒等于1。
    P(v1)=1−wP(v_1) = 1 - w
yaml6 行
http:- route:  - destination: { host: inference-svc, subset: v1 }    weight: 95  - destination: { host: inference-svc, subset: v2 }    weight: 5

可观测性

客人点了一单外卖,想知道“我的餐到哪了”。物流系统通过每一站的扫码,让包裹轨迹尽收眼底。服务网格也一样——所有请求都经过Envoy,它可以为每一次推理请求生成一张“运单”,记录它从网关到代理再到模型引擎的每一步。

服务网格的可观测性由三根支柱组成:指标(Metrics)、链路追踪(Tracing)和日志(Logging)。每一跳Envoy都会自动记录延迟、流量大小、状态码等指标,并向上游服务注入trace上下文,让一条完整调用链可以跨服务串联。

指标层面,Envoy导出的Prometheus指标可直接用于告警:请求量QPS、p50/p99延迟、5xx比例。追踪层面,Istio通过Envoy自动注入W3C Trace Context,配合Jaeger或Zipkin,可以展示从API网关→Envoy→推理引擎→向量数据库的全链路耗时分解。日志层面,Envoy访问日志记录每次请求的路由目标和响应码,推理日志记录模型版本、输入长度、token数量。对于推理服务质量,还可以自定义业务级指标,如空回复率、重复率、审核拦截率,并与流量权重联动,使金丝雀发布不再是“盲放”。

有了“全程运单”,当用户报告“搜索变慢了”,工程师可以迅速定位:是网关排队、Envoy转发慢,还是模型推理算子变长?不再需要逐台服务器登录排查。可观测性让AI服务的每一个毛细血管都清晰可见。

性能开销

驿站虽便利,但每件包裹在驿站多一分停留,就多一分时效损耗。服务网格同理——sidecar为推理链路引入了额外的网络路径和资源消耗。

Envoy作为用户态代理,在接收和转发每个请求时都要进行协议解析、路由匹配、连接池管理。相比服务间直连,每增加一个Envoy代理,通常增加1-3毫秒延迟和几十MB内存占用。在推理耗时动辄数百毫秒到数秒的AI场景,这笔开销占比通常不高,但必须量化。

一个典型评估方式是基准测试:分别测量直连模式与接入sidecar模式下,同一推理服务的QPS、p50/p99延迟。以GPT类大模型推理为例,单次生成可能耗时800ms,sidecar增加的2ms仅占0.25%;但如果是毫秒级的排序/检索推理,2ms可能就是成倍的延迟增长。优化手段包括:为关键轻量服务关闭sidecar注入、用HTTP/2多路复用降低连接数、调整Envoy线程模型和缓冲区大小、利用eBPF加速数据面。同时,要结合Pod资源限额,避免sidecar与推理容器争抢CPU。

如果把推理时延比作“备餐时间”,驿站新增的“盖章时间”虽然存在,但相对备餐时间常常微不足道。决策的关键在于,永远要用基准测试回答“多花了多少钱”,而不是拍脑袋觉得“多一点没关系”。

Ttotal=Tnet+Tenvoy+Tinfer+TegressT_{total} = T_{net} + T_{envoy} + T_{infer} + T_{egress}
总延迟由网络传输、Envoy代理处理、模型推理、响应传输四段组成,只有量化分解才能定位瓶颈。
  1. 网络传输请求从客户端到Pod的网络往返时间,受物理距离和带宽影响。
    TnetT_{net}
  2. 代理处理Envoy处理请求的时间,包括协议解析、路由匹配、连接池获取。
    TenvoyT_{envoy}
  3. 模型推理推理引擎执行模型前向计算的时间,通常是最大的组成部分。
    TinferT_{infer}
  4. 响应传输响应数据返回客户端所需的时间。
    TegressT_{egress}

生产配置

一个成熟的物流公司,除了送得快,更要送得稳、送得安全。快递员上岗要培训、车辆要保险、危险品要检查。AI服务接入网格后,同样有一系列“运营规则”需要落地。

生产环境使用服务网格,核心议题是安全性、隔离性和可用性。这包括命名空间规划、mTLS双向认证、细粒度授权策略、资源配额和优雅退出。这些配置共同决定网格在生产中的可靠性。

推荐实践包括:在Kubernetes中为不同环境建立独立命名空间(dev/staging/prod),并通过Sidecar资源限制服务访问范围,减少爆炸半径。安全上,启用网格级mTLS,让服务间通信全部加密,再通过AuthorizationPolicy对推理服务设置访问白名单,确保只有API网关可以调用模型服务。资源上,为每个Envoy容器设置requests(如100m/128Mi)和limits(如1C/512Mi),防止代理异常导致节点过载。可用性上,配置PodDisruptionBudget保证最小可用副本数,利用preStop钩子和terminationGracePeriodSeconds,让在途请求在Pod销毁前完成或优雅拒绝。

这些配置就像物流公司的《安全运营手册》——每条线路有资质、每辆车有保险、每个站点有应急预案。服务网格的生产配置,是把“能跑”升级为“稳跑”的必由之路。

多云迁移

你的智能厨房连锁要进入新城市,却发现每个城市的物流标准不同:有的城市要求特定包装,有的城市有不同交通管制。多云部署同理——AWS、GCP、Azure虽然都支持Kubernetes,但底层网络和服务细节各有差异。

Istio的抽象让一套配置可以“声称”多云通用,但实际落地中,不同云厂商的托管Kubernetes在CNI网络插件、LoadBalancer类型、安全组规则、VPC对等连接方面存在差异,可能影响Envoy劫持、入口网关和跨集群通信。迁移到新云环境时不能简单Ctrl+C/Ctrl+V。

关键评估点:一是入口网关,确认云厂商负载均衡器与Istio Gateway类型的兼容性;二是网络策略,确认安全组是否放行Envoy所需端口和协议;三是DNS,Istio的DNS代理可能与云厂商内部DNS冲突;四是托管控制面的升级周期,避免自装Istio与云托管版本漂移。建议通过“影子迁移”验证:在新云上同时部署相同推理服务,用流量镜像对比两端延迟、错误率、成本。跨云流量通常比同区域流量贵数倍,因此架构上应尽量让调用方与推理服务处于同一区域。

跨城市扩张的连锁店,不会在每个城市重建一套物流标准,而是复制中央调度规则再适配本地交通法规。多云迁移的目标是:一套Istio配置基线,适配少量环境差异,让推理服务拥有“一次部署、多云运行”的体验。

AI 应用场景

大模型金丝雀发布

阶段:模型部署与发布

解决的问题:大模型全量升级风险高。传统做法是选低峰期直接替换模型服务,问题难以及时回滚。通过服务网格流量切分,新模型先承载5%流量,收集真实用户的推理质量和延迟反馈后再逐步放量,失败时一键切回。

具体案例:某智能客服平台将对话模型从GPT-3.5升级到GPT-4,在Istio中配置v1:v2权重为95:5。5%阶段监控显示“拒答率”从0.3%升至2.1%,团队立即将权重调回100:0,定位提示词问题后重新发布,全量用户全程无感。

推理故障熔断兜底

阶段:推理服务运维

解决的问题:GPU节点上的推理实例可能因显存泄漏或模型bug而持续报错。服务网格的熔断机制在连续错误达到阈值后自动“隔离”该实例,响应速度快于健康检查的慢速摘除,避免故障扩散。

具体案例:某文生图服务在高峰时,一台实例显存耗尽反复崩溃。Envoy统计到连续5个5xx后打开断路器,后续请求全部路由到两个健康实例并触发告警,故障实例5分钟内被隔离下线,平台成功率保持99.9%。

多云统一治理

阶段:多云架构设计

解决的问题:企业跨AWS和GCP部署同一套推理服务,希望统一流量策略、监控和故障切换。使用Istio多集群模式,让两个集群接入同一控制面,实现全球流量管理。

具体案例:某跨国SaaS公司在AWS us-east-1和GCP asia-southeast1部署同一套QA问答模型,通过Istio多集群配置纳入同一网格。当AWS区域网络抖动时,Global负载均衡自动将新请求切到GCP区域,保障对东南亚客户的服务连续性。

Python 演示

python80 行
import random  class InferenceService(object):    """模拟一个推理服务单元,带版本号和失败率"""     def __init__(self, version, failure_rate=0.0):        self.version = version        self.failure_rate = failure_rate        self.request_count = 0        self.error_count = 0     def predict(self, text):        self.request_count += 1        if random.random() < self.failure_rate:            self.error_count += 1            raise RuntimeError("{} inference failed".format(self.version))        return "[v{}] ok: {}".format(self.version, text)  class SidecarProxy(object):    """模拟 Envoy sidecar 的金丝雀流量切分与熔断兜底"""     def __init__(self, stable, candidate, new_weight=0.1,                 break_threshold=5):        self.stable = stable        self.candidate = candidate        self.new_weight = new_weight        self.threshold = break_threshold        self.failures = 0        self.circuit_open = False     def route(self):        if self.circuit_open:            return self.stable        if random.random() < self.new_weight:            return self.candidate        return self.stable     def dispatch(self, text):        target = self.route()        try:            return target.predict(text)        except RuntimeError:            if target is self.candidate:                self.failures += 1                if self.failures >= self.threshold:                    self.circuit_open = True                    print("[sidecar] circuit open: all traffic to stable.")                return self.stable.predict(text)            raise  def main():    stable = InferenceService("stable", failure_rate=0.02)    candidate = InferenceService("candidate", failure_rate=0.30)    proxy = SidecarProxy(stable, candidate, new_weight=0.2,                         break_threshold=4)     stats = {"stable": 0, "candidate": 0, "failed": 0}    for i in range(200):        try:            result = proxy.dispatch("query-{}".format(i))        except RuntimeError:            stats["failed"] += 1            continue        if result.startswith("[vstable]"):            stats["stable"] += 1        else:            stats["candidate"] += 1     print("stable requests:", stats["stable"])    print("candidate requests:", stats["candidate"])    print("failed requests:", stats["failed"])    print("circuit_open:", proxy.circuit_open)    print("candidate failures:", proxy.failures)  if __name__ == "__main__":    main()
目的:模拟服务网格中Envoy sidecar对推理请求的金丝雀流量切分和熔断兜底行为。
  1. class InferenceService(object)定义推理服务单元,每个实例有版本号和失败率,模拟线上模型服务的“正常”与“抽风”。
  2. def predict(self, text):模拟单次推理调用,按失败率抛错,让后续的熔断逻辑有真实的触发源。
  3. class SidecarProxy(object)核心类,模拟Envoy sidecar的流量路由行为。
  4. def route(self):决定请求去v1还是v2:断路器打开时全部走稳定版,否则按new_weight金丝雀权重随机路由。
  5. def dispatch(self, text):对外入口:转发请求、捕获候选版本失败、累计熔断计数并在达标时打开断路器。
  6. if target is self.candidate:只有新版本失败才会计入熔断阈值,稳定版本失败直接上抛,避免故障雪崩。
  7. proxy = SidecarProxy(...)配置新版本权重20%、熔断阈值4次,构建一个贴近生产的模拟环境。

常见误区

误区给推理服务接入服务网格后,白话说就是加一个代理,不用改代码,所以性能上没有影响,随便接入。

正解服务网格虽然不需要改业务代码,但会在每个请求路径上多一跳代理(Envoy),每跳会引入1-3毫秒的延迟和约60-100MB内存占用。对毫秒级轻量推理,这可能是5%以上的开销;对数百毫秒的大模型推理,比例虽小但依然存在。生产环境必须做基准测试评估。

为何常见:“不用改代码”容易给人“零成本”的错觉,忽略了基础设施本身的资源消耗。

误区Sidecar就是跑在推理服务旁边的另一个容器,把两个容器都启动起来就完事了,顺序无所谓。

正解Pod启动顺序非常重要。Envoy必须先就绪并连接控制平面,推理服务才能开始接收流量;如果推理服务先启动,流量会没人拦截转发。Istio通过initContainer和postStart hook保证顺序,生产环境还需就绪探针配合。

为何常见:初学者只看到Pod中多个容器共存,忽略了容器共享网络命名空间以及初始化容器的执行顺序。

误区金丝雀发布就是配置权重让v2收到10%流量,权重配好后就不用管了,非常简单。

正解金丝雀发布是闭环流程:先切小比例流量(如5%-10%),实时监控新版本的推理质量(准确率、延迟、错误率),达标后逐步提高权重直到100%;不达标则回滚。只切流量而不监控,金丝雀就退化成随机故障注入。

为何常见:把“配置权重”这个动作误认为整个发布流程,忽视了可观测性反馈闭环这一关键环节。

误区既然服务网格都能管好流量,推理服务本身就不需要做限流、熔断了,网格全包。

正解服务网格的限流熔断针对网络层和服务间调用的通用策略(如5xx错误、连接池耗尽),而推理服务本身还需要业务级保护(并发数限制、队列长度、GPU显存超卖控制)。两者需要配合:网格兜住通信层,推理框架处理计算层。

为何常见:对服务网格的能力边界理解不足,以为网格“包治百病”。

误区多云部署时,用同一套Istio配置就能无缝运行,不需要额外适配,云厂商都兼容Kubernetes。

正解云厂商托管Kubernetes在CNI、LoadBalancer、安全组、DNS等方面存在差异,可能影响Envoy劫持、入口网关和跨云连通性。统一配置基线是目标,但落地时需做环境适配和生产验证,迁移前建议做“影子迁移”。

为何常见:Istio的抽象能力让“一份配置多处运行”看起来可行,容易忽略底层网络差异。

面试题

Q1. 服务网格的两层架构通常指什么?

单选题 · easy

  • A.控制平面与数据平面← 正确答案
  • B.推理引擎与存储引擎
  • C.API网关与负载均衡
  • D.容器编排与资源调度

答案:A。服务网格分控制平面(负责策略下发和状态管理)和数据平面(负责实际流量转发)。Istio的Istiod对应控制面,Envoy sidecar是数据面。其他选项描述的组件虽然与AI云服务相关,但不是服务网格的两层架构。

Q2. Envoy sidecar如何做到“无需修改推理代码就能拦截流量”?

单选题 · mid

  • A.通过共享存储卷挂载
  • B.通过iptables流量劫持← 正确答案
  • C.通过修改应用源码编译
  • D.通过重写推理引擎

答案:B。istio-init容器在Pod启动时注入iptables规则,将进出Pod的TCP流量重定向到Envoy的透传端口,进程级劫持让应用无感知。A共享卷只是数据共享而非流量拦截,C/D与无侵入的初衷矛盾。

Q3. 金丝雀发布中,希望新旧版本流量比例为95:5,应配置什么?

单选题 · mid

  • A.两个服务副本数设为5和95
  • B.配置Envoy的route weight为5← 正确答案
  • C.修改DNS解析优先顺序
  • D.限制推理服务的并发数为5

答案:B。Istio通过VirtualService中route的weight字段控制权重,weight=5代表新版本承担5%流量。A副本数与流量比例无直接映射;C/D与流量分配无关。

Q4. 以下哪项最能说明服务网格熔断在推理服务中的价值?

单选题 · mid

  • A.减少推理算量提升速度
  • B.新版本异常时快速兜底← 正确答案
  • C.提升缓存命中率加速IO
  • D.优化显存分配减少浪费

答案:B。熔断让Envoy在新版本连续失败达到阈值时“打开断路器”,自动把请求切到稳定版本,避免故障扩散。与A/C/D描述的计算优化无关,它是故障隔离层面的价值。

Q5. 服务网格为推理链路提供可观测性,通常包含哪些维度?

多选题 · mid

  • A.指标监控延迟吞吐错误率← 正确答案
  • B.链路追踪调用链分析← 正确答案
  • C.日志聚合与全文检索← 正确答案
  • D.代码覆盖率统计报告

答案:ABC。服务网格可观测性三支柱是指标(Metrics)、追踪(Tracing)、日志(Logging),Envoy天然收集这些数据。代码覆盖率属于应用测试范畴,不是服务网格的可观测性范围。

Q6. Sidecar部署中,Envoy代理为何要先于推理容器就绪?

单选题 · easy

  • A.为了先占用更多CPU资源
  • B.确保流量劫持和转发就绪← 正确答案
  • C.为了让模型更早完成加载
  • D.为了降低请求的网络延迟

答案:B。Envoy需要先启动并连接控制面,就绪后再启动推理容器,保证流量进入时有人接管。A/C/D都不是“顺序”的合理理由,顺序本身为了流量治理的连续性。

Q7. 针对大模型推理服务接入服务网格后的性能开销,合理的评估与优化方案有哪些?

多选题 · hard

  • A.基准测试对比有无sidecar的延迟← 正确答案
  • B.对非关键服务关闭sidecar注入← 正确答案
  • C.用HTTP2多路复用减少连接开销← 正确答案
  • D.对失败请求增加无限次重试

答案:ABC。基准测试量化开销;按需注入sidecar减少无谓代理;HTTP/2复用降低握手开销。D增加无限重试会放大故障,不属于性能优化,反而可能引发雪崩。

Q8. 以下哪项是生产环境接入服务网格时必做的安全配置?

单选题 · mid

  • A.关闭mTLS降低延迟
  • B.开启mTLS并配授权策略← 正确答案
  • C.使用明文HTTP加快速度
  • D.删除安全传输配置

答案:B。生产环境应开启双向TLS加密服务间通信,并通过AuthorizationPolicy做细粒度访问控制。A/C/D都会削弱安全,尤其在多租户或跨节点推理场景中不可接受。

Q9. 跨多云部署推理服务时,最容易被低估的隐性成本是什么?

单选题 · mid

  • A.代码仓库的权限差异管理
  • B.跨区域的数据传输费和延迟← 正确答案
  • C.Envoy代理的版本差异问题
  • D.模型文件的体积大小限制

答案:B。跨云/跨区域调用会产生昂贵的数据传输费并增加延迟,应尽量让流量本地化。A/C虽需关注但非“隐性成本”;D与多云迁移无直接关系。

Q10. 下列关于服务网格与推理服务集成的说法,正确的有?

多选题 · hard

  • A.接入Sidecar无需改推理代码← 正确答案
  • B.新旧版本权重之和必须为1← 正确答案
  • C.Envoy内存占用固定不变
  • D.熔断后请求走兜底或失败← 正确答案

答案:ABD。A正确,iptables劫持实现无侵入接入;B正确,路由权重必须归一化;C错误,Envoy内存随连接数和流量动态变化;D正确,断路器打开后请求会快速失败或走fallback。因此A/B/D正确。