如何入手dubbo

本文涉及的产品
服务治理 MSE Sentinel/OpenSergo,Agent数量 不受限
注册配置 MSE Nacos/ZooKeeper,118元/月
云原生网关 MSE Higress,422元/月
简介:

 分布式服务是个很大的概念,也许你正纠结于能够从哪下手学习这门“技术”,甚至你已经拿到了alibaba 分布式服务框架的源代码,并稍微阅读了下dubbo 用户指南,但迟迟没有去研究它或者不知如何下手。造成这种情况的原因不难理解,一是你认为它很复杂,没人指点你可能开不了端,可能你拿到源码确编译总有错误,二是你没有认真读完 dubbo 用户指南,同时缺少技术了解广度,三是你所在的公司没有用到类似的框架。

       本人是在公司看了使用的类似的框架源码后,并加入 dubbo技术群请教一些幼稚的问题后给自己一些信心后,终于对 dubbo 开了个端。废话不多说,来真的。

       首先,我强烈建议你用 idea 并熟悉 maven,从 github 拉下来的代码模块如下:

 

通读 dubbo 用户指南后,发现整个框架由Register+Service/Provider+Consumer+Monitor组成,作为高性能的 分布式RPC方案,里面自然充斥着各种通讯协议,如 duddo 协议、http、rmi、hessian、ws 等,以及用于分布式的负载均衡算法-随机、最少调用、一致性 hash,还有集群容错机制-failover,failfast,failsafe,failback,forking。奥,对了,dubbo 协议是 dubbo封装的高性能 NIO 通讯协议。

没有 Register, 那 consumer 就是直连 provider,这样不太好玩。用户指南上提了几种注册中心实现方式,推荐 zookeeper 方式,不要因为完全不了解 zk 就不往下玩了。

 

从 zookeeper 官网下载最新版 zookeeper-3.4.7.tar.gz,解压后Linux 和 Windows 均适用,进入 conf 目录将 zoo-sample.cfg改名为 zoo.cfg,然后进入 bin 启动 zk 服务:

linux: ./zkServer.sh start      提示Starting zookeeper ... STARTED表示成功启动。

现在我们在 idea 里什么都不用做,直接用 tomcat 启动 dubbo-demo,浏览器打开后已 root/root 登录显示如下

 

 

 

 
 现在我们启动服务,把 dubbo-demo 下 provider 里 test 下dubbo.properties 里的

dubbo.registry.address=multicast://224.5.6.7:1234 改为
dubbo.registry.address=zookeeper://127.0.0.1:2181
启动 main 方法便能启动 provider,同样修改配置后启动 consumer,控制台输出:

00:36:01] Hello world4821, response form provider: 192.168.1.7:20880

表示调用成功。admin 显示如下:



 

OTHER:

判断 zookeeper 有没有启动:

localhost:zookeeper-3.4.7 javahongxi$ ./bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /usr/local/zookeeper-3.4.7/bin/../conf/zoo.cfg

Mode: standalone 

相关实践学习
基于MSE实现微服务的全链路灰度
通过本场景的实验操作,您将了解并实现在线业务的微服务全链路灰度能力。
目录
相关文章
|
XML Dubbo Java
由浅入深Dubbo核心源码剖析服务暴露与发现1
由浅入深Dubbo核心源码剖析服务暴露与发现1
90 0
|
Dubbo Java 应用服务中间件
由浅入深Dubbo核心源码剖析服务暴露与发现3
由浅入深Dubbo核心源码剖析服务暴露与发现3
64 0
|
6月前
|
缓存 负载均衡 Dubbo
Dubbo 第二节_ Dubbo的基本应用与高级应用
官⽹地址:http://dubbo.apache.org/zh/docs/v2.7/user/examples/loadbalance/ 如果在消费端和服务端都配置了负载均衡策略,以消费端为准。 这其中⽐较难理解的就是最少活跃调⽤数是如何进⾏统计的? 讲道理,最少活跃数应该是在服务提供者端进⾏统计的,服务提供者统计有多少个请求正在执⾏中。 但在Dubbo中,就是不讲道理,它是在消费端进⾏统计的,为什么能在消费端进⾏统计? 逻辑是这样的:官⽹地址:http://dubbo.apache.org/zh/docs
|
6月前
|
负载均衡 监控 Dubbo
秒懂Dubbo接口(原理篇)
【4月更文挑战第25天】秒懂Dubbo接口(原理篇)
191 3
秒懂Dubbo接口(原理篇)
|
6月前
|
负载均衡 Dubbo Java
Dubbo 第一节_ Dubbo框架介绍与手写模拟Dubbo 第二节_ Dubbo的基本应用与高级应用
官⽹地址:http://dubbo.apache.org/zh/docs/v2.7/user/examples/generic-service/官⽹地址:http://dubbo.apache.org/zh/docs/v2.7/user/examples/local-mock/官⽹地址:http://dubbo.apache.org/zh/docs/v2.7/user/examples/async-call/
|
6月前
|
Dubbo 应用服务中间件 Apache
干翻Dubbo系列第一篇:Dubbo是什么?
干翻Dubbo系列第一篇:Dubbo是什么?
|
XML 缓存 Dubbo
由浅入深Dubbo核心源码剖析服务暴露与发现2
由浅入深Dubbo核心源码剖析服务暴露与发现2
59 1
|
负载均衡 Dubbo 数据可视化
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Dubbo核心特点(3)
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Dubbo核心特点(3)
259 3
|
运维 Dubbo 数据可视化
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Dubbo核心特点(1)
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Dubbo核心特点(1)
263 3
|
监控 Dubbo Cloud Native
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Dubbo核心特点(4)
带你读《Apache Dubbo微服务开发从入门到精通》——三、 Dubbo核心特点(4)
219 2