Dubbo+zookeeper 最简单的分布式搭建

分布式架构: 


1.当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,前端应用能更快速的响应多变的市场需求。 
2.此时,用于提高业务复用及整合的 分布式服务框架(RPC) 是关键。

Dubbo 是什么

  • 一款分布式服务框架
  • 高性能和透明化的RPC远程服务调用方案
  • SOA服务治理方案

Dubbo 架构流程图

è¿éåå¾çæè¿°

provider就是服务提供方,consumer就是服务学校消费方,register就是注册中心,用于注册与发现服务。monitor就是统计服务调用次数和调用时间的监控中心

调用流程:

0.启动服务提供者。 
1.服务提供者在启动时,向注册中心注册自己提供的服务。 
2.服务消费者在启动时,向注册中心订阅自己所需的服务。 
3.注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。 
4.服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。 
5.服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

注册中心 
服务提供方:针对所提供的服务到注册中心发布。 
服务消费方:到服务中心订阅所需的服务。 
对于任何一方,不论服务提供方或者服务消费方都有可能同时兼具两种角色,即需要提供服务也需要消费服务。

上面是针对dubbo的原理的讲解。原文链接为:https://blog.csdn.net/hua1586981/article/details/79195111

接下来我们直接搭建:

 

 

(2)zookeeper的搭建:

(2.1)首先,我们肯定要先下载dubbo的服务注册中心,我们这里选择zookeeper,去官网下载 zookpeeper.

下载好解压后,打开conf文件夹,复制一份zoo_sample.cfg并重命名为zoo.cfg。

zookeeper会自动选择这个配置文件。这个文件里面的dataDir   和dataLogDir参数分别代表数据存储文件夹地址和日志存储地址,要修改可以在这里配置。

如果我们要启动这个zookeeper服务,进入bin文件夹,启动zkServer.cmd就行了。

 

 

 

(3)dubbo的搭建

如图,项目结构:

我这里总共有一个父级maven项目,三个子级别maven项目。

Dubbo_Consumer是服务消费者方

Dubbo_Provider是服务提供者方

Dubbo_Provider是服务提供方提供的服务接口项目。

(3.1)Dubbo_Provider的配置

Dubbo_Provider的pom.xml文件如下:主要依赖服务提供方提供的服务接口项目

下面是它提供的服务:

Dubbo_Provider的用Spring配置声明服务 。

最后启动服务提供者(前提是启动了zookeeper注册中心,服务才能发布到这里):

(3.2)Dubbo_Consumer的配置

dubbo_consumer服务消费方的pom.xml配置:

dubbo_consumer服务消费方的spring配置

然后启动服务消费方,并调用服务:

 

总结:他们的执行顺序:zookeeper –> dubbo_provider –> dubbo_consumer.

这些子项目都直接使用父项目的依赖,父项目的依赖为:

 

<dependency>
    <groupId>org.springframework</groupId>
    <artifactId>xxxxx</artifactId>
    <version>xxx</version>
</dependency>

。。。。。。。。(一些spring依赖,下面是dubbo+zookeeper开发的一些依赖)

<!--在spring配置文件使用需要这个包-->
<dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.5.3</version>
</dependency>

<!--zookeeper注册中心的导包-->
<dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
</dependency>
<dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.7</version>
</dependency>

 

 

(4)dubbo-admin的搭建

它是一个dubbo项目。用于提供可视化管理dubbo服务。

(4.1)首先得下载dubbo-admin.war。 链接:dubbo-admin.war下载地址  提取码:9a5i 

(4.2)丢到tomcat下直接跑起来。

 

(4.3)我电脑tomcat端口为80,所以浏览器输入http://127.0.0.1:80/dubbo admin 2.5.4,然后出现下面:


记得,默认账号: root 密码:root

最终如下:

 

 

赠言:为什么dubbo-admin可以查看到发布到zookeeper的服务呢?默认dubbi-admin配置如下:

,所以dubbo-admin直接在这注册地址查看,你也可以修改为其他的。路径为dubbo-admin项目下的web-inf目录下的

dubbo.properties文件。

  • 0
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值