RPC 简介RPC,全称为 Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式,而不需要了解底层网络技术的协议。 RPC 协议假定某些传输协议的存在,如 TCP 或 UDP,为通信程序之间携带信息数据。如 RMI(远程方法调用)、Hessian、Http invoker 等。怎样实现一个 RPC 框架RP            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-03 16:56:50
                            
                                138阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            文首,思考一个问题:为什么需要 RPC 服务?在传统的开发模式中,我们通常将系统的各个服务部署在单台机器,随着服务的扩展,这种方式已经完全无法满足系统大规模的扩展需要,分布式系统由此诞生,在分布式系统中,最重要就是各个服务之间的 RPC 调用。RPC 全称 Remote Procedure Call——远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的方式。简单一            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-03-11 21:43:20
                            
                                127阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            package com.thtf.zwdsj.fangjia.rpc;
import org.apache.ws.commons.util.NamespaceContextImpl;
import org.apache.xmlrpc.common.TypeFactoryImpl;
import org.apache.xmlrpc.common.XmlRpcController;
import o            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-23 17:11:52
                            
                                99阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            开篇本文会通过 Java 实现一个简单的 rpc 框架,rpc 的概念在此不多赘述。相信看完整个实现过程,会对 rpc 的实现原理有更清晰的,更直观的认识。目标实现一个类似 Dubbo 官方 Demo 的效果 ,先来看几段代码:定义一个服务接口类public interface HelloService {
	public void sayHello(String name);
}服务提供者的接            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-06-27 10:22:11
                            
                                485阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             RPC(Remote Promote Call) 一种进程间通信方式。允许像调用本地服务一样调用远程服务。RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层通信细节和调用过程。                    
                
         
            
            
            
            (一)功能使用已存在的连接与rpc-server端通信,发送请求连接复用并发请求(二)设计思路对每个要通信的server端维持一个连接池,存放已经建立的连接,需要与server通信时直接从连接池取连接,不用重新创建动态连接池连接池中连接的数量是动态变化的,如果上一时刻请求多,现在请求少,则连接池中可用连接多;相反,如果上一时刻请求少,现在请求多,则连接池中可用连接少使用epoll监听连接池中连接当            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-05 20:07:51
                            
                                35阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            1.RPC解释RPC:Remote Procedure Call(远程过程调用)客户端获取服务端的服务(不同的计算机)2.RPC所需要的技术反射技术:客户端给服务端发送代表接口名的字符串,服务端需要通过字符串解析出该字符串代表的接口的一切信息socket:客户端与服务端交互(传输信息)动态代理:服务端需要根据客户端的不同请求,返回不同的接口类型,客户端需要接受到不同的接口类型3.代码实现客户端代码            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 18:32:17
                            
                                57阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            目录RPC和RMI前期准备1.RpcDefinition2.RpcFactory3.RpcInvoker服务器端客户端测试优化及改进 RPC和RMIRPC(Remote Procedure Call Protocol) 即远程过程调用协议,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。 RMI:远程方法调用(Remote Method Invocation)是一种面            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-10-02 22:39:58
                            
                                67阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            如果我们需要在远程计算机上运行一个函数并等待结果,这种模式通常被称为远程过程调用或RPC。在本教程中,我们应            
                
                    
                        
                                                            
                                                                        
                                                                                        原创
                                                                                    
                            2022-06-29 14:56:02
                            
                                295阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
              一段时间没怎么写文章了,今天提笔写一篇自己对 API 设计的思考。首先,为什么写这个话题呢?其一,我阅读了《阿里研究员谷朴:API 设计最佳实践的思考》一文后受益良多,前两天并转载了这篇文章也引发了广大读者的兴趣,我觉得我应该把我自己的思考整理成文与大家一起分享与碰撞。其二,我觉得我针对这个话题,可以半个小时之内搞定,争取在 1 点前关灯睡觉,哈哈。  现在,我们来一起探讨 API 的设计之道            
                
         
            
            
            
            一、RPC的概念二、RPC的通信流程2.1、建立连接2.2、数据传输2.2.1、序列化2.2.2、协议2.3、动态代理三、服务治理3.1、服务发现3.2、心跳检测3.3、负载均衡3.4、路由策略3.5、业务分组一、RPC的概念RPC 的全称是 Remote Procedure Call,即远程过程调用。RPC 是帮助我们屏蔽网络编程细节,实现调用远程方法就跟调用本地(同一个项目中的方法)一样的体验            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-05-26 13:36:11
                            
                                74阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            在写了一个Netty实现通信的简单例子后,萌发了自己实现RPC调用的想法,于是就开始进行了Netty-Rpc的工作,实现了一个简单的RPC调用工程。
