dubbo+Zookeeper

架构的演变

  • 单一系统
    • 扩展不易:添加某一个功能需要重新打包整个项目
    • 开发不易:所有模块儿都需要同一个项目中开发
  • 垂直架构
    • 将所有功能拆分成若干个小程序,部署到不同的服务器上(解决了单一系统的问题)
      • 页面和业务不分离,修改页面就得对整个模块进行部署
      • 应用之间需要交互
  • 分布式架构
    • 抽出核心业务,供多方进行调用

但是问题来了不同服务器上如何调用?

dubbo

PRC基本原理:
在这里插入图片描述
影响RPC速度的两个核心:序列化和反序列化,socket通信耗时

1.1、概述:
  • dubbo是一款高性能的RPC框架,提供三大核心能力:
    • 面向接口的远程方法调用
    • 智能容错和负载均衡
    • 服务自动注册和发现
dubbo原理

dubbo的通信是实现了RPC技术,致力于封装通信的细节,通信的底层是Netty
netty:是一个异步事件驱动的网络应用框架,用于快速开发可维护性的高性能协议服务器和客户端,他极大的简化了TCP和UDP套接字服务器等网络编程,利用NIO(非阻塞IO)实现
NIO
在这里插入图片描述
RPC 封装底层的调用细节:

服务自动注册和发现 zookeeper提供

dubbo底层分为10层,每层的作用如下:

第一层:service层,接口层,给服务提供者和消费者来实现的

第二层:config层,配置层,主要是对dubbo进行各种配置

第三层:proxy层,服务代理层,透明生成客户端的stub和服务端的skeleton

第四层:registry层,服务注册层,负责服务的注册和发现

第五层:cluster层,集群层,封装多个服务提供者的路由和负载均衡,将多个实例组合成一个服务。

第六层:monitor层,监控层,对RPC接口的调用次数和调用时间进行监控

第七层:protocol层,远程调用层,封装RPC调用

第八层:exchange层,信息交换层,封装请求响应模式,同步转异步

<
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值