Dubbo的入门学习

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
简介: Dubbo的入门学习

Dubbo入门学习

  • 简介

Apache Dubbo 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

官网:

http://dubbo.apache.org/

基本概念

20200401134307494.png

节点角色说明:

服务提供者(Provider): 暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自觉地提供的服务。

服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,会像注册中心订阅自己需要的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

注册中心(Registry): 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

监控中心(Monitor): 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。


调用关系说明:服务容器负责启动,加载,运行服务提供者。

服务提供者在启动时,向注册中心注册自己提供的服务。

服务消费者在启动时,向注册中心订阅自己所需的服务。

注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

Dubbo环境搭建

【windows】-安装zookeeper

1.下载 zookeeper

网址: https://archive.apache.org/dist/zookeeper/zookeeper-3.4.13/

网盘下载:

链接:https://pan.baidu.com/s/1lD-SS5FomNb2wUvnkszF6A

提取码:dr8g


2.解压zookeeper

解压运行zkServer.cmd ,初次运行会报错,没有zoo.cfg配置文件,将conf下的zoo_sample.cfg复制一份改名为zoo.cfg即可。

3、修改zoo.cfg配置文件

注意几个重要位置:
dataDir=./   临时数据存储的目录(可写相对路径)
clientPort=2181   zookeeper的端口号

修改完成后再次启动zookeeper

4、使用zkCli.cmd测试

ls /:列出zookeeper根下保存的所有节点
create –e /atguigu 123:创建一个atguigu节点,值为123
get /atguigu:获取/atguigu节点的值

【windows】-安装dubbo-admin管理控制台

dubbo本身并不是一个服务软件。它其实就是一个jar包能够帮你的java程序连接到zookeeper,并利用zookeeper消费、提供服务。所以你不用在Linux上启动什么dubbo服务。但是为了让用户更好的管理监控众多的dubbo服务,官方提供了一个可视化的监控程序,不过这个监控即使不装也不影响使用。

1.下载 dubbo-admin

https://github.com/apache/incubator-dubbo-ops

20200401134307494.png

2.进入目录,修改dubbo-admin配置

修改 src\main\resources\application.properties 指定zookeeper地址

20200401134307494.png

3、打包dubbo-admin

mvn clean package -Dmaven.test.skip=true

4、运行dubbo-admin

java -jar dubbo-admin-0.0.1-SNAPSHOT.jar

注意:【有可能控制台看着启动了,但是网页打不开,需要在控制台按下ctrl+c即可】

默认使用root/root 登陆

20200401134307494.png

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
相关文章
|
1天前
|
Dubbo Java 应用服务中间件
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
Java从入门到精通:3.2.2分布式与并发编程——了解分布式系统的基本概念,学习使用Dubbo、Spring Cloud等分布式框架
|
8月前
|
Dubbo Java 应用服务中间件
springboot + dubbo + zookeeper入门到实战超级详解
springboot + dubbo + zookeeper入门到实战超级详解
127 0
|
9月前
|
Dubbo Java 应用服务中间件
Netty入门到超神系列-手撸简单版RPC框架(仿Dubbo)
原理还是比较简单 : 代理 + 线程池 + Netty 下面做一些解释: 首先需要定义一个统一的API接口,例:UserApi , 服务端(provider)需要实现这个接口,提供相应的方法UserApiImpl#save,客户端通过远程来调用该接口。 然后需要约定一个协议,服务器如何才能识别到客户端要调用哪个接口?:我这里用 “接口权限定名#方法名#参数” ,的方式来,因为是一个简单版本的RPC。服务端解析该内容就能匹配对应的接口的实现类,然后调用该方法。并把方法的返回值通过Netty写回给客户端 使用的编解码器都是比价简单的String的编解码器
115 0
|
4月前
|
Dubbo Java 应用服务中间件
分布式应用简单入门及SpringBoot整合Dubbo+Zookeeper
分布式应用简单入门及SpringBoot整合Dubbo+Zookeeper
45 1
|
5月前
|
Dubbo Java 应用服务中间件
微服务技术系列教程(29) - Dubbo-介绍&环境安装&入门案例
微服务技术系列教程(29) - Dubbo-介绍&环境安装&入门案例
52 0
|
9月前
|
SpringCloudAlibaba Dubbo 网络协议
十二.SpringCloudAlibaba极简入门-集成dubbo
在之前 《什么是 Spring Cloud Alibaba》一文中我们有介绍过Dubbo,除了SpringCloud以外,Dubbo它也是用来作为微服务架构落地的成熟解决方案,并且它在服务通信上比SpringCloud性能更高,这取决于它的底层实现是基于原生的TCP协议,它的定位就是一款高性能的RPC(远程过程调用)框架,所以在国内很多的企业都选择Dubbo作为微服务框架,本文章的目的是帮助同学们将Dubbo这款高性能的RPC框架集成到SpringCloud中,真正实现SpringCloud 和 Dubbo的混用。
|
9月前
|
分布式计算 监控 Dubbo
【e3项目学习二】——zk与dubbo的组合运用
注册中心负责服务地址的注册与查找,相当于目录服务,服务提供者和消费者只在启动时与注册中心交互,注册中心不转发请求,压力较小。使用dubbo-2.3.3以上版本,建议使用zookeeper注册中心。
|
11月前
|
缓存 负载均衡 监控
Dubbo-入门指南+实例
Dubbo-入门指南+实例
48 0
|
11月前
|
XML 负载均衡 监控
终于有人从入门到实战把Dubbo讲的这么清清楚楚了
很多时候,其实我们使用这个技术的时候,可能都是因为项目需要,所以,我们就用了,但是,至于为什么我们需要用到这个技术,可能自身并不是很了解的,但是,其实了解技术的来由及背景知识,对于理解一项技术还是有帮助的,那么,dubbo是怎么被提上日程的呢?
|
Dubbo 应用服务中间件
如何去学习Dubbo?(一)
如何去学习Dubbo?(一)
84 0
如何去学习Dubbo?(一)