如果也有兴趣动手造轮子的同学,可以先看看之前写的 使用Java实现Netty通信 这篇博客。            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-07-21 16:14:01
                            
                                279阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            作者:xavior我们即希望能够敏捷开发,不做重复的劳动,用别人的势能赋能自己;又要成为一名能够赋能别人的人,拥有自身的势能。在一个拥有成千上万大大小小的服务的公司里,每个团队在不同的机器上部署它们自己的服务,所以真实开发一个新服务的场景一定需要考虑两个问题:我的团队开发一个新服务,可能需要调用别人的服务。我的团队开发一个新服务,别的团队可能会调用。RPC调用的变与不变由于服务部署在不同机器,想要            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-07-24 16:34:03
                            
                                59阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            Java简单实现RPC原理RPC(Remote Procedure Call)远程过程调用,简单的理解是一个节点(A)通过网络向另一个节点(B)请求服务实现的基本思路首先,我们需要一个Client端(A节点)和一个Server端(B节点)进行远程的通信 其次,我们需要在两个节点建立统一的接口(相当于约定好,我们需要生产哪些方法和消费哪些方法) 然后,我们需要利用流完成对象在网络中的序列化和反序列化            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-09-19 07:59:11
                            
                                86阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
             要完成一次服务调用,首先要解决的问题是服务消费者如何得到服务提供者的地址,其中注册中心扮演了关键角色,服务提供者把自己的地址登记到注册中心,服务消费者就可以查询注册中心得到服务提供者的地址,可以说注册中心犹如海上的一座灯塔,为服务消费者指引了前行的方向。有了服务提供者的地址后,服务消费者就可以向这个地址发起请求了,但这时候也产生了一个新的问题。你知道,在单体应用时,一次服务调用发生在同一台机器上            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-08-19 21:55:44
                            
                                49阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            my-rpc了解RPC的一些原理后,尝试自己造个轮子,加深了解。https://github.com/yuyufeng1994/my-rpc个人对rpc原理的见解rpc是一种远程过程调用协议。rpc主要功能:异构分布式项目之间的通信,使消费者只需要知道接口,远程调用方法就像调用本地方法一样。 要使得消费层只通过接口调用远程实现方法,那么其之间的传输数据肯定是:类、方法、参数、返回值,以及一些其它传            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-07 10:15:34
                            
                                59阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            RPC解决的问题正如上一讲所说,RPC 主要是为了解决的两个问题:解决分布式系统中,服务之间的调用问题。远程调用时,要能够像本地调用一样方便,让调用者感知不到远程调用的逻辑。完整流程其中左边的Client,对应的就是前面的Service A,而右边的Server,对应的则是Service B。下面一步一步详细解释一下。Service A的应用层代码中,调用了Calculator的一个实现类的add            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-04-19 17:31:18
                            
                                12阅读
                            
                                                                             
                 
                
                                
                     
                                    
                             
         
            
            
            
            所谓动态代理,指的是语言提供的一种语法,能够将对对象中不同方法的调用重定向到一个统一的处理函数中来。python重写__getattr__函数能够做到这一点,就连世界上最好的语言也提供称为魔术方法的__call。这种语法除了能更好的实现动态代理外,还是RPC框架实现原理的一部分。1. 动态代理是什么动态代理提供一种抽象,能够将对象中不同方法的调用重定向到一个统一的处理函数,做自定义的逻辑处理。但是            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-08-10 18:32:48
                            
                                71阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            RPC是远程过程调用的简称,是分布式系统中不同节点间流行的通信方式。在互联网时代,RPC已经和IPC一样成为一个不可或缺的基础构件。因此Go语言的标准库也提供了一个简单的RPC实现。1、基于gob编码的RPCGo语言的RPC包的路径为net/rpc,也就是放在了net包目录下面。RPC包是建立在net包基础之上的。我们先构造一个HelloService类型,其中的Hello方法用于实现打印功能:t            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2023-12-02 22:47:46
                            
                                106阅读
                            
                                                                             
                 
                
                             
         
            
            
            
            什么是 RPC?RPC原理是什么?什么是 RPC?RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。 RPC 的出现就是为了            
                
                    
                        
                                                            
                                                                        
                                                                                        转载
                                                                                    
                            2024-02-13 20:34:09
                            
                                55阅读
                            
                                                                             
                 
                
                                
                    