Dubbo简介和注册中心Zookeeper

之前学习了SpringCloud全家桶,一站式解决方案
SpringCloud从入门到入土

服务网关------Netflix Zuul
服务注册与发现------Netflix Eureka
客户端负载均衡------Netflix Ribbon 服务端负载均衡-----Feign
断路器------Hystrix
分布式配置------Spring Cloud Config

基本上对于微服务的注册发现和远程调用都有解决方案。
但是最近在SSM项目,传智健康,这一套解决方案只能针对SpringBoot,所以Dubbo+Zookeeper还是需要学习的。
2021年阿里巴巴重新启动Dubbo,将来会不会重放光彩我们拭目以待。

1.简介

Apache Dubbo是一款高性能的Java RPC框架。其前身是阿里巴巴公司开源的一个高性能、轻量级的开源Java RPC框架,可以和Spring框架无缝集成。
Dubbo官网地址:官网地址

Dubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

在这里插入图片描述
节点 角色名称
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Provider 暴露服务的服务提供方
Container 服务运行容器

2.服务注册中心Zookeeper

上面介绍的Dubbo相当于和SpringCloud比较,一个RPC框架,只不过SpringCloud是一站式解决方案,不仅仅是rpc框架,Dubbo是专精rpc框架
Zookeeper就相当于Eureka和nacos,用于服务的注册和发现。

2.1 安装

下载地址:下载地址
直接去我的资源下载 Zookeeper
前提你得安装了jdk
第一步 把 zookeeper 的压缩包(zookeeper-3.4.6.tar.gz)上传到 linux 系统。
这里用自己的阿里云服务器,你可以自己装个虚拟机。

阿里云服务器-服务器的购买和相关配置连接和宝塔的使用
在这里插入图片描述

第二步 解压缩压缩包

tar -zxvf zookeeper-3.4.6.tar.gz

在这里插入图片描述
第三步进入zookeeper-3.4.6目录,创建data目录

mkdir data

在这里插入图片描述
第四步:进入conf目录 ,把zoo_sample.cfg 改名为zoo.cfg

    cd conf
​	mv zoo_sample.cfg zoo.cfg

在这里插入图片描述
第五步 打开zoo.cfg文件, 修改data属性:dataDir=/home/zookeeper-3.4.6/data
当然你复制到哪就写哪

vim zoo.cfg

2.2 启动

进入Zookeeper的bin目录,启动服务命令

 ./zkServer.sh start

停止服务命令

./zkServer.sh stop

查看服务状态:

./zkServer.sh status

2.3 windows启动

在这里插入图片描述
和linux系统一样的配置,注意路径修改成windows系统的路径
在这里插入图片描述
双击这个cmd即可。
在这里插入图片描述
netstat -ano |findstr 2181

3. Dubbo快速入门

3.1 服务提供方开发

pom.xml

  <!-- dubbo相关 -->
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>dubbo</artifactId>
    <version>2.6.0</version>
  </dependency>
  <dependency>
    <groupId>org.apache.zookeeper</groupId>
    <artifactId>zookeeper</artifactId>
    <version>3.4.7</version>
  </dependency>
  <dependency>
    <groupId>com.github.sgroschupf</groupId>
    <artifactId>zkclient</artifactId>
    <version>0.1</version>
  </dependency>
  <dependency>
    <groupId>javassist</groupId>
    <artifactId>javassist</artifactId>
    <version>3.12.1.GA</version>
  </dependency>
  <dependency>
    <groupId>com.alibaba</groupId>
    <artifactId>fastjson</artifactId>
    <version>1.2.47</version>
  </dependency>

然后在spring的xml文件

<!-- 指定应用名称 -->
<dubbo:application name="health_service_provider"/>
<!--指定暴露服务的端口,如果不指定默认为20880-->
<dubbo:protocol name="dubbo" port="20887"/>
<!--指定服务注册中心地址-->
<dubbo:registry address="zookeeper://127.0.0.1:2181"/>
<!--批量扫描,发布服务-->
<dubbo:annotation package="com.liu.service"/>

3.2 服务消费方

  <!-- 指定应用名称 -->
    <dubbo:application name="health_backend" />
    <!--指定服务注册中心地址-->
    <dubbo:registry address="zookeeper://127.0.0.1:2181"/>
    <!--批量扫描-->
    <dubbo:annotation package="com.liu.controller" />

实际应用项目实战在看吧,这里只是介绍简单的配置

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值