Apache Dubbo 是一款高性能、轻量级的开源 Java RPC服务框架
Apache Dubbo |ˈdʌbəʊ| 提供了六大核心能力:
1、面向接口代理的高性能RPC调用
2、智能容错和负载均衡
3、服务自动注册和发现
4、高度可扩展能力
5、运行期流量调度
6、可视化的服务治理与运维
Dubbo官网 https://dubbo.apache.org/zh/
RPC: 一个远程过程调用的抽象,支持负载均衡、容灾和集群功能
Registry: 服务目录框架用于服务的注册和服务事件发布和订阅
Dubbo基本架构
服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用
注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
Dubbo支持多种协议:dubbo , hessian , rmi , http, webservice , thrift , memcached , redis
dubbo 官方推荐使用 dubbo 协议;dubbo 协议默认端口 20880
使用 dubbo 协议,spring 配置文件加入:
<dubbo:protocol name="dubbo" port="20880" />
1、创建接口模块
创建普通maven模块
创建实体类对象
创建一个接口类
2、创建服务提供者模块
创建一个springboot模块,pom.xml引入dubbo,zookeeper,接口依赖
application.yml配置文件配置dubbo的服务提供者应用名称,以及扫描包,注册中心
实现服务接口
启动类中启用Dubbo
3、创建消费者模块
创建一个springboot模块,pom.xml文件依赖
application.yml配置dubbo
controller中引用远程服务
启动类上启用dubbo
先启动服务提供者 service-provider;再启动消费者consumer
这里会报一个错:
原因:日志依赖 SLF4j 多次加入了;只需要依赖一次即可
因此在服务者和消费者pom.xml依赖中需要加入过滤
启动zookeeper服务,再重新运行提供者,消费者,测试结果如下:
zookeeper介绍如下:
Zookeeper是Apache下一个高性能的,分布式的,开放源码的分布式应用程序协调服务。简称 zk
ZooKeeper主要服务于分布式系统,可以用ZooKeeper来做:统一配置管理、统一命名服务、分布式锁、集群管理
ZooKeeper官网
Apache ZooKeeper
注:
Zookeeper 运行需要 java 环境
(一)Windows下安装ZooKeeper
1、zookeeper官网
Apache ZooKeeper
Apache ZooKeeper
2、下载之后解压到目标路径即可
(二)zoo.cfg配置文件
1、进入conf目录下,复制 zoo_sample.cfg文件,并将其改名为 zoo.cfg
2、修改zoo.cfg 配置文件
配置文件主要参数如下:
进入到 bin 目录下,点击 zkServer.cmd
或者 在 bin 目录下 输入 “cmd”命令
看到绑定成功即可
版权声明:
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。
如若内容造成侵权、违法违规、事实不符,请将相关资料发送至xkadmin@xkablog.com进行投诉反馈,一经查实,立即处理!
转载请注明出处,原文链接:https://www.xkablog.com/te-xn/70492.html