dubbo以xml方式操作和新版dubbo-admin安装
创始人
2024-02-15 11:42:57
0

文章目录

  • 1 dubbo xml配置
    • 1.1 提供者
      • 1.1.1 提供者接口
      • 1.1.2 提供者实现类
        • 1.1.2.1 项目结构图示
        • 1.1.2.2 pom.xml
        • 1.1.2.3 实现类接口
        • 1.1.2.4 配置文件
          • 1.1.2.4.1 xml配置
          • 1.1.2.4.2 结合注解方式
        • 1.1.2.5 启动类
          • 1.1.2.5.1 直接读取配置文件
          • 1.1.2.5.2 Main.main启动
      • 1.1.3 其他方式配置
    • 1.2 消费者
      • 1.2.1 项目结构图
      • 1.2.2 pom.xml
      • 1.2.3 消费者接口和实现
  • 2 dubbo-admin
    • 2.1 下载获取
    • 2.2 配置打包
    • 2.3 启动服务

1 dubbo xml配置

1.1 提供者

1.1.1 提供者接口

图示
在这里插入图片描述

pom.xm

   cn.jzhdubbo-service1.0-SNAPSHOT88

接口类

public interface DemoService {public String test (String msg);
}

1.1.2 提供者实现类

1.1.2.1 项目结构图示

在这里插入图片描述

1.1.2.2 pom.xml


4.0.0cn.jzhdubbo-service-impl1.0-SNAPSHOT88cn.jzhdubbo-service1.0-SNAPSHOTcom.alibabadubbo2.6.12com.101teczkclient0.10org.slf4jslf4j-apiio.nettynetty-all4.1.32.Finalorg.apache.curatorcurator-framework4.0.1org.apache.zookeeperzookeeper
 	

1.1.2.3 实现类接口

import cn.jzh.service.DemoService;
public class DemoServiceImpl implements DemoService {@Overridepublic String test (String msg) {return "dubbo接收信息"+msg;}
}

1.1.2.4 配置文件

1.1.2.4.1 xml配置

applicationContext-dubbo.xml




常用配置文件说明:

  • :服务配置,用于暴露一个服务,定义服务的元信息,一个服务可以用多个协议暴露,一个服务也可以注册到多个注册中心
  • :引用配置,用于创建一个远程服务代理,一个引用可以指向多个注册中心
  • :协议配置,用于配置提供服务的协议信息,协议由提供方指定,消费方被动接受
  • :应用配置,用于配置当前应用信息,不管该应用是提供者还是消费者
  • :模块配置,用于配置当前模块信息,可选
  • :注册中心配置,用于配置连接注册中心相关信息
  • :监控中心配置,用于配置连接监控中心相关信息,可选
  • :提供方配置,当 ProtocolConfigServiceConfig 某属性没有配置时,采用此缺省值,可选
    provider是原始的服务提供方式:配置参数超级多,比较繁琐,学习成本大
    service是在provider的基础上给了很多默认值,用户使用时只需配置少量必需的值,大大降低学习成本
  • :消费方配置,当 ReferenceConfig 某属性没有配置时,采用此缺省值,可选
    referenceconsumer基础上发展来的,consumer也是原始的服务提供方式
  • :方法配置,用于ServiceConfigReferenceConfig 指定方法级的配置信息
  • :参数配置,用于指定方法参数配置
1.1.2.4.2 结合注解方式

applicationContext-dubbo.xml




同时提供实现类上面也要用到注解的方式,要使用来自阿里的@Service注解

import cn.jzh.service.DemoService;
import com.alibaba.dubbo.config.annotation.Service;@Service
public class DemoServiceImpl implements DemoService {@Overridepublic String test(String msg) {return "dubbo接收信息"+msg;}
}

1.1.2.5 启动类

1.1.2.5.1 直接读取配置文件
import org.springframework.context.support.ClassPathXmlApplicationContext;public class App {public static void main(String[] args) {ClassPathXmlApplicationContext context = new ClassPathXmlApplicationContext("applicationContext-dubbo.xml");context.start();System.out.println("启动成功");}
}

