spring、SpringBoot 整合 dubbo + zookeeper 框架搭建
一、安装zookeeper
二、安装dubbo-admin
新版dubbo-admin安装、搭建(win+linux).
三、框架搭建——整合dubbo
1.spring配置文件形式整合dubbo
1)建项目
- 创建4个简单maven空项目
api用于接口管理,pojo用于实体管理,water-service-privoder服务提供方,dog-service-consumer服务消费方
- 就模拟一个狗子需要水的场景,搭建个简单的项目,继续往下……
2)服务搭建
a.服务提供者
- (1)实体:不介绍
- (2)定义服务接口:ProviderWaterService
- (3)在服务提供方实现接口
- (4)用 Spring 配置声明暴露服务——provider.xml
<!-- 1.提供方应用信息,用于计算依赖关系 -->
<dubbo:application name="water-service-provider" />
<!-- 2.指定注册中心的位置 -->
<dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
<!-- 3.指定通信规则/通信协议、通信端口 用dubbo协议在20881端口暴露服务-->
<dubbo:protocol name="dubbo" port="20881"></dubbo:protocol>
<!-- 4-1.声明需要暴露的服务接口 ref:指向服务的真正实现对象-->
<dubbo:service interface="com.liu.susu.api.water.ProviderWaterService" ref="providerWaterServicesImpl"/>
<!-- 4-2.将 向服务的真正实现对象 装入容器-->
<bean id="providerWaterServicesImpl" class="com.liu.susu.water.service.impl.ProviderWaterServicesImpl"></bean>
- (5)加载 Spring 配置——MainProviderApplication.java
package com.liu.susu.water;
import org.springframework.context.support.ClassPathXmlApplicationContext;
import java.io.IOException;
//加载 Spring 配置
public class MainProviderApplication {
public static void main(String[] args) throws IOException {
ClassPathXmlApplicationContext context =
new ClassPathXmlApplicationContext("provider.xml");
context.start();
System.in.read(); // 按任意键退出
}
}
b.服务消费者
- (1)通过 Spring 配置引用远程服务——consumer.xml
- (2)服务费内部业务逻辑,自己看着处理,想直接测试,直接下一步(3)也行
- (3)加载Spring配置,并调用远程服务
3)启动测试
4)登录dubbo-admin管理控制台
- (1)查看服务注册情况:
- (2)简单测试:
ok,介绍到此结束,接下来介绍Spring Boot整合
2.Spring Boot整合dubbo
1)建项目
- 业务需求参考上面《1.spring配置文件形式整合dubbo》
- 创建聚合工程项目,参考:
idea创建maven多模块项目.
2)引依赖
- 怎么引依赖?版本?参考官网
https://github.com/apache/dubbo.
点击连接进入:https://github.com/apache/dubbo-spring-boot-project
怎么用怎么配置,官网往下滚,一目了然,百度谁的都不如百度官网的,此处就介绍到这里,自己弄去吧!
3)配置文件
- warter-service-provider 的配置文件:
- dog-service-consumer 的配置文件
4)启动测试
5)登录dubbo-admin管理控制台
四、遇到的问题
1.dubbo-admin:无元数据信息
- 页面提示:无元数据信息,请升级至Dubbo2.7及以上版本,或者查看application.properties中关于config center的配置
解 “无元数据信息” 问题
2.springboot整合时消费者没注册
- 解决:漏加注解
@Component
,加上即可,如图
3.
五、附源码
1.spring配置文件形式整合dubbo
debbo-spring配置文件形式整合dubbo源码下载.