SpringBoot + Dubbo + Zookper 整合
经过2个小时的调试终于弄完了,过程如下,
环境: JDK1.8 、Springboot2.2.6、 Windows10系统
如果不看Dubbo 管理页面的话就不用下载 Dubbo-domain了,这个是Dubbo 可视化工具。
从 https://github.com/apache/incubator-dubbo-ops 下载压缩源码到本地

将下载的源码解压并放到一个文件夹,路径不允许有中文和特殊字符
然后 win+r 敲入cmd 打开控制台进入到刚刚的源码文件夹的根目录,运行 mvn package -DskipTests=true 将项目打包,因为最新的版本是springboot的打包之后会是一个jar包, 然后在控制台java -jar dubbo-admin-xxx.jar 来运行jar包,
当然了在运行之前一定要启动本地的zookper 。 如果启动的时候报出端口被占用(最新版本是用8080),这个时候进入源码包的 dubbo-domain\dubbo-admin-develop\dubbo-admin-server\src\main\resources中打开applicaiton.properties文件 加入server.port=端口号 来修改启动端口号。
zookper 的安装和使用
在网址 http://zookeeper.apache.org/releases.html 中下载zookper的压缩包解压缩,进入 Zookeeper\apache-zookeeper-3.6.0-bin\conf 目录复制一份 zoo_sample.cfg 配置文件并更名未 zoo.cfg , 打开修改名称之后的文件,在最后一行加入
admin.serverPort=8090 配置来重新指定端口,因为 zookper 中tomcat的启动端口也是8080, 他娘的也不知道8080端口那么香。然后进入解压之后的文件夹的 Zookeeper\apache-zookeeper-3.6.0-bin\bin 路径,双击 zkServer.cmd 文件来启动zookper 出现如下说明启动成功

这时候就可以启动dubbo-domain 了,出现下面说明启动成功

然后再浏览器访问 ip:自己配置的端口 回车 输入 root 密码也是root, 就会出现以下页面

下面开始创建工程,写demo。
在IDEA创建父级项目 如下



然后删除没用的文件只留下如下图文件夹,不删也没事,不过太多看着太乱。

然后在pom.xml中引入如下

版本尽量相同,有时版本会有冲突,分别声明dao层实现和service 接口


这个项目只是来声明接口和dao层所以不需要有接口。
下面来创建子项目 app-provider
选中项目右键 new -> model -> 其他过程与上面一样只是在声明路径的时候放到与上面项目同级即可,如下。

删除无用文件夹后如下。

Application 启动配置类如下:

配置文件如下:

注意点:
有时dubbo版本不一样有的可能EnableDubbo注解没有,那就只配置 EnableDubboConfiguration 即可。
service实现类的service注解 用的是 dubbo的,可不是spring的, 切记
然后启动本地zookper , 启动 dubbo-domain 。启动项目,不报错的情况下去dubbo-domain查看是否有服务注册,有则证明服务提供者搭建成功,下面开始搭建服务消费者
与app-provider 相同方式创建 app-client 。删除无用文件夹之后如下图结构

controller 如下

启动类如下

配置文件如下:

