一.安装ZooKeeper注册中心(Registry)
1.官网下载zookeeper,解压后,运行bin目录下的zkServer.cmd会报错
如果报JAVA_HOME 没有设置相关的错误的话,可以在zkServer.cmd文件中添加如图设置:
二.安装监控中心(dubbo-admin)
管理控制台
监控中心可以帮助用户通过可视化界面监控各项服务,不安装的话不会影响任何业务功能
监控中心安装需要去GitHub上下载
dubbo-admin下需要设置一处配置.如图:
然后在dubbo-admin
下运行cmd> mvn clean install
打包成功后会在target下生成一个jar包
然后在该目录下运行cmd>java -jar xxxjar
注:运行监控中心的前提是zookeeper必须是启动的状态下;
监控中心的默认端口是7001,可以在之前的配置文件中设置;
至此,zookeeper环境搭建完成;
三.
1.将服务提供者注册到注册中心(暴露服务)
①导入dubbo依赖2.6.2 \ 操作zookeeper的客户端(curator)
<!-- https://mvnrepository.com/artifact/com.alibaba/dubbo -->
<!--引入dubbo-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.2</version>
</dependency>
<!--注册中心使用的是zookeeper,引入操作zookeeper的客户端-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
②配置服务提供者
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://code.alibabatech.com/schema/dubbo"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<!-- 1.指定服务名称 -->
<dubbo:application name="user-service-provider"></dubbo:application>
<!-- 2.指定注册中心位置 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181"></dubbo:registry>
<!-- 3.指定通信规则(通信协议? 通信端口) -->
<dubbo:protocol name="dubbo" port="20880"></dubbo:protocol>
<!-- 4.暴露服务 ref:指向真正的实现对象 -->
<dubbo:service interface="com.atguigu.gmail.service.UserService" ref="userServiceImpl"></dubbo:service>
<!-- 服务的实现 -->
<bean id="userServiceImpl" class="com.atguigu.gmail.service.impl.UserServiceImpl"></bean>
</beans>
至此,写个启动类,启动容器后,该服务就注册到了注册中心.通过监控中心客户端可以查看信息
2.让服务消费者去注册中心订阅服务提供者的服务地址
①导入dubbo依赖2.6.2 \ 操作zookeeper的客户端(curator)
<!--引入dubbo-->
<dependency>
<groupId>com.alibaba</groupId>
<artifactId>dubbo</artifactId>
<version>2.6.2</version>
</dependency>
<!--注册中心使用的是zookeeper,引入操作zookeeper的客户端-->
<dependency>
<groupId>org.apache.curator</groupId>
<artifactId>curator-framework</artifactId>
<version>2.12.0</version>
</dependency>
②通过spring配置引用远程服务
只需配置消费者名字,注册中心地址以及 要消费哪个服务
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xmlns:dubbo="http://dubbo.apache.org/schema/dubbo"
xmlns:context="http://www.springframework.org/schema/context"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.3.xsd
http://dubbo.apache.org/schema/dubbo http://dubbo.apache.org/schema/dubbo/dubbo.xsd
http://code.alibabatech.com/schema/dubbo http://code.alibabatech.com/schema/dubbo/dubbo.xsd">
<context:component-scan base-package="com.atguigu.gmail.service.impl"></context:component-scan>
<!-- 1.指定名称 -->
<dubbo:application name="order-service-consumer"></dubbo:application>
<!-- 2.指定注册中心位置 -->
<dubbo:registry address="zookeeper://127.0.0.1:2181"></dubbo:registry>
<!-- 声明需要调用的远程服务的接口,生成远程服务代理 -->
<dubbo:reference interface="com.atguigu.gmail.service.UserService" id="userService"></dubbo:reference>
</beans>
四.安装监控中心(dubbo-monitor-simple)
简单的监控中心:用于监控服务调用的信息
从官网中下载运维文件
然后双击bin下的.bat文件就可启动.
浏览器访问8080端口即可访问简易的监控中心
此时仅仅是简易的监控中心环境创建好了,本地跑的项目还没有收到监控中心的监控,所以还需要在项目的配置文件中添加相关的配置.
可以参考dubbo官方文档的schema配置参考手册进行配置;
在服务者和消费者的配置文件中分别添加注册中心的配置:
<!-- 连接监控中心 -->
<dubbo:monitor protocol="registry"></dubbo:monitor>
然后重启项目,访问监控中心,就可看到相关信息;
以上是ssm项目的相关配置方式;
五.springboot方式配置
①导入dubbo-starter
②导入dubbo的其他依赖
在aplication.properties
文件中写配置信息
③如果是暴露服务,用@Service
注解,如果是调用服务,用@Reference
注解
注:别忘了在启动类上用@EnableDubbo
开启dubbo.
六.配置
1配置的覆盖关系
1.方法级优先,接口级次之,全局配置再次之
2.如果级别一样,则消费方优先,提供方次之