apache/dubbo

提供可控的 `Invoker` 链组装过程。

Open

#8.470 geöffnet am 11. Aug. 2021

Auf GitHub ansehen
 (5 Kommentare) (3 Reaktionen) (0 zugewiesene Personen)Java (26.453 Forks)batch import
help wantedtype/proposal

Repository-Metriken

Stars
 (41.524 Stars)
PR-Merge-Metriken
 (Durchschn. Merge 7T 14h) (20 gemergte PRs in 30 T)

Beschreibung

当前 provider/consumer 的 Invoker 链组装完全由 Protocol 控制,使用者除了通过SPI基础插入新的或替换现有的节点。 但,没有一个整体的方式对整个 Invoker 链进行控制。 比如,如果我引入了sentinel的dubbo支持包,由于里面的 Filter 存在 @Activate,总是会自动激活,如果需要排除需要通过用户自己配置 dubbo.consumer/provider.filter,这一部分如果在团队中想做成公共的逻辑则会非常艰难(因为 filter 总是覆盖而非追加)。 如果可以提供一个机制用以给用户来修改 Invoker 链,例如:

InvokerUtils.modifyInvokerChain(reference, (InvokerChain invokerChain) -> {
    // 这里可以特定修改 Invoker 链。
});

Contributor Guide