dubbo最全的使用教程
dubbo是阿里一款高性能,轻量级的rpc框架,有两大核心功能:远程服务调用和服务治理。本文主要介绍dubbo的运用。
一,安装注册中心zookeeper
1,为什么需要注册中心,不要能不能远程服务调用
答:可以采取服务dubbo服务直连方式(@Reference注解loadbalance属性指定调用的服务的ip端口)也能在没有注册中心情况下进行远程服务调用,但每个服务的调用需要到控制台查看ip,不利于开发。
2,为什么采用zookeeper,而不是其他
由于zookeeper工业强度很强(呵呵,以后会写一篇文章介绍),所以官方文档推荐它作为注册中心。
3,安装教程(windows为例)
3.1 官网或者百度云提取码:j5w2下载,然后解压
3.2 把conf下zoo_sample.cfg的文件名该为zoo.cfg(最好备份),进去内容指定dataDir的存放地址;还有种方法是修改bin目录下的zkEnv.cmd,把启动的配置文件指定为zoo_sample.cfg
3.3 双击zkServer.cmd启动,如果启动失败请看另一篇博文https://blog.csdn.net/qq_41274660/article/details/106986911
二,创建服务提供者消费者共有接口的maven项目
1,因为dubbo是面向接口的远程服务调用,所以需要相应的接口供服务提供者和消费者使用
2,创建接口,代码示例如下(方便复制粘贴)
package dubboImp;import test.UserAddress;import java.util.List;public interface UserService {List<UserAddress> getUserAddressList(String userId);
}
三,创建服务提供者项目
1,创建一个springboot项目(都是和springboot整合示例),引入dubbo starter依赖和二中的项目依赖
<dependency><groupId>com.alibaba.boot</groupId><artifactId>dubbo-spring-boot-starter</artifactId><version>0.2.0</version><!--springboot2.x.x 版本对应dubbo 0.2.x版本--></dependency>
2,配置配置文件
springboot和dubbo整合有三种配置方式,这里使用最常见的配置方式,其他的请百度
server:port: 8081dubbo:application:name: boot-order-service-provider #应用名protocol: dubbo #协议registry:protocol: zookeeper #指定zookeeper为注册中心address: 127.0.0.1:2181 #注册中心地址 monitor:protocol: registryprovider:timeout: 3000
3,编写需要暴露的服务和暴露服务
package com.fq.dubboprovider;import com.alibaba.dubbo.config.annotation.Service;
import dubboImp.UserService;
import org.springframework.stereotype.Component;
import test.UserAddress;import java.util.Arrays;
import java.util.List;@Service //这个注解暴露接口,注意是dubbo中的
public class UserServiceImpl implements UserService { @Overridepublic List<UserAddress> getUserAddressList(String userId) {UserAddress address1 = new UserAddress(1, "XXXXX", "1", "car","123456","Y");UserAddress address2 = new UserAddress(1, "YYYYYY", "2", "ea", "4562144", "Y");return Arrays.asList(address1,address2);}
}
4,启动类加@EnableDubbo,如果配置文件指定了dubbo.scan.base-package则不需要
四,创建服务消费者项目
1,除了编写消费者接口外其他步骤和三一样
2,编写消费者接口
package com.fq.dubboconsumer;import com.alibaba.dubbo.config.annotation.Reference;
import dubboImp.OrderService;
import dubboImp.UserService;
import org.springframework.stereotype.Service;
import test.UserAddress;import java.util.List;@Service
public class OrderServiceImpl implements OrderService {@Reference //引用远程服务的注解private UserService userService;public List<UserAddress> initOrder(String userId) {List<UserAddress> userAddressList = userService.getUserAddressList(userId);return userAddressList;}
}
到了这一步之后可以写一个请求去测试远程服务调用了
五,安装dubbo控制台
可以到官方github项目下载运行,为了方便这里提供已经打包好的jar包,提取码:r3sr,下载下来,控制台java -jar命令运行即可,通过http://localhost:7001/访问,用户名密码都是root。在这里对负载均衡智能容错进行管理,去探索吧
六,安装及监控中心
官网github项目下载或者百度云下载压缩包提取码:4ied,压缩包下载下来后解压,进入/assembly.bin目录双击start.bat启动,
http://localhost:8080/访问
转载请注明出处https://blog.csdn.net/qq_41274660/article/details/107009838
dubbo最全的使用教程相关推荐
- Blender 2.9中的真实感三维产品全流程制作学习教程
MP4 |视频:h264,1280×720 |音频:AAC,44.1 KHz,2 Ch 语言:英语+中英文字幕(根据原英文字幕机译更准确) |时长:41节课(6h 23m) |大小:5.83 GB 含 ...
- Node初学者入门,一本全面的NodeJS教程,微小的web框架,能实现文件上传功能以及数据解析功能...
Node初学者入门,一本全面的NodeJS教程 转载于:https://www.cnblogs.com/hfultrastrong/p/8036672.html
- Linux流量监控工具 - iftop (最全面的iftop教程)
Linux流量监控工具 - iftop (最全面的iftop教程) 2010年07月27日 下午 | 作者:VPS侦探 在类Unix系统中可以使用top查看系统资源.进程.内存占用等信息.查看网络状态 ...
- Python爬虫人工智能大数据全栈视频史上最全合辑教程分享!
Python爬虫人工智能大数据全栈视频史上最全合辑教程分享! 毫无疑问Python是这两年最火的编程语言,不仅容易上手,且在多个行业都可应用.尤其今年人工智能及大数据的发展,Python将会展现更多的 ...
- ElasticSearch最全详细使用教程:入门、索引管理、映射详解、索引别名、分词器、文档管理、路由、搜索详解...
墨墨导读:之前我们分享了ElasticSearch最全详细使用教程:入门.索引管理.映射详解,本文详细介绍ElasticSearch的索引别名.分词器.文档管理.路由.搜索详解. 一.索引别名 1. ...
- Vue2.0史上最全入坑教程(中)—— 脚手架代码详解
2019独角兽企业重金招聘Python工程师标准>>> 书接上文我们说道,如何利用脚手架(vue-cli)构建一个vue项目,本回书我们一起来学习分析下代码. 回顾下创建后的项目目录 ...
- ElasticSearch 最全详细使用教程
一.快速入门 查看集群的健康状况 http://localhost:9200/_cat 查看ES集群的master主节点状态 #curl -XGET 'http://10.0.8.47:9200/_c ...
- Spider引擎分布式数据库解决方案(最全的spider教程)
Spider引擎分布式数据库解决方案(最全的spider教程) 参考文章: (1)Spider引擎分布式数据库解决方案(最全的spider教程) (2)https://www.cnblogs.com/ ...
- 最全GNS3使用教程
官方下载地址 http://www.gns3.net/download 最全GNS3使用教程 !! 我搜集的最详细的 GNS3 使用教程!! 下载地址:下载地址修复 http://www.kuaipa ...
- 2021年最新最全Flink系列教程_Flink快速入门(概述,安装部署)(一)(JianYi收藏)
文章目录 引言 相关教程直通车: day01_Flink概述.安装部署和入门案例 今日目标 Flink概述 什么是批处理和流处理 为什么需要流计算 Flink的发展史 Flink的官方介绍 Flink ...
最新文章
- Python 实现9*9乘法表
- 孩子上了高一突然学不懂了,该怎么办?
- java鼠标事件_Java 模拟鼠标事件
- 前嗅ForeSpider教程:采集新浪新闻
- Linux串口属性设置
- 面试 Redis 没底?这 40 道面试题让你不再慌
- 程序员必读书籍及部分图书导读指南
- 使用代理访问百度网站 ProxyHandler python 爬虫 入门
- 一次因JDK夏令时导致接口输出日期格式的时间与预期时间不一致的bug排查
- czy的后宫——矩阵快速幂优化DP
- https防止注入_离子注入新法,将钢的耐磨性提高百倍
- Excel找最大值操作
- mysql截取字符串后缀_Mysql字符串截取函数SUBSTRING的用法说明
- python行为驱动测试开发_行为驱动开发在 Python 开发测试中的应用
- composer搭建php框架,利用 Composer 一步一步构建自己的 PHP 框架(一)——基础准备...
- linux gdb网络调试,一文入门Linux下gdb调试(二)
- 岁月你别催 该来的我不推;岁月你别催 走远的我不追;
- 使用jspdf将网页转化成pdf(解决滚动条以外变成黑色问题及缺少echarts图表问题)
- XQuartz for mac问题总结
- CDA level 2级课堂笔记
热门文章
- Rhino基础教程---三管混接
- 基于stc15f2k60s2芯片单片机编程(按键的长短按)
- Python解微分方程(验证数学建模第五版火箭发射模型)
- 学生优化--文本框限制
- QT+Opencv视频文件TCP网络传输
- oracle认证视频教程,Oracle认证专家视频教程-OCP全套教程之学习笔记-RMAN-CATALOG
- 【数学建模】相关软件
- matlab遗传算法工具箱及应用 pdf,MATLAB遗传算法工具箱及应用(雷英杰)
- 数值分析(11):常微分方程的数值解法之Euler法
- 基于C语言的个人信息管理系统