在 SOFA RPC 框架中,com.alipay.sofa.rpc.invoke.Invoker 接口是整个调用体系的核心,它定义了服务调用的基本方法 invoke(SofaRequest request)。以下是基于该接口的调用体系中各个类的详细使用方法和使用场景。
1. 初始化阶段(调用链构建)
ClientProxyInvoker作为客户端调用入口,通过FilterChain.buildConsumerChain()构建过滤器链- 过滤器链按顺序包装多个
FilterInvoker(如日志、超时、限流等),末端连接ConsumerInvoker - 每个
FilterInvoker持有下一个过滤器的引用,形成责任链模式
2. 调用阶段(核心流程)
- 代理层转发:业务客户端调用代理对象,由
JDKInvocationHandler将方法调用转为SofaRequest对象 - ClientProxyInvoker 预处理:
- 包装请求(如添加协议头、设置调用上下文)
- 触发调用开始事件(可用于监控、追踪)
- 过滤器链执行:
- 按顺序执行各
FilterInvoker(如日志过滤器记录请求参数,超时过滤器设置超时阈值) - 每个过滤器处理后调用下一个过滤器,最终到达
ConsumerInvoker
- 按顺序执行各
- ConsumerInvoker 核心操作:
- 设置目标服务的应用名(用于服务路由)

最低0.47元/天 解锁文章
499

被折叠的 条评论
为什么被折叠?



