提供的参考资料: 官方文档: https://dubbo.apache.org/zh/docs/v2.7/user/quick-start/
学习网站:
https://edu.aliyun.com/lesson_1972_17257?spm=5176.10731542.0.0.7d2a6ec1xdMR3e
文字叙述构建逻辑流程。
################################################################
搭建思路流程:
1.搭建管理控制台:
下载官方网站上的项目文件,admin,修改application.properties文件中,dubbo.registry.address注册的地址,和注册中心的相对应(zookeeper) zookeeper://127.0.0.1:2181;然后重新打包(在dubbo的admin文件下,可以看到pom.xml ,src,在这里cmd ,命令mvn clean package,显示build success就完成)。将打包的jar放入自己用来放整个项目其他软件和规整的地方,cmd ,java -jar dubbo-admin…jar。然后用localhost:7001访问,账号密码root.(前提:zookeeper启动)
2.搭建zookeeper,注册中心。
下载(不要测试版本),windows系统下,直接在bin=》zkServer.cmd,前提:修改conf目录下zoo-sample.cfg==>zoo.cfg.
临时数据的处理问题。可改可不改:修改zoo.cfg中dataDir=…/data,在bin的同级目录下,创建一个data文件夹。再启动一下,cmd,zkServer.cmd
测试方式:调用zkcli.cmd.能够正常启动
3.准备接口和实体类的maven项目,作为后面的jar包,提供给消费者和生产者等。
4.创建provider项目。
依赖:dubbo的依赖;对zookeeper的依赖;对实体类接口jar的依赖。(官网文档,快速启动中)
配置文件:1.用dubbo声明该项目文件名。2,用dubbo表明注册中心的名字,地址端口号。3.指定通信的规则,即通信协议和端口(dubbo和端口,理解是提供服务的端口)。4.暴露服务。用dubbo:service interface(指向接口)ref指向真正实现的实现类。5.将实现类作为bean对象放入管理。
测试:
建启动类mainApplication.新建classpathxmlapplicationcontext容器,classpathxmlapplicationcontext.start方法启动。可以用System.in.read()方法放慢过程,方便读取打印信息。
5.创建consumer项目。 类似provider
1.声明名字<dubbo:application name=";2.注册<dubbo:registry address="zookeeper://127.0.0.1:2181";3.;4.声明调用的接口<dubbo:reference interface=";"5.加包扫描
6.监控中心 官网下载dubbo-monitor.在子包incubator-dubbo-ops-master\dubbo-monitor-simple.cmd命令,mvn package,进行打包。(1)用压缩文件,不用jar(因为需要修改注册中心对应的地址和端口),在bin目录下有start.bat。点击,可以启动。(下载以后,给这个项目修改注册中心的地址,作用就是监控中心到注册中心注册。)(2)给consumer配置文件,注明监控中心。<dubbo:monitor protocol="registry,意思是concumer到注册中心去找监控中心
################################################################
provider项目详细说明
若干项目彼此的结构。是consumer provider 和基础jar包提供(接口,bean ,异常处理)
1.provider的pom.xml和provider.xml文件的配置。
pom.xml的配置:
(主要作用是将服务者注册到注册中心。为了这个目的,将这个项目定义成dubbo,定义清楚注册中心是用什么软件,)主要是引入依赖
(1)引入dubbo的依赖,一般用版本2.6.2,比较稳定。理解是去使用dubbo客户端的。
(2)引入zookeeper的依赖,2.12.0。实际是引入操作zookeeper的客户端。
provider.xml的配置:
(1)当前服务的命名
(2)注册到指定的注册中心。指定注册中心用的是zookeeper或者其他,并且指定位置(指定注册中心名字和位置)。
(3)指定通信规则。按照dubbo的通信规则,指定端口号
(4)暴露服务(将服务提供给别人)。用ref指向给真正实现对象;可以配置真正实现的
(5)写标明真正实现类(很可能对应着数据库表格字段)
############################################################
在以上的基础,整合成springboot项目
1.idea上用 spring init创建;eclipse上用spring starter创建;
2.导入依赖,springbootstarter一个依赖,dubbo和zookeeper相关依赖都会被自动导入。
3.配置文件,ssm是application.xml这种文件;springboot是application.properties文件,一一配置:指定当前服务名字,注册中心的地址和协议类型是zookeeper还是什么;通信协议的名字和端口,dubbo.protocol.name = dubbo…;监控中心的协议;暴露的服务不用配置了,改用注解(@service,dubbo中的;@EnableDubbo开启基于注解的dubbo功能)。@autowired注解,自动注入功能不需要了,换成了@Reference,会引用远程服务的接口,自动在注册中心中去找。
##########################################################