dubbo & zookeeper学习

dubbo

dubbo的架构

节点角色说明:
节点 角色名称

Provider 暴露服务的服务提供方
Consumer 调用远程服务的服务消费方
Registry 服务注册与发现的注册中心
Monitor 统计服务的调用次数和调用时间的监控中心
Container 服务运行容器
虚线都是异步访问,实线都是同步访问 蓝色虚线:在启动时完成的功能 红色虚线(实线)都是程序运行过程中执行的功能

调用关系说明:

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

流程说明:

服务提供者(Provider)启动时: 向 /dubbo/com.foo.BarService/providers 目录下写入自己的URL 地址

服务消费者(Consumer)启动时: 订阅 /dubbo/com.foo.BarService/providers 目录下的提供者URL 地址。并向 /dubbo/com.foo.BarService/consumers 目录下写入自己的 URL 地址

监控中心(Monitor)启动时: 订阅 /dubbo/com.foo.BarService 目录下的所有提供者和消费者URL 地址

安装 zookkper

下载地址:http://archive.apache.org/dist/zookeeper/

在虚拟机中安装 jdk
解压缩 下载好的安装包 tar -zxvf zookeeper-3.4.6.tar.gz -C 要存放的位置
进入 zookkper 的目录下 创建一个 data 文件夹 命令: mkdir data
进入 zookkper 的conf 目录下 如 /root/apps/zookeeper-3.4.6/conf
如下:

复制一份配置文件

cp zoo_sample.cfg zoo.cfg

编辑配置文件

vim zoo.cfg

在 zoo.cfg 配置文件中找到 dataDir 修改成下面内容 data目录修改成自己的目录

dataDir = /root/apps/zookeeper-3.4.6/data
启动和停止 zookkper

进入 zookkper 的 bin 目录
启动 zookkper

./zkServer.sh start

停止 zookkper

./zkServer.sh stop

查看服务状态

./zkServer.sh status

客户端链接

./zkCli.sh
Dubbo 初识
服务提供方
创建一个空工程 添加一个 maven model 这个model 叫 provider

在 pom.xml 文件中添加以下内容
配置web.xml
创建服务接口
创建服务实现类
在src/main/resources下创建applicationContext-service.xml
服务消费者
创建 maven 工程 dubbo_consumer , pom.xml和上面相同,修改 tomcat 插件的端口号为 8082即可

配置 web.xml 文件
将 上面服务提供者的 Helloservice 接口复制到当前工程的 service 目录下

编辑 controller
在 src/main/resources 下创建 applicationContext-web.xml
Dubbo 配置说明

包扫描

<dubbo:annotation package=“com.jsj.controller” />

服务提供者和服务消费者都需要配置,表示包扫描,作用是扫描指定包(包括子包)下的类。
如何不配置 包扫描 也可以使用下面形式发布服务.


<dubbo:service interface=“com.jsj.service.HelloService” ref=“helloService” protocol=“dubbo”></dubbo:service>

消费者可以使用以下引用服务

<dubbo:reference id=“helloSerive” interface=“com.jsj.service.HelloService”></dubbo:reference>
负载均衡
配置 负载均衡策略 ,,既可以在服务提供者一方配置,也可以在服务消费者一方配置

服务消费方配置负载均衡策略
服务调用方配置负载均衡策略

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值