Dubbo本地开发技巧

背景

作为后端服务负载、前后分离的主要手段,dubbo在业界中使用率还比较高。随着Dubbo系统的增多,本地开发、调试就出现了麻烦之处

直接在开发本地起同样一份服务

由于Dubbo采用负载均衡的策略,多次请求的情况下总会随机一次到本地的服务上,有点儿看命的感觉。

修改Group

作为Dubbo支持的分Group策略,把各自开发人员独立注册一个Gruop是可行的。这样需求把Consumer端和provider端同步进行修改,稍微有点儿麻烦。

而且还是会想注册中心注册一份服务列表。

直连

直连就是不向注册中心注册服务,防止测试环境的Dubbo请求分配到本地开发服务器上。

  1. 修改服务提供者配置文件

    <dubbo:registry protocol="zookeeper" address="${dubbo.address}" file=".dubbo-registry/dubbo-registry.properties"  register="false"/>
    

    其中register="false"是主要起作用的配置,他的意思就是说,在本地起服务,不想注册中心注册服务

    这块,以后会配置到filter中,dev.properties默认为false,test默认未true。以后测试环境部署test的配置文件

  2. 增加默认直连配置文件

    在2.0以上版本自动加载${user.home}/dubbo-resolve.properties文件,不需要配置。

    ${user.home}指的是当前操作系统用户目录,如 Win7系统 Administrator的用户目录就是 C:\Users\Administrator
    mac就是/Users/luoaz 之类的。

    配置内容如下

    com.ai.trial.modules.trial.service.TlAccusedProcessService=dubbo://localhost:21006
    com.ai.trial.modules.trial.service.TlProcessService=dubbo://localhost:21006

通过以上配置,指定的服务就不在去注册中心找了,而是直接请求配置路径,dubbo://localhost:21006,其他未配置的再去配置中心找。

这样可以很方便的进行调试了。

ps:如果懒省事儿,可以把所有的服务全都声明一遍,以后就不需要管这个了
posted @ 2017-12-10 15:26  小爱博客  阅读(1561)  评论(0编辑  收藏  举报