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

Dubbo简介和注册中心Zookeeper_第1张图片
节点 角色名称
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 系统。
这里用自己的阿里云服务器,你可以自己装个虚拟机。

阿里云服务器-服务器的购买和相关配置连接和宝塔的使用
Dubbo简介和注册中心Zookeeper_第2张图片

第二步 解压缩压缩包

tar -zxvf zookeeper-3.4.6.tar.gz

Dubbo简介和注册中心Zookeeper_第3张图片
第三步进入zookeeper-3.4.6目录,创建data目录

mkdir data

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

    cd conf
​	mv zoo_sample.cfg zoo.cfg

Dubbo简介和注册中心Zookeeper_第4张图片
第五步 打开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启动

Dubbo简介和注册中心Zookeeper_第5张图片
和linux系统一样的配置,注意路径修改成windows系统的路径
Dubbo简介和注册中心Zookeeper_第6张图片
双击这个cmd即可。
Dubbo简介和注册中心Zookeeper_第7张图片
netstat -ano |findstr 2181

3. Dubbo快速入门

3.1 服务提供方开发

pom.xml

  
  <dependency>
    <groupId>com.alibabagroupId>
    <artifactId>dubboartifactId>
    <version>2.6.0version>
  dependency>
  <dependency>
    <groupId>org.apache.zookeepergroupId>
    <artifactId>zookeeperartifactId>
    <version>3.4.7version>
  dependency>
  <dependency>
    <groupId>com.github.sgroschupfgroupId>
    <artifactId>zkclientartifactId>
    <version>0.1version>
  dependency>
  <dependency>
    <groupId>javassistgroupId>
    <artifactId>javassistartifactId>
    <version>3.12.1.GAversion>
  dependency>
  <dependency>
    <groupId>com.alibabagroupId>
    <artifactId>fastjsonartifactId>
    <version>1.2.47version>
  dependency>

然后在spring的xml文件


<dubbo:application name="health_service_provider"/>

<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" />

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

你可能感兴趣的:(SSM+VUE项目(传智健康),分布式,dubbo,java-zookeeper,zookeeper)