dubbo学习实践(2)之Dubbo入门Demo
开篇之前,先来了解下dubbo服务治理与技术架构,直接看图

dubbo技术架构图:

1. 新建dubbo项目,目录结构如下

代码说明:
1.代码分为Provider(服务提供方)与consumer(服务订阅方)两块
2.服务提供方Provider提供服务,服务通过接口定义,订阅方也需要引入接口定义,故可以把接口定义拿出来,单独创建项目存放,构建好后,可以放到私有仓库中,供各个相关服务项目引用
3.dubbo通过动态代理方式,构建服务接口的实例对象进行服务调用
2. 添加dubbo依赖,采用consul做注册中心,默认zookeeper

3. 服务注册方式,先采用推荐方式xml,没有使用注册中心
在resource文件夹下,创建META-INF.spring文件夹,在文件夹下,创建provider.xml文件


创建service接口及实现


4. 创建consumer客户端程序,配置好文件,同provider
在resource文件夹下,创建META-INF.spring文件夹,在文件夹下,consumer.xml文件

在程序注入口出,构建IHelloService服务,调用服务方法

5. 运行provider和consumer
Provider:

Consumer客户端:

成功调用了helloBoy方法
6. 使用zookeeper为注册中心
修改配置文件,zookeeper地址:192.168.231.132:2181
修改provider和consumer配置文件:

如果是 zookeeper 集群的话,使用下面的方式
<dubbo:registry protocol="zookeeper" address="192.168.11.129:2181,192.168.11.137:2181,192.168.11.138:2181"/>
运行provider,报错

需要引入curator包(curator-framework和curator-recipes)


运行还报错(zookeeper not connected)

解决:配置文件,添加超时时间

运行provider成功

运行Consumer成功

参考文献:
Dubbo入门到实战:https://segmentfault.com/a/1190000019896723
Demo代码仓库:
https://gitee.com/xujk-27400861/springboot-dubbo/
dubbo学习实践(2)之Dubbo入门Demo的更多相关文章
- dubbo学习实践(4)之Springboot整合Dubbo及Hystrix服务熔断降级
1. springboot整合dubbo 在provider端,添加maven引入,修改pom.xml文件 引入springboot,版本:2.3.2.RELEASE,dubbo(org.apache ...
- dubbo 学习(5) dubbo多协议和多注册中心
转载 http://blog.csdn.net/songjinbin/article/details/49498431 一.配置dubbo多协议模式 1.默认协议 Dubbo缺省协议采用单一长连接和N ...
- Dubbo学习笔记2:Dubbo服务提供端与消费端应用的搭建
Demo结构介绍 Demo使用Maven聚合功能,里面有三个模块,目录如下: 其中Consumer模块为服务消费者,里面TestConsumer和consumer.xml组成了基于Spring配置方式 ...
- Dubbo学习笔记6:Dubbo增强SPI与SPI中扩展点自动包装的实现原理
在Dubbo整体架构分析中介绍了Dubbo中除了Service和Config层为API外,其他各层均为SPI,为SPI意味着下面各层都是组件化可以被替换的,也就是扩展性比较强,这也是Dubbo比较好的 ...
- Dubbo学习笔记5:Dubbo整体框架分析
Dubbo的分层架构 本文将简单介绍Dubbo的分层架构设计,如下图是Dubbo官方的整体架构图: Dubbo官方提供的该架构图很复杂,一开始我们没必要深入细节,下面我们简单介绍下其中的主要模块. 其 ...
- Dubbo学习笔记3:Dubbo管理控制台与监控中心的搭建
Dubbo源码下载与编译 本文来讲下如何在Dubbo源码编译后,得到用于搭建管理控制台的war包和监控平台的jar包. 首先需要到Github上下载Dubbo的源码,解压后如下: 在dubbo-2.5 ...
- dubbo学习实践(3)之Dubbo整合Consul及Dubbo配置方式
前言:上一篇中,已经写到了使用zookeeper为注册中心的配置,下面写下配置Consul为注册中心 1. Consul注册中心验证 修改provider和consumer的服务配置文件 Provid ...
- dubbo学习实践(5)之Dubbo-Admin元数据中心配置(zookeeper&Redis&Consul)
1.Dubbo2.7.8元数据中心配置zookeeper版 前面文章已经写到了dubbo-admin管理平台的docker版配置及dubbo服务注册与调用,这篇文章记录dubbo元数据中心配置 翻开d ...
- dubbo学习实践(1)之管理控制台Dubbo-admin部署
1.Docker拉取现有镜像,构建Dubbo-admin 拉取镜像,这里使用chenchuxin/dubbo-admin docker pull chenchuxin/dubbo-admin 注册中心 ...
随机推荐
- 16、mysql主从复制问题总结
16.1.主库"show master status"没有结果: 1.原因: 主库binlog功能开关没有改或没有生效: 2.解决办法: (1)[root@backup ~]#eg ...
- 14、mysql主从复制实战
14. 1.服务器准备: 一台服务器,多实例,客户端编码是utf8,服务端编码是utf8; [root@backup 3308]#netstat -tunlp | grep 330 tcp 0 0 0 ...
- JS replace 替换全部数据
(1)使用具有全局标志g的正则表达式 var str = "dogdogdog"; var str2 = str.replace(/dog/g,"cat");/ ...
- C#Expression合集
一:总体概览 1:获取属性值: 2:调用方法 3:动态构造条件 4:创建对象 5:Switch Case 6:Try Catch 以及捕获异常信息并输出 7:if esle 8:+ / += 9: ...
- NoSql非关系型数据库之MongoDB应用(二):安装MongoDB可视化工具
业精于勤,荒于嬉:行成于思,毁于随. 我们上次说到NoSql非关系型数据库之MongoDB应用(一):安装MongoDB服务 这次我们介绍安装 NoSQL Manager for MongoDB 可 ...
- 万字长文肝Git--全流程知识点包您满意【建议收藏】
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将首先介绍在本地搭建GitLab服务,然后重点介绍Git的常用命令,Git的核心概念以及冲突处理,最后介绍Git与SVN的区别 干货满满,建议 ...
- buu RSA
一.分析 下载链接,发现一个公钥的文件(e,n),和一个加密过的文件 二. 公钥文件,里面一堆字母,然后后面百度,才知道需要去解开n,e 指数是e,模数是n(十六进制) 三.再通过n来分解素数,得到p ...
- 使用oss来存取及优化图片资源
目录 1. 开通阿里云OSS,并创建存储空间 2. 图片上传及处理 2.1 图片上传 2.2 图片处理 前言: 在日常开发中,不免会遇到需要实现图片上传与展示的需求.比如一个文章发布系统,我们通常会开 ...
- java二叉树的遍历(1)
树(tree)是一种抽象数据类型(ADT),用来模拟具有树状结构性质的数据集合.它是由n(n>0)个有限节点通过连接它们的边组成一个具有层次关系的集合 节点:上图的圆圈,比如A,B,C等都是表示 ...
- C语言:随机数
在实际编程中,我们经常需要生成随机数,例如,贪吃蛇游戏中在随机的位置出现食物,扑克牌游戏中随机发牌.在C语言中,我们一般使用 <stdlib.h> 头文件中的 rand() 函数来生成随机 ...