Dubbo学习笔记(一)——尚硅谷B站

课程地址:02_尚硅谷_概念_应用的架构演变_哔哩哔哩_bilibili

时长:4h

课件代码地址:https://pan.baidu.com/s/1mrULGXHQQxIugObFTP7gpw
提取码:8fx8    (已下载)

其他人笔记:Dubbo入门介绍及学习笔记总结-CSDN博客

官网:Dubbo 介绍 | Apache Dubbo

说明: 官网一直都是各种技术学习的一手资料!!!

以下是自己的笔记

一、基础部分

1. 什么是分布式系统?

2. 架构的发展演变

        系统架构的演变-菜鸟笔记

3. RPC是什么?

        远程过程调用。RPC两个核心模块:通讯,序列化。

Dubbo学习笔记(一)——尚硅谷B站_第1张图片

如何实现RPC协议?

RPC协议的实现通常包括以下几个步骤:

  1. 定义接口。客户端和服务端需要共同定义一套接口,描述函数的输入参数和返回值。
  2. 生成代理代码。客户端需要生成一个代理,它可以将函数调用转换成网络消息,并将结果返回给客户端。
  3. 序列化和反序列化。客户端和服务端之间需要将数据序列化成网络字节流,以便进行传输。收到数据后,需要将其反序列化成可读的数据格式。
  4. 网络传输。客户端和服务端之间需要进行网络传输,以便进行数据交换。
  5. 调用远程函数。客户端通过代理调用服务端的函数,服务端执行该函数并返回结果。
  6. 返回结果。服务端将执行结果序列化后发送给客户端,客户端将其反序列化成可读的数据格式。

RPC协议的优点在于它可以隐藏底层的网络细节,使分布式计算更加容易和透明。但是,RPC协议也存在一些缺点。首先,RPC协议的实现通常需要复杂的代码生成和序列化反序列化操作。其次,RPC协议的性能可能不如本地函数调用,因为它需要进行网络传输和序列化反序列化操作。

RPC和微服务

        RPC(Remote Procedure Call)是一种远程过程调用协议,可以使应用程序之间进行通信,以便在不同的计算机上执行函数调用。RPC协议的实现有多种方式,例如Socket、HTTP、XML-RPC等。RPC协议通常用于分布式系统中,可以使分布式系统中的各个部分通过网络进行通信。

        微服务是一种架构风格,它将应用程序划分为一组小型服务,这些服务可以独立部署、扩展和维护。每个服务都可以拥有自己独立的数据库和业务逻辑,可以使用不同的编程语言和工具进行开发。微服务架构可以提高系统的可伸缩性、灵活性和可维护性。

        RPC和微服务之间存在一定的关系。在微服务架构中,服务之间通常使用RPC协议进行通信。每个微服务都可以提供一组RESTful API或RPC接口,以便其他服务或客户端调用。RPC协议可以提供高效的远程调用机制,并且可以使用多种序列化协议,例如Protocol Buffers、Avro、Thrift等,可以提高网络传输效率和安全性。

        在微服务架构中,RPC协议通常与服务发现、负载均衡、容错等机制一起使用,以确保系统的稳定性和可伸缩性。例如,可以使用Netflix的Eureka来进行服务发现和注册,使用Ribbon来进行负载均衡,使用Hystrix来进行容错和服务降级等。

        因此,RPC协议和微服务架构可以相互结合,以提供高效、可伸缩和可维护的分布式系统。 

Dubbo学习笔记(一)——尚硅谷B站_第2张图片

        从入门到实践:RPC协议详解 - 知乎

        什么是RPC协议?RPC协议与HTTP协议的区别 - 知乎 

3. Dubbo是什么

Dubbo官方社区:5 分钟快速了解 Apache Dubbo_哔哩哔哩_bilibili

Dubbo是一款微服务开发框架,用于解决微服务开发中的通信问题,同时为构建企业级微服务提供服务发现、流量治理、可观测、认证鉴权等能力、工具与最佳实践。

Dubbo学习笔记(一)——尚硅谷B站_第3张图片

架构:架构 | Apache Dubbo       

非常重要!也是面试重点!

Dubbo学习笔记(一)——尚硅谷B站_第4张图片  Dubbo学习笔记(一)——尚硅谷B站_第5张图片 

 ------------------------------------------------插入开始--------------------------------------

自适应限流:https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/adaptive-concurrency-control/

负载均衡官网介绍:https://cn.dubbo.apache.org/zh-cn/overview/mannual/java-sdk/advanced-features-and-usage/performance/loadbalance/

上面链接是Dubbo3的负载均衡,下面的链接是Dubbo2.7的负载均衡:

负载均衡 | Apache Dubbo

可见,官网真是最好的一手学习资源。 

官方代码样例:GitHub - apache/dubbo-samples: samples for Apache Dubbo

Dubbo学习笔记(一)——尚硅谷B站_第6张图片  ------------------------------------------------插入结束-------------------------------------- 

Dubbo版本迭代的故事:dubbo 各版本_dubbo版本-CSDN博客

                                        聚焦稳定性,Dubbo 发版规划公布 - 简书

                                        百度安全验证icon-default.png?t=N7T8https://baijiahao.baidu.com/s?id=1724341174009164776&wfr=spider&for=pc

你可能感兴趣的:(分布式,dubbo)