升级到triple协议,使用tri调用dubbo://xxx?preferred.protocol=tri时的场景下,优雅下线会出现流量损失
- Dominant language
- CSS
- Stars
- 491
- Forks
- 809
- Avg merge
- 1d 6h
- Merged PRs (30d)
- 6
Description
参考文档:官网提供的升级tri协议手册
https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/reference-manual/upgrades-and-compatibility/migration-triple/
问题描述
我发现在接口级别(而非实例级别)的注册下,使用单端口同时注册tri和dubbo协议时,此时注册中心(ZK或Nacos)上的元数据只有1条,格式为`dubbo://xxx?preferred.protocol=tri&ext.protocol=tri`,消费者使用@DubboReference不指定协议时,会使用tri进行调用,tri和dubbo共用1条channel,此时如果提供者下线时,有流量进入,会出现调用超时的流量损失;我确认DubboProtocol优雅下线中的只读事件R是发送了的,但是消费者没有收到;
麻烦确认下这是不是BUG,Dubbo版本3.3.0;
我现在的解决方案就是消费者强制指定dubbo协议调用,或者将2个协议使用不同的端口;
Contributor guide
No contributing guide indexed for this repository
Research direction
Start with the linked migration-triple documentation and the Dubbo 3.3.0 graceful-shutdown behavior described in the issue. Reproduce the single-port, interface-level registration with tri and dubbo through ZK or Nacos, then observe whether the consumer receives the read-only event during provider shutdown. Done means the timeout and traffic loss are explained and the issue is confirmed or ruled out with a documented reproduction.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- java
- Domain
- backend, distributed-systems, networking
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 30/100