因为dubboTwo项目没有com.debug.mooc.dubbo.one.model.entity.ItemInfo这个类,我这边是这么解决的,在pom文件中引的是model,而不是api,这样就没警告信息了。
<dependency> <groupId>top.freespace.dubbo.one</groupId> <artifactId>model</artifactId> <version>1.0-SNAPSHOT</version> </dependency>
可行,我也是这里出的错。你在哪里查到的原文,发来研究一下
直接忽略就好了 如果还有错误 clean install一下即可
有红线 也有可能是idea抽风引起的
已解决。Application启动类没有引入spring-dubbo.xml配置。
一个道理的呀!
1、dubbo发布的服务到哪里去了?到注册中心去了呗,注册中心是啥,在这里就是zk啊
2、dubbo发布服务、发布服务、发布服务,到底发布了啥?当然是将它所在的接口、host、端口、完整路径url等等发布到zk上去呗。最终暴露出去的也将是这些信息,所有spring-dubbo.xml引入服务时自然就是这些配置
我也没说过Eureka的服务调用机制跟Dubbo的服务调用机制是一样的哦。。。
但是我可以说的是Dubbo发布服务 发布服务 当然是发布到zk统一进行协调管理;暴露出去的当然是url,port,method等等;
暴露这么多东西从侧面反应服务的调用当然是通过url来的,url就包括:host://port/mehotd的url ,这是作为服务的唯一标识,我相信Eureka底层也是这么来区分不同的服务的(Eureka注册的服务难道不需要指定所在的host?host就是ip啊,不然调用方哪知道你的service存在哪个地方)
至于服务方生产的ip变了,消费方也需要改的问题:
(1)其实不一定,如果你是走dubbo-rpc协议 同构项目调用的话,就不需要,因为已经交给zk管理了
(2)如果消费方采用的是通过rest实现服务调用的话,那就需要改
是的,你理解的并无偏差;
1、同构项目、服务之间的调度,走Dubbo协议;
2、走Dubbo协议的互相调用呢,最终落实到实际的项目中时,是需要引入发布者api所在的jar的(引入的方式自然是pom的方式啦,也就是你的maven坐标形式!),但是这仅仅是第一步哦!!!
在dubboTwo中要将dubboOne提供的服务交由dubboTwo中spring容器管理。如果删除依赖,itemController的Bean加载时会提示无法装配要使用的dubboOne发布的服务DubboItemService,RPC能做到像本地点方法访问,肯定不是远程调用接口数据传输那样简单,而是高性能的的远程访问。
你这个只需要clean install一下one项目的parent模块即可
如果仍然有这个红色下划线存在,一般是idea的原因,你可以暂时忽略,继续编码,看看是否有问题