dubbo解决本地开发直连
问题:
在如今的分布式项目开发中,zookeeper + dubbo是最常见的,通常的使用是用zookeeper做注册中心,dubbo做rpc,然后服务部署就可以实现相互之间的远程通信。所以开发项目时,只要连接对于zk的开发环境地址,本地不需要启动所有的服务也能互相调用,就好像有三个服务A,B和C,只要B和C都连接zk并且部署到开发环境(或者其他环境),服务A配置好对应的zk信息后不需要在本地启动B和C也能实现通信。但开发过程中,我们有时可能不想访问注册中心上的服务,而是直接在本地联调dubbo接口,比如现在我想在本地修改了服务A和B,然后想联调A服务调用B服务的效果,但是调用C服务还是注册中心上的,那么就需要一些处理来绕过注册中心访问B服务了。
解决:
解决方式比较简单,在本地电脑用户下新建一个叫dubbo-resolve.properties的文件,路径是${user.home}/dubbo-resolve.properties ,然后文件里配置好需要直连的服务信息即可,不需要修改本地工程的其他配置信息,
# 直连本地的服务
com.xjt.order.facade.OrderFacade=dubbo://localhost:20890