Dubbo 及Dubbo-Admin部署

dubbo-admin部署

Dubbo历史

Dubbo原是阿里巴巴内部的分布式框架,于2012年开源,众多互联网公司开始使用,当当扩展出DubboX版本,网易拓展出DubboK版本;在2014年10月停更,当时停留在2.4.11版本.但2017年随着SpringCloud的火热,阿里巴巴在2017年9月重启Dubbo并于2018年捐献给了apache,捐献时停留在2.6.x版本,此后一直处于修补漏洞阶段,阿里巴巴最近一次更新是2021年12月,发布了2.6.12版本,所以现在看到的大都是Apache Dubbo,目前最新的版本为3.0.10


官方Dubbo简介

Apache Dubbo 是一款 RPC 服务开发框架,用于解决微服务架构下的服务治理与通信问题,官方提供了 Java、Golang 等多语言 SDK 实现。使用 Dubbo 开发的微服务原生具备相互之间的远程地址发现与通信能力, 利用 Dubbo 提供的丰富服务治理特性,可以实现诸如服务发现、负载均衡、流量调度等服务治理诉求。Dubbo 被设计为高度可扩展,用户可以方便的实现流量拦截、选址的各种定制逻辑。


Dubbo特性

高性能的 RPC 通信协议: RPC 通信对用户来说是完全透明的,使用者无需关心请求是如何发出去的,发到了哪里,每次调用只需要拿到正确的调用结果.
自动服务(地址)发现:可以让微服务之间可以独立演进并人已部署,消费端可以在无感知服务端部署位置和ip地址的情况下完成通信.Dubbo官方推荐使用 Zookeeper 做为注册中心
运行态流量管控:当需要对流量进行更丰富,更细粒度的管控时,就可以用到Dubbo的流量管控策略,Dubbo提供了负载均衡,流量路由,请求超时,流量降级,重试等策略,还支持包括金丝雀发布(灰度发布)、A/B测试、权重路由、同区域优先等,同时Dubbo支持流控策略在运行态动态生效,无需重新部署.
丰富的扩展组件及生态:可适配更多的周边设施.


Dubbo处理流程

在这里插入图片描述

节点说明:

Provider: 暴露服务的服务提供方
Consumer: 调用远程服务的消费方
Registry: 服务注册与发现的注册中心
Monitor: 统计服务的调用次数和调用时间的监控中心 -> 非必要,可不配置
Container: 服务运行容器,负责启动,加载,运行服务提供者

调用流程:
  1. 服务方在启动时,向注册中心注册自己的服务.
  2. 服务消费者在启动时,向注册中心订阅自己所需的服务.
  3. 注册中心返回服务提供者地址列表给消费者,如果有变更,注册中心会基于长链接推送变更数据给消费者.
  4. 服务消费者,从提供者地址列表中,基于软负载均衡算法,选一台提供者进行调用,如果调用失败,则重新选择一台.
  5. 服务提供者和消费者,在内存中的调用次数和调用时间,每分钟会发送给监控中心

dubbo-admin部署

首先前往github下载最新的zip包(0.3.0)->点击跳转
下载后解压,因为最新版的admin采用的前后端分离的形式,所以需要先进行如下配置.

打开 dubbo-admin-master\dubbo-admin-server\src\main\resources 包下的application.properties 配置文件并修改

//修改为对应的zookeeper ip和端口,如果本地运行zookeeper则无需修改
admin.registry.address=zookeeper://192.168.171.128:2181
admin.config-center=zookeeper://192.168.171.128:2181
admin.metadata-report.address=zookeeper://192.168.171.128:2181
//老版本的dubbo-admin默认端口为7001,新版本为8080,建议修改下 -> 注意前端配置也需对应修改
server.port=8082
如果jdk为8以上则需要将jdk降为8,或者在pom中加入以下jar
<dependency>
    <groupId>javax.xml.bind</groupId>
    <artifactId>jaxb-api</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-impl</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>com.sun.xml.bind</groupId>
    <artifactId>jaxb-core</artifactId>
    <version>2.3.0</version>
</dependency>
<dependency>
    <groupId>javax.activation</groupId>
    <artifactId>activation</artifactId>
    <version>1.1.1</version>
</dependency>

返回 dubbo-admin-master\dubbo-admin-server ,cmd进行打包

//动态打成jar并忽略test测试
mvn clean package -Dmaven.test.skip=true

*注意要先运行zookeeper,如果linux先查看防火墙 ,命令-> system status firewalld
进入target运行jar

java -jar dubbo-admin-server-0.3.0

接下来打开 dubbo-admin-master\dubbo-admin-ui 包下的 vue.config.js 配置文件并修改

module.exports = {
  outputDir: "target/dist",
  lintOnSave: "warning",
  devServer: {
    //dubbo-admin 前台地址
    port: 8081,
    historyApiFallback: {
      rewrites: [
        {from: /.*/, to: path.posix.join('/', 'index.html')},
      ],
    },
    publicPath: '/',
    proxy: {
      '/': {
      	// 和 application.properties 设置的端口一致,也就是后端的端口
        target: 'http://localhost:8082/',
        changeOrigin: true,
        pathRewrite: {
          '^/': '/'
        }
      }
    }
  }

打开cmd,打包并运行前端项目

npm install
npm run dev

在这里插入图片描述

打开 localhost:8081 登录,默认用户名密码都是root
在这里插入图片描述


其他章节 -> 跳转

end...
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

s_wei_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值