apache / apache/dubbo

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

Open
#8,470 5 comments 3 reactions 0 assignees View on GitHub
help wanted type/proposal
Dominant language
Java
Stars
41.6k
Forks
26.4k
Avg merge
15h 13m
Merged PRs (30d)
4

Description

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

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

Contributor guide

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.