zoukankan      html  css  js  c++  java
  • 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:UsersAdministrator
      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:如果懒省事儿,可以把所有的服务全都声明一遍,以后就不需要管这个了
  • 相关阅读:
    二维vector初始化
    分类、目标检测、语义分割、实例分割的区别
    天池博客链接
    Windows pycocotools 安装
    解决 windows下pd.read_csv()读取文件失败
    解决 Anaconda中已有库 notebook却无法import
    win10下 修改Jupyter Notebook的默认路径
    C++ stack操作
    nginx启动错误
    Selenium的PageObject模式
  • 原文地址:https://www.cnblogs.com/luoaz/p/8017028.html
Copyright © 2011-2022 走看看