这种适合本地调试,比如说你让你本地的consumer直接连你本地的provider

查看ip地址

  1. C:\Users\Administrator>ipconfig
  2. Windows IP 配置
  3. 以太网适配器 以太网:
  4. 媒体状态 . . . . . . . . . . . . : 媒体已断开连接
  5. 连接特定的 DNS 后缀 . . . . . . . :
  6. 无线局域网适配器 本地连接* 1:
  7. 媒体状态 . . . . . . . . . . . . : 媒体已断开连接
  8. 连接特定的 DNS 后缀 . . . . . . . :
  9. 无线局域网适配器 本地连接* 2:
  10. 媒体状态 . . . . . . . . . . . . : 媒体已断开连接
  11. 连接特定的 DNS 后缀 . . . . . . . :
  12. 以太网适配器 VMware Network Adapter VMnet8:
  13. 连接特定的 DNS 后缀 . . . . . . . :
  14. 本地链接 IPv6 地址. . . . . . . . : fe80::e997:a63e:622c:987a%3
  15. IPv4 地址 . . . . . . . . . . . . : 172.16.10.1
  16. 子网掩码 . . . . . . . . . . . . : 255.255.255.0
  17. 默认网关. . . . . . . . . . . . . : 172.16.10.2
  18. 无线局域网适配器 WLAN:
  19. 连接特定的 DNS 后缀 . . . . . . . :
  20. 本地链接 IPv6 地址. . . . . . . . : fe80::f43e:1970:3cf2:3bda%7
  21. IPv4 地址 . . . . . . . . . . . . : 10.10.87.80
  22. 子网掩码 . . . . . . . . . . . . : 255.255.255.0
  23. 默认网关. . . . . . . . . . . . . : 10.10.87.254

发现ip地址是 10.10.87.80

配置hosts

image.png

本机名字叫root,所以配置hosts

key是 你本机的名字,我本机是root, value就是你本机的ip地址,我的是10.10.87.80 ,不知道的看上面步骤自己用ipconfig 看下自己的 IPv4 地址

  1. root 10.10.87.80

provider配置文件配置

注意dubbo.protocol.host 的配置是你本机配置

  1. dubbo.protocol.name=dubbo
  2. dubbo.protocol.port=20880
  3. # 暴露服务的ip地址
  4. dubbo.protocol.host=10.10.87.80

consumer配置文件配置

注意配置10.10.87.80是本机ip地址

  1. dubbo:
  2. provider:
  3. host: 10.10.87.80

服务接口配置

注意url写成provider的 dubbo.protocol.host 配置和dubbo.protocol.port

10.10.87.80 要和provider的 dubbo.protocol.host配置一致
20880要和dubbo.protocol.host配置一致

  1. @Reference(protocol = "dubbo", url = "dubbo://10.10.87.80:20880", version = "default")
  2. private DemoService demoService;

测试

先启动生产者后启动消费者

代码地址

https://gitee.com/zjj19941/ZJJ_Dubbo.git 下的 local-direct-connection-1 项目