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 ...
随机推荐
- 华硕主板开机无法进入BIOS
先说下本人情况,自己组装的台式机,华硕TUF B550M-Plus (wifi)的主板,CPU是锐龙 4650G(带核显),其他配件不涉及问题就不提了. 原来用独显的时候,没啥问题,开机有品牌logo ...
- 重复代码的克星,高效工具 VSCode snippets 的使用指南
为什么要用 snippets(代码段)? 不管你使用何种编程语言,在我们日常的编码工作中,都会存在有大量的重复代码编写,例如: 日志打印: console.log,log.info('...') 输出 ...
- Flink的日志配置
------------恢复内容开始------------ 介绍flink在本地运行和on yarn运行时的日志配置. 很多现代框架都是用门面模式进行日志输出,例如使用Slf4j中的接口输出日志,具 ...
- 设计模式之抽象工厂模式(Abstract Factory Pattern)
一.抽象工厂模式的由来 抽象工厂模式,最开始是为了解决操作系统按钮和窗体风格,而产生的一种设计模式.例如:在windows系统中,我们要用windows设定的按钮和窗体,当我们切换Linux系统时,要 ...
- CVE-2020-1938 -Tomcat-AJP任意文件读取/包含
为什么这个漏洞被称作 Ghostcat(幽灵猫)? 这个漏洞影响全版本默认配置下的 Tomcat(在我们发现此漏洞的时候,确认其影响 Tomcat 9/8/7/6 全版本,而年代过于久远的更早的版本未 ...
- kali msf6 更新及bug处理
问题描述 Metasploit 漏洞库更新,利用msfupdate命令更新,出现已停止该命令更新,出现如下提示: 利用一句话安装更新,命令如下,安装过程中有部分警告出现 curl https://ra ...
- JavaScript数组的几个常用的API
一. 扁平化嵌套数组/展平和阵列孔--flat() 1.实现效果 var arr1 = [1, 2, [3, 4]]; arr1.flat(); // [1, 2, 3, 4] var arr2 = ...
- frameset、frame和div 、iframe
框架一般应用于首页的界面排版工作.把一个网页切割成多个页面管理.frame文件一般只包含框架的布局信息,不会包含其他内容,所有的页面效果都是在各个frameset页面内显示.他们都从属于frame文件 ...
- 竖式问题(JAVA语言)
package 第三章; import java.util.Scanner; public class 竖式问题 { public static void main(String[] args) { ...
- python-递归函数和内置函数笔记汇总
1. def syz(*args) # *args 参数组 不必填,不限制参数的个数 参数组不常用 2.def sys2(**kwargs): #关键字参数 3.递归函数, 不常 ...