dubbo框架四大组件概述

   我们在选择微服务框架时,除了我们的spring_cloud外,还有其中一款,高性能的框架就是dubbo。dubbo框架是由我们的阿里巴巴开发,最后交给Apache基金会。dubbo+zookeeper仍然具有服务注册,面向接口的方法调用,智能容错,负载均衡的功能,我们就讲解一下dubbo框架的组件作用。

 

  一:dubbo架构图:

 

 

 

 

.节点角色说明

1、Container:服务运行容器,只启动一次

2、Provider:服务提供者

3、Registry:服务注册与发现的注册中心

4、Consumer:服务消费者

5、Monitor:统计服务的调用次数和调用时间的监控中心

.调用关系说明以及次序

0、服务容器负责启动,加载,运行服务提供者。

1、服务提供者在启动时,向注册中心注册自己提供的服务。

2、服务消费者在启动时,向注册中心订阅自己所需的服务。

3、注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

4、服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

5、服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

 

注册中心:

1、进入zookeeper目录,创建一个data目录

2、进入配置conf目录,把zoo.cfg文件的data属性(修改属性之前,自己先备份一份),改为自己刚刚创建的·data文件的绝对路径

zookeeper常用命令:进入Zookeeper的bin目录,

启动服务命令 ./zkServer.sh start

停止服务命令 ./zkServer.sh stop

查看服务状态: ./zkServer.sh status

客户端连接 ./zkCli.sh

 

 

服务提供者(具体的服务就不实现了):

 配置文件需要我们注意的地方:

 1     <!-- 提供方应用信息,用于计算依赖关系 -->
 2     <dubbo:application name="dubbo-provider" />
 3 
 4     <!-- 使用zookeeper注册中心暴露服务地址 -->
 5     <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
 6 
 7     <!-- 用dubbo协议在20880端口暴露服务 -->
 8     <dubbo:protocol name="dubbo" port="20880" />
 9         
10     <!-- 用户服务接口 -->
11     <dubbo:service interface="com.mk.interfaceProvider.service.UserService" ref="userService" />
12     
13     <bean id="userService" class="com.mk.interfaceProvider.service.UserServiceImpl" />

 

服务消费者

  配置文件需要我们注意的地方:

    <!-- 消费方应用名,用于计算依赖关系,不是匹配条件,不要与提供方一样 -->
    <dubbo:application name="dubbo-consumer" />

    <!-- 使用zookeeper注册中心暴露服务地址 -->
    <!-- 注册中心地址 -->
    <dubbo:registry protocol="zookeeper" address="127.0.0.1:2181" />
    
    <!-- 用户服务接口 -->
    <dubbo:reference interface="com.mk.interfaceProvider.service.UserService" id="userService" check="false" />

 

 

以上就是学习自己dubbo的一些总结

posted @ 2021-10-21 09:51  kunmin  阅读(1131)  评论(0编辑  收藏  举报