然后启动 app-client 不报错的情况下,去浏览器访问controller,访问路径别忘了带servlet.context-path的值。 返回 hello word 说明搭建成功
必须要看的下一篇: https://www.cnblogs.com/qiaoyutao/p/12765818.html
SpringBoot + Dubbo + Zookper 整合的更多相关文章
- Springboot+dubbo+zookeeper整合
本想自己搭建一个Spring+dubbo+zookeeper整合好的框架,想寻找个最佳实现但是遇到各种各样的问题,只好自己看看dubbo starter的源码 整理如下: 通过打上断点来看配置的对不对 ...
- SpringBoot+Dubbo+Zookeeper整合搭建简单的分布式应用
为什么要使用分布式系统? 容错 减少延迟/提高性能 可用性 负载均衡 总而言之,其实目的只有一个,”用户体验“. 什么是分布式系统? 分布式系统是由使用分发中间件连接的自治计算机组成的网络.它们有助于 ...
- springboot+dubbo之多端口注入服务
前面介绍了,springboot+dubbo基础整合,这篇介绍多端口注入服务. springboot使用@Bean注入dubbo服务,当你是单一的ProviderConfig实例,dubbo的@Ser ...
- 超详细,新手都能看懂 !使用SpringBoot+Dubbo 搭建一个简单的分布式服务
来自:JavaGuide Github 地址:https://github.com/Snailclimb/springboot-integration-examples 目录: 使用 SpringBo ...
- 一次简单的springboot+dubbo+flume+kafka+storm+redis系统
最近无事学习一下,用springboot+dubbo+flume+kafka+storm+redis做了一个简单的scenic系统 scenicweb:展现层,springboot+dubbo sce ...
- 使用 SpringBoot+Dubbo 搭建一个简单分布式服务
实战之前,先来看几个重要的概念 开始实战之前,我们先来简单的了解一下这样几个概念:Dubbo.RPC.分布式.由于本文的目的是带大家使用SpringBoot+Dubbo 搭建一个简单的分布式服务,所以 ...
- SpringBoot&Dubbo&Zookeeper远程调用项目搭建
序言 Dubbo一款分布式服务框架,作为阿里巴巴SOA服务化治理方案的核心框架,通过高性能和透明化的RPC实现服务的远程调用,对服务的负载均衡以及项目的耦合性提供很强的解决方式;具体Dubbo的介绍和 ...
- 手把手0基础项目实战(一)——教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)...
原文:手把手0基础项目实战(一)--教你搭建一套可自动化构建的微服务框架(SpringBoot+Dubbo+Docker+Jenkins)... 本文你将学到什么? 本文将以原理+实战的方式,首先对& ...
- SpringBoot与Mybatis整合方式01(源码分析)
前言:入职新公司,SpringBoot和Mybatis都被封装了一次,光用而不知道原理实在受不了,于是开始恶补源码,由于刚开始比较浅,存属娱乐,大神勿喷. 就如网上的流传的SpringBoot与Myb ...
随机推荐
- Android中Context样式分析
目录 1.样式定义以及使用 1.1.默认样式 1.2.样式定义及使用 1.3.当前样式下attr属性的获取 1.4.属性集合的定义与获取 2.Activity中Theme的初始化流程 2.1.系统调用 ...
- java 集合 + 常见面试题
1.1. 集合概述 1.1.1. Java 集合概览 从下图可以看出,在 Java 中除了以 Map 结尾的类之外, 其他类都实现了 Collection 接口. 并且,以 Map 结尾的类都实现了 ...
- 关于 PDB 文件你需要知道什么?
引言 大多数人知道 PDB 文件是用来帮助我们 debug 的,但也仅此而已. 本文主要介绍当你遇到 PDB 文件时(windows 开发中),你必须要知道的内容. 重要的事情说三遍 PDB 文件和源 ...
- 强制断开ssh连接出现ssh崩溃问题
出现原因 finalshell意外终止,导致ssh连接意外终止 之后怎么都连不上虚拟机的ssh,一看是虚拟机的ssh已经被意外暂停,可能是跟finalshell的意外终止有关 解决 chmod 600 ...
- editplus更改编码
1.在Tools下拉后选择Configure User Tools 2.在左边导航菜单找到File,对应右边视图中的Default encoding 3.将编码更改为utf-8,点击底部的OK保存.
- Python字典与集合
一 字典创建.访问.添加.删除.修改.内建函数.内建方法 创建,列表不能作为键,因为键不能变?字典也不能作为键 dict1 = {} dict2 = {'name':'qq','sex':'male' ...
- Codeforces Round #558 B2. Cat Party (Hard Edition)
题面: 传送门 题目描述: 题意:确定最大的x,使去除掉前x天的其中一天后,所有不同数字的数量相等. 题目分析: 可能是我太久没打cf了,水题都做不出来. 这道题的关键在于:要记录相同数量,的不同 ...
- Codeforces Round #537 C. Creative Snap
题面: 传送门 题目描述: 灭霸想要摧毁复仇者联盟的基地.基地的长度为2的n次方,基地可以看成是一个长度为2的n次方的数组.基地的每一个位置可以由很多个超级英雄,但是一个超级英雄只能站一个位置.灭霸想 ...
- python-实现双链表
双链表和单链表进行比较的优点与不同 节点多了一个前驱指针域 在很多基本操作上,多了一种选择,因为双链表可以向前进行移动寻位 如果给每个节点添加一个对应的下标,那么在寻找节点时,我们可以使用二分发来进行 ...
- mongodb安装及常见命令操作
Mongodb是一个介于关系数据库和非关系数据库之间的产品(Nosql),是非关系数据库当中功能最丰富,最像关系数据库的,语法有点类似javascript面向对象的查询语言,它是一个面向集合的,模式自 ...