Dubbo项目搭建和Dubbo-admin管理平台和Zookper注册中心搭建

本文介绍了如何搭建Dubbo项目,包括创建provider和consumer子工程,配置相关XML文件,实现服务接口和类。重点强调了启动顺序:Zookeeper -> provider -> consumer。完成设置后,可以通过http://localhost:8088/dubbo-admin-2.5.4-SNAPSHOT/访问Dubbo管理平台查看详细信息。
摘要由CSDN通过智能技术生成
1.Dubbo:(Alibaba)
  • 一款分布式服务框架
  • 高性能和透明化的RPC远程服务调用方案
  • SOA服务治理方案
2.Dubbo框架图:

框架解释:注册中心(Registry):Zookerper作为服务的注册中心
                消费者(Consumer):服务调用者
                提供者(Provider):   服务提供者
                监控中心(Monitor ):统计服务调用的次数和调用时间的监控

2.Dubbo的配置:
  •   新建Maven项目,并新建Maven moudle子工程provider和consumer,在pom.xml文件中配置相关依赖的jar包和子工程依赖父工程的配置
  •   配置provider子工程的resources文件中applicationprovider.xml文件
     
                  <!--使用 zookeeper 注册中心暴露服务,注意要先开启 zookeeper-->
                <dubbo:registry address="zookeeper://localhost:2181"/>
                <!-- 用dubbo协议在20880端口暴露服务 -->
               <dubbo:protocol name="dubbo" port="20880" />
                <!--使用 dubbo 协议实现定义好的 api.PermissionService 接口-->
                <dubbo:service interface="com.star.dubbo.DemoService" ref="demoService" protocol="dubbo" />
                <!--具体实现该接口的 bean-->
                <bean id="demoService" class="com.star.dubbo.impl.DemoServiceImpl"/>

  •  配置consumer子工程的resources文件H公分的applicationconsumer.xml文件
        
              <dubbo:application name="demotest-consumer" owner="programmer" organization="dubbox"/>
           <!--向 zookeeper 订阅 provider 的地址,由 zookeeper 定时推送-->
           <dubbo:registry address="zookeeper://localhost:2181"/>
           <!--使用 dubbo 协议调用定义好的 api.PermissionService 接口-->
           <dubbo:reference id="permissionService" interface="com.star.dubbo.DemoService"/>

  •   实现provider和consumer两个子工程的服务调用的接口和实现类
  • 先启动Zookeeper,再启动provider,最后启动consumer(重要,重要,重要!!!)
  • 最后可以通过地址栏http://localhost:8088/dubbo-admin-2.5.4-SNAPSHOT/可以查看Dubbo-Admin控制台的详细信息。



Dubbo-Admin的配置:
    下载Dubbo.zip,解压后在dubbo-admin使用命令生成.war包
  1. mvn package -Dmaven.skip.test=true  
         将war包放到tomcat webapps 文件夹下然后启动tomcat服务
         自动解压war包到项目目录下
        然后启动zookeeper,启动tomcat,然后使用上述链接即可看到后台的信息。即配置成功如下图:

        如果war包无法生成,建议直接下载响应jdk版本的dubbo-admin的war包。


Dubbo封装调用:
public <T> T getDubboService(Class<T> t, String version, int timeout, boolean retries, String registryAddress, boolean validation)
  {
    this.log.info("consumer dubboService====class====" + t);
    
    ReferenceConfig<T> referenceConfig = new ReferenceConfig();
    referenceConfig.setApplication(this.dubboConfig.getApplication());
    if ((null != registryAddress) && (registryAddress.length() > 0))
    {
      RegistryConfig rgsConfig = this.dubboConfig.getRegistry(registryAddress);
      if (null != rgsConfig)
      {
        this.log.info("fileDir:" + rgsConfig.getFile());
        referenceConfig.setRegistry(rgsConfig);
      }
      else
      {
        return null;
      }
    }
    else
    {
      referenceConfig.setRegistry(this.dubboConfig.getRegistry());
    }
    referenceConfig.setInterface(t);
    if (timeout > 99)
    {
      referenceConfig.setTimeout(Integer.valueOf(timeout));
      ConsumerConfig consumer = new ConsumerConfig();
      consumer.setTimeout(Integer.valueOf(timeout));
      referenceConfig.setConsumer(consumer);
    }
    if (!retries) {
      referenceConfig.setRetries(Integer.valueOf(0));
    } else {
      referenceConfig.setRetries(DubboPropertisConfig.DUBBO_RETRIES);
    }
    referenceConfig.setInjvm(Boolean.valueOf(false));
    referenceConfig.setVersion(version);
    referenceConfig.setProtocol("dubbo");
    
    referenceConfig.setCheck(DubboPropertisConfig.DUBBO_CHECK);
    referenceConfig.setInit(Boolean.valueOf(true));
    referenceConfig.setLazy(Boolean.valueOf(false));
    
    referenceConfig.setValidation(validation ? "true" : "false");
    if (DubboPropertisConfig.DUBBO_MONITOR.booleanValue()) {
      referenceConfig.setMonitor(this.dubboConfig.getMonitConfig());
    }
    return this.referenceConfigCache.get(referenceConfig);
  }

  
调用示例:
ActiveRepaymentService activeRepaymentTrialService = DubboFactory .getDubboService(ActiveRepaymentService.class, "1.0.0", inputParam.getZkAdress());//调用类,版本,集群地址





  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
在将Nacos与Dubbo-Admin集成之前,需要先确保已经完成了以下步骤: 1. 安装和启动Nacos服务; 2. 部署和启动Dubbo-Admin服务; 3. 在Dubbo-Admin服务中配置Dubbo注册中心为Nacos。 下面是详细的搭建步骤: 1. 在Nacos中创建一个命名空间,并且在该命名空间下创建一个服务。例如,命名空间为dubbo,服务名称为dubbo-demo。 2. 在Dubbo-Admin服务中打开dubbo.properties文件,在文件中添加以下配置: ``` dubbo.registry.address=nacos://<Nacos服务器地址>:<Nacos服务器端口> dubbo.metadata-report.address=nacos://<Nacos服务器地址>:<Nacos服务器端口> ``` 其中,<Nacos服务器地址>和<Nacos服务器端口>分别为Nacos服务器的地址和端口号。 3. 在Dubbo-Admin服务中启动Dubbo-Admin应用程序。在浏览器中打开Dubbo-Admin管理界面,并且在左侧的导航栏中选择服务管理。 4. 在服务管理页面中,选择dubbo-demo服务,并且在服务详情页面中,单击“编辑”按钮。在编辑页面中,配置服务的元数据,然后单击“保存”按钮。 5. 在服务详情页面中,单击“订阅”按钮,以便Dubbo-Admin能够自动发现和管理该服务。 6. 在Dubbo-Admin管理界面中,选择服务监控。在服务监控页面中,可以查看dubbo-demo服务的状态和性能指标。 到此为止,Nacos和Dubbo-Admin的集成就已经完成了。通过Dubbo-Admin管理界面,可以方便地对Dubbo服务进行监控、管理和配置。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值