Offer

尚硅谷-Dubbo篇

参考链接:https://www.bilibili.com/video/BV1ns411c7jV?p=30&vd_source=510ec700814c4e5dc4c4fda8f06c10e8

csdn csdn csdn csdn csdn


🔥1. 基础知识

1.1. 分布式基础理论

1.1.1 基本概念

​ 分布式系统就是各个计算机的集合。发展流程就是ORM ->MVC-> RPC->SOA

​ RPC:远程过程调用,就是客户端服务端之间建立socket连接,双方都要编写代码,然后客户端就能正常调用本机代码一样调用服务器的代码对象返回。应用点就是dubbo

​ Dubbo:就是为了解决分布式系统下,各个服务远程过程调用而产生的框架,zk就是dubbo名下的注册中心,用于注册各个服务。还有monitor的监控中心

![image-20220812103722248](https://1-1257837791.cos.ap-nanjing.myqcloud.com/202208121037303.pngArchitecture

1.1.2 基本使用
1.1.2.1 启动步骤
  1. 启动zkServer.cmd(注册中心)
  2. 启动dubbo-admin(监控中心)
  3. 提供者提供接口和类型,消费者也要定义消费的接口和类型
1.1.2.2 SpringBoot整合
1. 配置dubbo-starter, @EnableDubbo
1. 服务者和消费者写各种配置文件
1. 服务者用dubbo的@Service,
1. 消费者用dubbo的@Reference,Spring的@Service

1.2 高可用

1.2.1 ZK宕机

​ 本身ZK注册中心就只是一种保存生产者、消费者地址的,如果宕机了生产者消费者保存本地缓存地址也能进行访问

1.2.2 服务降级

​ 手动把某个服务关掉,降低系统消耗,返回NULL对象即可

1.2.3 服务容错

​ A调用B,如果调用失败了,立即返回或者重试多少次,或者保存记录稍后再重试。Hystrix就是用来保证分布式系统下出错了返回什么信息,进行什么处理

1.3 原理分析

1.3.1 RPC原理

​ Dubbo底层就是RPC。RPC原理就是

1. 客户端先发起请求,通过注册中心找到服务器
1. 服务端收到消息后解码,然后发数据发给客户端
1. 客户端解码收到的结果
1.3.2 Netty原理

RPC实现客户端和服务端通信原理就是Netty

1.3.3 框架源码分析(略)
1.3.4 个人总结

image-20220813104709826



posted @ 2022-08-27 16:28  Empirefree  阅读(40)  评论(0编辑  收藏  举报