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 ...
随机推荐
- wxWidgets源码分析(1) - App启动过程
目录 APP启动过程 wxApp入口定义 wxApp实例化准备 wxApp的实例化 wxApp运行 总结 APP启动过程 本文主要介绍wxWidgets应用程序的启动过程,从app.cpp入手. wx ...
- CentOS Install NMP
目录 Installation steps of the Nginx install run 默认安装路径 指定安装目录 Installation steps of the MySQL 下载源码包 解 ...
- 人脸检测数据源制作与基于caffe构架的ALEXNET神经网络训练
本篇文章主要记录的是人脸检测数据源制作与ALEXNET网络训练实现检测到人脸(基于caffe). 1.数据获取 数据获取: ① benchmark是一个行业的基准(数据库.论文.源码.结果),例如WI ...
- KL散度相关理解以及视频推荐
以下内容基于对[中字]信息熵,交叉熵,KL散度介绍||机器学习的信息论基础这个视频的理解,请务必先看几遍这个视频. 假设一个事件可能有多种结果,每一种结果都有其发生的概率,概率总和为1,也即一个数据分 ...
- sanic-jwt 的使用
Sanic 是基于 Python 的一个支持高并发的异步 web 框架,sanic-jwt 则是针对Sanic 开发的一个基于 PyJWT 封装的 JWT 授权认证模块. sanic-jwt 项目主页 ...
- Reactive Spring实战 -- WebFlux使用教程
WebFlux是Spring 5提供的响应式Web应用框架. 它是完全非阻塞的,可以在Netty,Undertow和Servlet 3.1+等非阻塞服务器上运行. 本文主要介绍WebFlux的使用. ...
- [Redis知识体系] 一文全面总结Redis知识体系
本系列主要对Redis知识体系进行详解.@pdai Redis教程 - Redis知识体系详解 知识体系 学习资料 知识体系 知识体系 相关文章 首先,我们通过学习Redis的概念基础,了解它适用的场 ...
- FreeBSD 镜像站问题 @2021
主要问题在于官方无论如何也不开放 rsync 且不接受镜像站的官方二级镜像申请. 多次联系均无二次联系,如邮件列表,大概五次,其中三次回应,两次无回应.其主要回复内容为"深表歉意,但台湾地区 ...
- mysql操作和详解
温馨提示 mysql安装包里面:mysqld是服务端,mysql是客户端. mysqld其实是SQL后台程序(也就是MySQL服务器),它是关于服务器端的一个程序,mysqld意思是mysql dae ...
- 【Azure 云服务】在Cloud Service的代码中如何修改IIS Application Pool的配置呢? 比如IdleTimeout, startMode, Recycling.PeriodicRestart.Time等
什么是 PaaS?Platform as a Service 平台即服务 (PaaS) 是云中的完整开发和部署环境,你可以使用其中资源交付内容,从基于云的简单应用到启用云的复杂企业应用程序皆可.你以即 ...