Dubbo建议使用Zookeeper作为服务的注册中心。
本篇主要记录:
1.dubbo和zookeeper的基本知识
2.zookeeper的安装和dubbo控制台的搭建

一、dubbo简介

1.Apache Dubbo: 是一款高性能、轻量级的开源Java RPC框架,它提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。

2.本质:jar包 分布式框架 远程服务调用的分布式框架。

3.dubbo的目的:以前,web层和service层都在一个服务器,直接调用方法处理业务。现在,由于需求的扩增对原来的项目结构进行拆分,拆分成多个业务服务模块,部署在不同的服务器上以提示系统的性能(采用分布式)。在分布式框架下,web层调用service层的服务变成了远程调用,而dubbo就是用来解决如何像调用本地方法一样调用远程的方法。

4.dubbo的好处:
①透明化的远程方法调用,就像调用本地方法一样调用远程方法,只需简单配置,没有任何API侵入。
②软负载均衡及容错机制,可在内网替代F5等硬件负载均衡器,降低成本,减少单点。
③服务自动注册与发现,不再需要写死服务提供方地址,注册中心基于接口名查询服务提供者的IP地址,并且能够平滑添加或删除服务提供者。
Dubbo采用全Spring配置方式,透明化接入应用,对应用没有任何API侵入,只需用Spring加载Dubbo的配置即可,Dubbo基于Spring的Schema扩展进行加载。

5.dubbo架构图
Dubbo与zookeeper基础
四种角色
①服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。
②服务消费者(Consumer): 调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
③注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者
④监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心
调用关系说明:
0 - 服务容器负责启动,加载,运行服务提供者。
1- 服务提供者(生产者)在启动时,向注册中心注册自己提供的服务。
2-服务消费者在启动时,向注册中心订阅自己所需的服务。
3-注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4- 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选 另一台调用。
5-服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心

参考:https://www.cnblogs.com/a8457013/p/7818925.html
dubbo官网: http://dubbo.apache.org/en-us/

二、Zookeeper简介及安装

1.zookeeper是一个分布式服务框架,主要用来解决分布式应用中的数据管理问题,主要由文件系统和监听通知机制构成。
2.zookeeper的安装分为三种模式:单机模式、集群模式和伪集群模式。以下是windows下zookeeper的单机模式安装。
①下载zk https://mirrors.cnnic.cn/apache/zookeeper/
②安装zookeeper
解压下载的zk包,在conf文件下复制 zoo_sample.cfg(配置的样例)命名为 zoo.cfg。
修改参数:
Dubbo与zookeeper基础
③启动服务
在bin目录下运行zkServer.cmd可启动服务,运行zkCli.cmd可连接本机已启动的zk进程。
Dubbo与zookeeper基础
Dubbo与zookeeper基础

三、搭建管理控制台dubbo-admin

可使用springboot整合的dubbo-admin安装,启动jar或执行main即可
1.下载dubbo-admin
github: https://github.com/apache/dubbo/tree/dubbo-2.6.0(dubbo-2.6.1以后的版本没有dubbo-admin)
Dubbo与zookeeper基础
2.解压打包dubbo-admin(war包)
进入dubbo-admin文件夹,在dos下,执行mvn package -Dmaven.skip.test=true
打包成功后会在target目录下出现war包
Dubbo与zookeeper基础
Dubbo与zookeeper基础

3.将war包部署到tomcat复制war包到tomcat的webapps目录下,启动zk服务端再启动tomcat,进入 http://localhost:8280/dubbo-admin-2.6.0/登录
注:①默认端口会被zk占用,修改端口号即可
②dubbo-admin的默认账号密码都为root(在dubbo.properties中有root和guest两个账号)
Dubbo与zookeeper基础
登录成功
Dubbo与zookeeper基础

相关文章: