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的一些总结