当开启zookeeper服务后,再启动服务,在打印出启动成功后,就直接关闭,如果想一直启动,就要换个能一直启动而不会关闭的启动方式
注意:启动的时候需要启动zookeeper不然不会启动成功

1.1.2.5.2 Main.main启动

由于直接读取配置文件启动服务,服务会很快关闭,此处就使用dubbo官方推荐的com.alibaba.dubbo.container.Main.main()方法启动

注意:用此种方法启动,需要把配置文件applicationContext-dubbo.xml放在resource文件夹的META-INF/spring/*.xml 里面去
在这里插入图片描述
启动参考示例:

import com.alibaba.dubbo.container.Main;
public class App {public static void main(String[] args) {//官方推荐//要求配置文件必须在 META-INF/spring/*.xml 里面去Main.main(args);}
}

1.1.3 其他方式配置

上面示例是xml配置的,还有dubbo.properties方式配置
如果公共配置很简单,没有多注册中心,多协议等情况,或者想多个 Spring 容器想共享配置,可以使用 dubbo.properties 作为缺省配置。
Dubbo将自动加载 classpath 根目录下的 dubbo.properties,可以通过JVM启动参数 -Ddubbo.properties.file=xxx.properties 改变缺省配置位置。

dubbo.properties配置样例

# 应用名
dubbo.application.name=dubbodemo-provider
# 注册中心地址
dubbo.registry.address=zookeeper://127.0.0.1:2181
# 广播的注册中心样例
# dubbo.registry.address=multicast://224.5.6.7:1234
# 调用协议地址
dubbo.protocol.name=dubbo
dubbo.protocol.port=28080

覆盖策略:

  • JVM启动-D参数优先,这样可以使用户在部署和启动时进行参数重写,比如在启动时需改变协议的端口
  • XML次之,如果在 XML 中有配置,则 dubbo.properties 中的相应配置项无效。
  • Properties最后,相当于缺省值,只有 XML没有配置时,dubbo.properties 的相应配置项才会生效,通常用于共享公共配置,比如应用名。

注意:

  1. 如果 classpath 根目录下存在多个 dubbo.properties,比如多个 jar 包中有 dubbo.propertiesDubbo会任意加载,并打印 Error 日志,后续可能改为抛异常。
  2. 协议的 id 没配时,缺省使用协议名作为 id

1.2 消费者

1.2.1 项目结构图

在这里插入图片描述

1.2.2 pom.xml


4.0.0cn.jzhdubbo-consumer1.0-SNAPSHOT88cn.jzhdubbo-service1.0-SNAPSHOTcom.alibabadubbo2.6.12com.101teczkclient0.10org.slf4jslf4j-apiio.nettynetty-all4.1.32.Finalorg.apache.curatorcurator-framework4.0.1org.apache.zookeeperzookeeper

1.2.3 消费者接口和实现

接口

public interface ConsumerService {void test();
}

实现类,注意此处的实现类应用的alibaba里面的包

import cn.consumber.service.ConsumerService;
import cn.jzh.service.DemoService;
import com.alibaba.dubbo.config.annotation.Reference;public class ConsumerServiceImpl implements ConsumerService {@Referenceprivate DemoService demoService;@Overridepublic void test() {//调用provider种提供的功能System.out.println(demoService.test("测试Dubbo信息"));}
}

2 dubbo-admin

2.1 下载获取

dubbo-admin获取地址:https://github.com/apache/dubbo-admin/tree/master,直接获取master分支,下载zip包
在这里插入图片描述

最新版本的dubbo-admin当中采用了前后端分离的的设计模式,所以要求要有java的环境,还得搭建node.js的运行环境,在service开启服务后,还需在dubbo-admin-ui中开启前端的代码

2.2 配置打包

idea打开服务即可
需要在dubbo-admin-service当中配置zookper地址

zookeeper配置
admin.registry.address=zookeeper://127.0.0.1:2181
admin.config-center=zookeeper://127.0.0.1:2181
admin.metadata-report.address=zookeeper://127.0.0.1:2181nacos配置
#admin.registry.address=nacos://127.0.0.1:8848?group=DEFAULT_GROUP&namespace=public
#admin.config-center=nacos://127.0.0.1:8848?group=dubbo
#admin.metadata-report.address=nacos://127.0.0.1:8848?group=dubbo

配置默认端口,不配置的话默认是8080容易发生冲突,username,password既为登录账号密码

server.port=8001admin.root.user.name=root
admin.root.user.password=root

打包的话,需要在最顶层的服务打包,这样会把下面全部给打包了,然后在把dubbo-admin-server对应的服务启动即可
在这里插入图片描述

2.3 启动服务

启动服务需要先启动zookeeper服务,不然启动失败

启动后直接访问:http://127.0.0.1:8080/
示例图示
在这里插入图片描述
如果把服务关闭了,需要等待10秒,这是一个优雅关机策略

相关内容

热门资讯

论文化语言学中的语言与文化 论文化语言学中的语言与文化要正确理解文化语言学的`学科性质,就必须了解语言与文化的关系.本文从揭示语...
选题的具体方法 选题的具体方法17世纪法国著名的思想家笛卡尔曾经说过:“最有价值的知识是关于方法的知识。”要选好毕业...
数字IC设计技术论文 数字IC设计技术论文  摘要:随着数字电路设计的规模以及复杂程度的提高,对其进行设计所花费的时间和费...
GDDS的主要内容 GDDS的主要内容国际货币基金组织(IMF)于1997年12月正式建立数据公布通用系统(GDDS),...
安全生产随感 安全生产随感摘要:每当打开电视机或摊开报纸,我们经常看到空难、海难、火灾、矿山事故、建筑事故等各种各...
项目管理研究生论文 项目管理研究生论文  导语:为保障工程建设项目融资的顺利进行,国家规定凡采用工程建设项目融资方式筹措...
从情死到情活-从X公司看民营... 从情死到情活-从X公司看民营企业文化再造企业文化已不再只是老板的文化,而是企业管理层的文化;中国民营...
会展南昌金秋宴 会展南昌金秋宴对南昌而言,一年一度的"金秋经贸活动月",无疑是一次会展经济的集体盛宴.一系列大型展会...
生态文明建设背景下民族体育精... 生态文明建设背景下民族体育精神研究论文  摘要:该文采用文献资料法、逻辑分析法,基于在中国民族传统体...
对背诵的再认识 对背诵的再认识本文主要从心理语言学理论和二语习得理论角度对背诵在语言学习中的价值进行论证.同时,文章...
动画专业论文提纲(2)   动画专业论文提纲(二)  摘要:在动画的成长进程中,技巧的主要无需置疑,不管是从幻灯到胶片、从无...
组织未来发展展望 组织未来发展展望未来是不确定的`.组织未来的目标将会增多,重点是满足其中若干项目目标达到最佳成果.未...
高中语文教师的核心素养论文 高中语文教师的核心素养论文  随着新课程标准的重新修订和国家从战略高度提出核心素养建设来,语文备受社...
全面推进依法治国论文 全面推进依法治国论文  一、依法治国与国家治理体系和治理能力现代化的关系  依法治国战略布局的提出,...
谈小学语文课堂教学的评价论文 谈小学语文课堂教学的评价论文  新课程背景下小学语文课堂强调要积极发挥评价的功能,注重将教师评价与学...
中国异针蟋属一新种记述(直翅... 中国异针蟋属一新种记述(直翅目,蟋蟀总科)记述蟋蟀总科、蛉蟋科、异针蟋属1新种:太白异针蟋Ptero...
进口商遭受信用证欺诈的主要形... 进口商遭受信用证欺诈的主要形式及防范措施论文  一、信用证的定义、特点及制度缺陷  (一)信用证的定...
泽楷,打造绿色未来 泽楷,打造绿色未来更多的时候,泽楷集团是低调的`,所以,在沸沸扬扬的媒体上,你很难看到泽楷的报道.然...
说通假 说通假同源字之间由于意义相通而可以通用,假借字由于与所记录的词在意义上没有联系,只能称为假借,二者的...
毕业论文开题报告 毕业论文开题报告范文毕业论文开题报告范文1  1.开题报告(含“文献综述”)作为毕业设计(论文)答辩...