目录
对比 Dubbo 和 Spring Cloud 在 RPC 方面的区别。
对比 Dubbo、gRPC、Thrift 等 RPC 框架。
对比 Hessian 和 Dubbo 在 RPC 中的应用场景。
什么是 Protocol Buffers(Protobuf)?它与 JSON 和 XML 有什么区别?
为什么 RPC 中使用二进制协议(如 Protobuf)而不是文本协议(如 JSON)?
什么是 HTTP 和 TCP 协议?它们在 RPC 中有何区别和使用场景?
什么是 UDP 协议?RPC 使用时如何避免 UDP 的可靠性问题?
如何使用 Spring AOP 实现 RPC 调用的拦截与监控?
什么是 TLS/SSL 协议?它在 RPC 中如何保障数据安全?
如何应对 RPC 中可能发生的服务滥用与拒绝服务攻击(DoS/DDoS)?
什么是 RPC?
RPC(Remote Procedure Call)即远程过程调用。它是一种计算机通信协议,允许运行在一台计算机上的程序调用另一台计算机上的子程序,而程序员无需显式地编写涉及网络通信等复杂操作的代码。
从原理上来说,就像是在本地调用一个函数一样方便,但实际上这个函数的执行可能是在远程的服务器上。例如,在一个分布式系统中,有服务 A 和服务 B 分别部署在不同的服务器上。服务 A 需要获取服务 B 的数据或者执行服务 B 的某个功能,通过 RPC