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 ...
随机推荐
- NodeJs 入门到放弃 — 常用模块及网络爬虫(二)
码文不易啊,转载请带上本文链接呀,感谢感谢 https://www.cnblogs.com/echoyya/p/14473101.html 目录 码文不易啊,转载请带上本文链接呀,感谢感谢 https ...
- shell脚本,mysql数据库的备份-2[mysqldump]
# 数据库IPIP=127.0.0.1# 数据库端口PORT=3306# 数据库用户USER=root# 数据库密码PASSWORD=****# 要备份的数据库TARGET_DB=database_n ...
- 【odoo】ref 1-6说明
(0,_ ,{'field': value}) 这将创建一个新的记录并连接它 (1,id,{'field': value}): 这是更新一个已经连接了的记录的值 ( ...
- ICPC题目选讲
Traveling in the grid world 题目描述 有一个 \(n\times m\) 的格点图,两点之间走他们的连线,但是这条连线不能恰好覆盖其他整点.还要求相邻两步之间的连线不能斜率 ...
- PTE准备的时候,用英式英语还是美式英语
我自己是按照英式英语准备的,因为PTE的题目都是英式拼写,考生在做SWT题目的时候往往会抄原文中的句子或者关键词,不自觉地就将第一个区分点写成英式的,所以后面再用美式的就会被判错. PTE写作的小分中 ...
- Anchor-Free总结
目录 Anchor-Free综述 一. CornerNet 1.1 概述 1.2 模块介绍 1.2.1 Heatmap 1.2.2 Offset 1.2.3 Grouping Corners 1.2. ...
- 有必要了解的大数据知识(二) Hadoop
前言 接上文,复习整理大数据相关知识点,这章节从MapReduce开始... MapReduce介绍 MapReduce思想在生活中处处可见.或多或少都曾接触过这种思想.MapReduce的思想核心是 ...
- MyBatis:当表字段名和实体类属性名不一致
第一种解决方法:在sql中使用别名 <select id="getRoleList" resultType="com.ttpfx.domain.Role" ...
- 【新阁教育】台达DVP-ES3 ModbusTCP通信案例
本文主要针对台达DVP-ES3系列PLC,实现上位机与PLC之间的ModbusTCP通信. 一.硬件说明 DVP-ES3 系列为高阶应用可编程控制器, CPU 内置4 组高速计数器输入.4组轴输出(脉 ...
- java中if语句的应用
1. 注释怎么写: 1.1 //单行注释 1.2 /*多行注释*/ 2. If语句的用法 2.1. if(条件语句){ ( ps:只有一行代码时可以不加{} ) } 2.2. if(条件语句) ...