Dubbo(一)分布式和RPC

了解Dubbo之前先了解一下分布式系统
一、什么是分布式系统
 分布式系统是由一组通过网络进行通信、为了完成共同的任务而协调工作的计算机节点组成的系统。分布式系统的出现是为了用廉价的、普通的机器完成单个计算机无法完成的计算、存储任务。其目的是利用更多的机器,处理更多的数据。
二、发展演变
在这里插入图片描述三、 分布式服务架构
当垂直应用越来越多,应用之间交互不可避免,将核心业务抽取出来,作为独立的服务,逐渐形成稳定的服务中心,使前端应用能更快速的响应多变的市场需求。此时,用于提高业务复用及整合的分布式服务框架(RPC)是关键。
四、什么是RPC
RPC【Remote Procedure Call】是指远程过程调用,是一种进程间通信方式,他是一种技术的思想,而不是规范。它允许程序调用另一个地址空间(通常是共享网络的另一台机器上)的过程或函数,而不用程序员显式编码这个远程调用的细节。即程序员无论是调用本地的还是远程的函数,本质上编写的调用代码基本相同。
五、RPC原理在这里插入图片描述一次完整的RPC调用和流程(同步调用)
异步调用
1、服务消费方(client)调用方式调用服务;
2、clent(客户端) stub 接收到调用后负责将方法,参数等组装成能够进行网络传输的消息体
3、clent(客户端) stub 找到服务地址,并将消息发送到服务端
4、sever stub 收到消息后进行解码
5、sesrver stub 根据解码结果调用本地服务;
6、本地服务执行并将结返回给serve stub
7、server stub 将返回结果打包成消息并发送至消费方
8、client stub接受到消息,并进行解码
9、服务消费方得到最终结果
RPC 框架的目标就是要2–8这些步骤封装起来,这些细节对用户来说都是透明的,不可见的 dubbo就是帮我们做了这些事
RPC两个核心模块:通讯,序列化。
RPC框架有很多:
dubbo、gRPC、Thrift、HSF(High Speed Service Framework)

发布了45 篇原创文章 · 获赞 7 · 访问量 932

猜你喜欢

转载自blog.csdn.net/qq_42222342/article/details/103746993