"Dubbo是阿里巴巴开源的基于 Java 的高性能 RPC(一种远程调用) 分布式服务框架(SOA),致力于提供高性能和透明化的RPC远程服务调用方案,以及SOA服务治理方案。"
RPC翻译过来叫做 远程过程调用(Remote Process Call),我们为什么需要RPC框架?
HTTP了解过吧,平常我们的Web项目,从网页向服务端发起请求,用的就是HTTP协议
当然,服务端和服务端之间也可以通过HTTP来进行交互,不过HTTP底层是使用TCP进行传输(三次握手,四次挥手),对服务来说:"太重了",服务和服务之间的调用不需要例如HTTP的一些东西,比如:
HTTP/1.0 200 OK
Content-Type: text/plain
Content-Length: 137521
Expires: Thu, 05 Dec 2019 16:00:00 GMT
Last-Modified: Wed, 5 August 2019 15:55:28 GMT
Server: Apache 0.84
Hello xdclass
所以,RPC诞生了,它是专为分布式而生,是一个轻量级的"HTTP",同时为分布式服务提供"负载均衡""服务发现""熔断降级"等功能
PS:很多同学不想学新技术的很大一个原因在于:不知道怎么学起,官方文档太多,看着太枯燥,B站大学内容丰富,但动则几百个小时,让人失去耐心,大家都想速成,迅速掌握一个知识点或者一门技术。在这里我和大家分享一个skill,我自己学习的方法是:先广,而深;先用,再精。
首先,宽广而深刻的事实上是一个从数量变化到质量变化的过程。首先广泛使用它。无论什么技术,我都会先练习。由于这项技术是一种趋势,我将首先学习它,而不管它的基本原理是什么,我可以使用它。
[En]
First broad and deep, in fact, is a process from quantitative change to qualitative change. First use it widely. No matter what technology, I will first practice it. Since this technology is a trend, I will learn it first, regardless of the underlying principles, and I can use it.