工作中曾经使用Dubbo作为微服务管理框架,最近闲来无事重温了一下Dubbo以及SpringBoot的结合使用,于是写下这篇博客记录一下自己一些理解,这里由于自身水平有限,因此只是简单介绍了使用方法,而对于原理部分不进行深入探讨。
目录
Dubbo简介
根据百度百科的解释,Dubbo是阿里巴巴开源的高性能Java RPC框架,Dubbo提供了三大核心能力:面向接口的远程方法调用,智能容错和负载均衡,以及服务自动注册和发现。
在Dubbo的官网上,找到的Dubbo结构图:
此图的文字描述如下:
0.start 服务容器负责启动,加载,运行服务提供者。
1.register 服务提供者在启动时,向注册中心注册自己提供的服务。
2.subscribe 服务消费者在启动时,向注册中心订阅自己所需的服务。
3.notify 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。
4.invoke 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。
5.count 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。
Dubbo与SpringBoot的结合
Dubbo可以使用的注册中心有多种,我们这里介绍ZooKeeper作为注册中心如何和SpringBoot结合。
配置ZooKeeper
由于是简单使用,这里我们直接介绍单机使用方式.首先从网上下载ZooKeeper,解压到我们的任意目录下。在解压缩的目录将conf/zoo-sample.cfg重命名为zoo.cfg,然后打开zoo.cfg,进行配置文件修改。由于我们是单机使用方式,因此这里只是添加了dataDir来指定存储数据文件夹