27.1 Dubbo
什么是 Dubbo
Apache Dubbo 是一款高性能、轻量级的开源 Java RPC 框架,它提供了 三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
Dubbo 采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置就完事了。Dubbo 基于 Spring 的 Schema 扩展进行加载。
Provider(服务提供者):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。
Consumer(服务消费者):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台钓调用。
Registry(注册中心):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长链接推送变更数据给消费者。
Monitor(监听中心):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
调度说明:
服务容器负责启动,加载,运行服务提供者
服务提供者在启动时,向注册中心注册自己提供的服务
服务消费者在启动时,向注册中心订阅自己 所需的服务
注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
服务消费者,从提供者地址列表中,基于 软负载均衡算法,选 一台提供者进行调用,如果调用失败,再 选另一台调用。
服务消费者和提供者,在内存中 累计 调用次数 和 调用时间,定时 每分钟 发送一次统计 数据 到 监控中心。
27.2 Zookeeper 下载和安装
双击 后,可能 遇到 一个 很常见的问题: 闪退!
解决方案:编辑 zkServer.cmd 文件末尾处添加 pause。
紧接着 又报错,说是 没有 zoo.cg
这个文件
解决方案:在 conf
目录下,创建 zoo_sample.cfg
的副本,然后改名为 zoo.cfg
这不就是个 配置文件嘛。。端口号 是 2181
如果这个 地方 是 disabled,那么 就 在 zoo.cfg 中 添加
audit.enable=true
并且 在 zkServer.cmd
中 %JAVA%
后面 添加
"-Dzookeeper.audit.enable=true"
打开 zkCli.cmd 客户端进行 测试
ls / 查看 根目录下的 zookeeper 节点,对于 它来说,目录 就是 节点。
创建 一个 临时 目录/节点:create -e /mqy 123
拿到 节点下面的值/数据:get /节点名
27.3 Dubbo-admin 安装和测试
- 在项目目录下 打包
dubbo-admin
mvn clean package -Dmaven.test.skip=true
- 开启 zookeeper,然后 运行 这个 Jar 包
3. 访问 http://localhost:7001/
默认的用户名和密码均为:root
Dubbo-admin:是一个 监控管理后台,可以查看我们 注册了哪些 服务,哪些服务被消费了 等等 …… 这玩意 可有可无。