apache / apache/dubbo-admin

Provider服务中配置为 dubbo.application.register-mode=instance方式,dubbo-admin0.6.0获取不到nacos上的服务和接口。

Open
#1,486 0 comments 0 reactions 0 assignees View on GitHub
Dominant language
Go
Stars
4.1k
Forks
2.2k
Avg merge
10d 12h
Merged PRs (30d)
4

Description

### Environment

- Deploy env: SpringBoot2.7.18、SpringCloud 2021.0.9、SpringCloud Alibaba 2021.0.5.0
- Dubbo application version: dubbo 3.2.19
- Registry: Nacos 2.2.3

### Issue description

dubbo的Provider中使用如下配置:
```yaml
dubbo:
application:
name: dubbo-provider
register-mode: instance
metadata-type: remote
qos-enable: true
qos-port: 35401
dump-directory: ./logs/dubbo-dump
metadata-report:
address: nacos://${app.domain}:8848
report-metadata: true
parameters:
namespace: dev
group: dubbo
username: nacos
password: nacos
registry:
address: nacos://${app.domain}:8848
username: nacos
password: nacos
timeout: 10000
parameters:
namespace: dev
group: dubbo
registry.register-instance-mode: instance
config-center:
check: false
address: N/A
scan:
base-packages: com.test.provider.api
protocol:
serialization: hessian2
name: dubbo
port: 35400
shutdown:
timeout: 60000
provider:
group: dubbo
delay: 3000
retries: 1
consumer:
serialization: hessian2
check: false
timeout: 3000
retries: 2
loadbalance: roundrobin

在 Nacos注册中心的 配置管理中,有dev名称空间的group为dubbo的服务(dubbo-provider)和接口信息,服务管理中,有dev名称空间的group为dubbo的服务信息 dubbo-provider。dubbo-admin0.6.0 的服务查询只能查到自己注册的Mock服务。
在 org.apache.dubbo.admin.service.RegistryServerSync 类中加日志打印
logger.info("=========================================");
logger.info("RegistryServerSync.notify() services=" + services);
结果也只打印了你们自己的 Mock服务。
### Logs

dubbo-admin0.6.0并未完全兼容 instance 注册模式

```
Copy logs to here.
```

INFO 35380 --- [pool-12-thread-1] o.a.d.admin.service.RegistryServerSync : [DUBBO] =========================================, dubbo version: 3.2.5, current host: 192.168.1.22
INFO 35380 --- [pool-12-thread-1] o.a.d.admin.service.RegistryServerSync : [DUBBO] RegistryServerSync.notify() services={org.apache.dubbo.mock.api.MockService={5E57B60F6E7FB64D=dubbo://192.168.1.22:30880/org.apache.dubbo.mock.api.MockService?application=dubbo-admin&category=providers&check=false&classifier=*&deprecated=false&dubbo=2.0.2&dynamic=true&enabled=*&generic=false&group=*&interface=org.apache.dubbo.mock.api.MockService&ipv6=240e:31d:1831:4000:6dae:9896:1634:c7ae&logger=slf4j&methods=mock&path=org.apache.dubbo.mock.api.MockService&prefer.serialization=fastjson2,hessian2&protocol=dubbo&release=3.2.5&revision=3.0.0&service-name-mapping=true&side=provider×tamp=1780751156989&version=*}}, dubbo version: 3.2.5, current host: 192.168.1.22

Contributor guide

Open the contributing guide

Research direction

Start with org.apache.dubbo.admin.service.RegistryServerSync, especially notify(), and review how the reported Nacos services are collected. Reproduce the configuration with register-mode: instance and inspect the resulting service data and admin query behavior. Done means the instance-registered dubbo-provider service and its interfaces appear in dubbo-admin rather than only the MockService.

Written by the indexing model from the issue text.

Assessment

Tech stack
java, spring-boot
Domain
api, backend
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Quiet
Clarity
Mostly clear
Newbie friendliness
45/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.