RPC相关知识的学习
RPC(Remote Procedure Call)的基本概念及架构
RPC的基本概念
RPC全称是远程过程调用协议,是一个协议,具体实现由自己决定。
RPC的由来:在微服务下,A服务想要调用B服务,这就是远程调用。假设有一个单体项目,随着其自身用户逐渐增多,本地服务器无法满足需求,会分成多个微服务,将这些服务部署在不同的服务器上,来减轻单服务器的压力。分开后,各服务之间需要相互依赖,那么如图所示,有三个微服务器A、B、C,A服务依赖于B服务,需要向B服务要数据,这个过程就是RPC。
假设A服务通过http协议(超文本传输协议)调用B服务,但是在这种情况下会发送一些不必要的数据,在RPC的场景下是浪费的,因此可以通过RPC自定义一个数据格式进行通信。
WebSocket
WebSocket是一种在单个TCP连接上进行全双工通信的网络协议。它允许通过单个长期连接在客户端和服务器之间进行双向通信。WebSocket协议在2011年被IETF标准化为RFC 6455。与传统的HTTP请求-响应模式不同,WebSocket提供了一种更高效的数据传输方式,使得服务器能够主动向客户端推送数据,而不需要客户端发起请求。这使得WebSocket特别适用于实时应用程序,如在线游戏、即时通讯、实时股票报价等。WebSocket通过建立一个持久连接,可以避免HTTP协议中频繁的连接和断开,从而降低了通信开销,并且提供了更快的响应时间。
Netty
Netty是一个基于Java的异步事件驱动的网络应用框架,用于快速开发可维护的高性能网络服务器和客户端程序。它提供了简单易用的API,使得