dubbo详解-实操-待完成

dubbo深入学习

RPC简介
  • 影响性能的主要俩点: 通信和序列化反序列化,远程方法调用。
DUBBO概念
  • 面向接口代理的高性能的RPC调用:像调用本地方法一样调用远程服务
  • 智能负载均衡:实现流量均衡
  • 服务注册与发现:一般配合zk,比如dubbo怎么知道所调用的服务在哪台服务器上,所有的服务都注册到zk上dubbo会询问zk我要调用的这个服务在哪个节点上然后zk返回在哪几个服务器,然后dubbo进行调用目标服务
  • 高度可扩展能力:dubbo是基于微内核和插件的设计原则
  • 运行期间流量调度:给指定ip给予少量流量可实现灰度发布
  • 可视化的服务治理与维护:运维工具,查询服务元数据,服务健康状态,实时下发路由策略等
设计架构

在这里插入图片描述

  1. Provider:服务提供者相当于我们的后端服务,相当于被调用方
  2. Consumer:服务消费者相当于我们的调用方
  3. Container:dubbo框架容器
  4. Monitor:监控中心
  • 详解:容器启动服务提供者会将自己提供的信息注册到注册中心里,消费者启动就会从注册中心订阅所需要的服务,某一个服务提供者下线了 注册中心和消费者通过长连接的方式告知消费者,消费者根据负载均衡算法调用此时已知在线的提供者,服务之间的调用信息比如时间调用地址会定期向Monitor提交
环境搭建
zookeeper注册中心搭建
  • 打开dubbo官网 打开 zookeeper 参考文档,然后打开zk官网下载zk安装包 我们下载zookeeper-3.4.11版本然后在本地解压在这里插入图片描述

在这里插入图片描述

在这里插入图片描述

然后运行bin目录下的zkServer.cmd 启动成功后运行zkCli.cmd

在这里插入图片描述

至此zk已经准备完毕!

管理控制台环境搭建Monitor
  • 下载 dubbo-admin 项目然后解压,可以用idea打开也可以不用打开,因为后续会全局替换所以我用idea打开,可能加载外部依赖有点慢没事可以做别的事等等它!!!!

    1. 进入dubbo-admin-ui目录,当前目录下打开cmd,如果是在C盘用管理员打开cmd,然后输入:npm install 和npm run dev在这里插入图片描述

    2. 然后最重要的一步切记,如果本地8080端口被占用,则需要修改dubbo-admin-server下resources的application.properties打开添加server.port=8081在这里插入图片描述

    3. 如果改了端口还需要在idea中全局更改前端ui调用的端口因为默认实8080所以我们在idea中全局替换,然后重新执行第一步在这里插入图片描述

    4. 进入dubbo-admin-server目录,当前目录打开cmd,输入以下命令:mvn install -Dmaven.test.skip=true在这里插入图片描述

    5. 进入dubbo-admin-server/target目录将刚刚打包后的jar包运行在这里插入图片描述

    6. 然后访问 http://localhost:8082/ 输入root root在这里插入图片描述
      在这里插入图片描述

  • 最终成功示例
    在这里插入图片描述
    **

至此我们简单的注册中心和监控中心就搭建起来了,后续的提供者和消费者可以自己搞下接下来我们搞点荤的!!!

**

dubbo调用原理
  • 在这里插入图片描述
  1. 服务提供者启动然后需要将接口和ip+port注册到注册中心,然后在本地注册也就是将服务名称(方法名)对应的实现类类名保存内存中,然后暴漏启动服务启动tomcat或者nettyserver
  2. 服务消费者启动拉取注册中心的服务提供者信息缓存到本地,然后通过watch实时监听提供者信息动态变化,获取代理对象调用提供者方法 通过服务名称也就是方法名获取到ip+port然后传入方法名参数类型参数值发送到提供者
  3. 提供者通过传入过来的方法名从本地注册中心(内存)找到实现的类名然后通过反射调用其中的方法返回给消费者
  4. 监控中心会定期收到提供者和消费者传过来的调用信息
  5. 在这里插入图片描述
dubbo源码spi机制
  • 主要是通过配置文件拿到对应的文件获取相应实现类来达到扩展机制
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

抵制平庸 拥抱变化

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

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

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

打赏作者

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

抵扣说明:

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

余额充值