侧边栏壁纸
博主头像
coydone博主等级

记录学习,分享生活的个人站点

  • 累计撰写 306 篇文章
  • 累计创建 51 个标签
  • 累计收到 0 条评论

目 录CONTENT

文章目录

Dubbo概述及搭建

coydone
2022-06-01 / 0 评论 / 0 点赞 / 273 阅读 / 2,124 字 / 正在检测是否收录...
温馨提示:
本文最后更新于 2022-04-27,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

Dubbo概述

Dubbo定义

Dubbo是一个分布式服务框架(SOA:面向服务的体系结构),其前身是阿里巴巴开源项目Dubbo ,被国内电商及互联网项目中使用,后期阿里巴巴停止了该项目的维护,并将项目捐给了Apache,停更之后又开始维护。当当网在 Dubbo 基础上进行优化,并继续维护,为了与原有的Dubbo区分,故将其命名为Dubbox。

Dubbo 致力于提供高性能和透明化的 RPC 远程服务调用方案,以及 SOA 服务治理方案。简单的说,Dubbo 就是个服务框架,如果没有分布式的需求,其实是不需要用的,只有在分布式的时候,才有 Dubbo 这样的分布式服务框架的需求,并且本质上是个服务调用的东西,说白了就是个远程服务调用的分布式框架。

官网:http://dubbo.apache.org/zh-cn/。

Dubbo的作用

最简单直接的说法就是:Dubbo 本身是一个程序,在开发中作为Jar包供我们使用,Dubbo 为我们做的就是根据服务的url去调用服务(基于rpc协议的调用)。透明化的远程方法调用,就像调用本地方法一样调用远程方法。

Dubbo架构

服务提供者(Provider):暴露服务的服务提供方,服务提供者在启动时,向注册中心注册自己提供的服务。

服务消费者(Consumer):调用远程服务的服务消费方,服务消费者在启动时,向注册中心订阅自己所需的服务,服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

注册中心(Registry):注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

监控中心(Monitor):服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

调用关系说明

  • 服务容器负责启动,加载,运行服务提供者。

  • 服务提供者在启动时,向注册中心注册自己提供的服务。

  • 服务消费者在启动时,向注册中心订阅自己所需的服务。

  • 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心将基于长连接推送变更数据给消费者。

  • 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,再选另一台调用。

  • 服务消费者和提供者,在内存中累计调用次数和调用时间,定时每分钟发送一次统计数据到监控中心。

搭建Dubbo环境

Windows下

1、配置Java环境变量。

2、安装Zookeeper。

3、安装Dubbo服务治理(dubbo-admin)。

下载地址:https://github.com/apache/dubbo-admin/tree/master。

修改dubbo-admin配置

在dubbo-admin目录下:src/main/resources下有一个application.xml文件,指定Zookeeper的地址。

进入dubbo-admin目录,使用Maven的命令打包项目:mvn package

在target目录下会有一个打包好的Jar包,在target目录下打开cmd窗口,使用java -jar dubbo-admin-0.0.1-SNAPSHOP.jar命令运行Jar包。

访问dubbo-admin页面:(默认使用root/root 登陆)

Linux下

前提条件需要有Java的环境、Zookeeper的环境。

#将打包好的jar包上传
mkdir /usr/local/dubbo-admin
cd /usr/local/dubbo-admin
java -jar dubbo-admin-0.0.1-SNAPSHOP.jar

安装Dubbo的监控中心

找到之前下载好的 dubbo-admin 里面的 dubbo-monitor-simple 项目,这不是Dubbo环境所必须的,只是使用可视化的监控页面方便我们管理。

修改配置指定注册中心地址,进入 dubbo-monitor-simple\src\main\resources\conf,修改 dubbo.properties文件。

使用mvn package打包dubbo-monitor-simple,解压 tar.gz 文件,并运行start.bat。如果缺少servlet-api,自行导入servlet-api再访问监控中心。然后启动访问8080端口。

监控中心配置

所有服务配置连接监控中心,进行监控统计。

<!-- 监控中心协议,如果为protocol="registry",表示从注册中心发现监控中心地址,否则直连监控中心 -->
<dubbo:monitor protocol="registry"></dubbo:monitor>

监控中心默认每分钟分同步一次消费者和提供者的数据。如果没有消费者。也没有提供者那么就只能看到simple-monitor它自己这么一个提供者的项目。

Simple Monitor 挂掉不会影响到 Consumer 和 Provider 之间的调用,所以用于生产环境不会有风险。

Simple Monitor 采用磁盘存储统计信息,请注意安装机器的磁盘限制,如果要集群,建议用mount共享磁盘。

0

评论区