概念介绍
Dubbo是一款高性能、轻量级的开源Java RPC框架,采用全 Spring 配置方式,透明化接入应用,对应用没有任何 API 侵入,只需用 Spring 加载 Dubbo 的配置即可。它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
Dubbo提供的服务:
1.注册与发现
Dubbo使用zookeeper做服务的注册中心,就是服务的提供者以临时节点的形式将服务Server信息注册保存到Zookeeper的dubbo目录下的provider的节点下,供消费者发现调用。
2.负载均衡
Dubbo支持负载均衡策略,就是同一个Dubbo服务被多台服务器启用后,会在在Zookeeper提供者节点下显示多个相同接口名称节点。消费者在调用Dubbo负载均衡服务时,采用权重的算法策略选择具体某个服务器上的服务,权重策略以*2倍数设置。
3.容错机制
Dubbo的提供者在Zookeeper上使用的是临时节点,一旦提供者所在服务挂掉,该节点的客服端连接将会关闭,故节点自动消失。所以消费者调用接口时将不会轮询到已经挂掉的接口上(延迟例外)。
4.监控中心
监控中心主要是用来服务监控和服务治理。服务治理包含:负载均衡策略、服务状态、容错、路由规则限定、服务降级等。
ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。
Zookeeper安装
用docker进行安装
docker pull zookeeper
运行zookeeper
docker run --name zk01 -p 2181:2181 --restart always -d zookeeper
输入docke