开发者社区> 问答> 正文

关于dubbo一个接口多个实现的问题?报错

比如有接口TestService,在A项目中有实现TestServiceImpl1,在B项目中有TestServiceImpl2

现在A和B项目分别作为provider启动,注册中心用的是同一个zookeeper,并且注册端口是同一个,

这时先启动A正常,启动B时就有异常了,报错如下:

Caused by: org.jboss.netty.channel.ChannelException: Failed to bind to: /0.0.0.0:20889

展开
收起
爱吃鱼的程序员 2020-06-08 21:37:15 1425 0
1 条回答
写回答
取消 提交回答
  • https://developer.aliyun.com/profile/5yerqm5bn5yqg?spm=a2c6h.12873639.0.0.6eae304abcjaIB

    1.不同的项目应该用不同的端口,或者不指定端口,系统自动分配,本身这个端口对客户端是没啥用的

    2.同一个接口由不同的实现,provider在配置的时候可以通过version来区分,比如开发环境下,通过version可以定位到你开发机的provider,便于调试

    不同的项目端口号用不一样的

    不同的实现用版本号区分

    同一个接口的不同实现在dubbo中用group来进行区分的。这个是你使用同一个端口导致的

    1.先看看监控上是否存在两个服务,没有监控看zk,如果有就忽略这个问题

    2.建议  同一个接口由不同的实现,provider在配置的时候可以通过version来区分

    要通过group来进行区分的。
    2020-06-08 21:37:33
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Dubbo开源现状与2.7规划 立即下载
Dubbo分布式服务治理实战 立即下载
《Dubbo 3.0 前瞻》 立即下载