1.什么是rpcRPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。2.从通信协议的层面基于HTTP协议的(例如基于文本的SOAP(XML)、Rest(JSON),基于二进制Hessian(Binary)) 基于TCP
1.应用场景 主要用于学习RPC的原理,工作流程,拆解和组装一个简单的RPC框架。2.学习/操作1.文档阅读31 | 动手实现一个简单的RPC框架(一):原理和程序的结构-极客时间32 | 动手实现一个简单的RPC框架(二):通信与序列化-极客时间33 | 动手实现一个简单的RPC框架(三):客户端-极客时间34 | 动手实现一个简单的RPC框架(四):服务端-极客时间实现框架源码--参
转载 2024-03-13 13:20:37
42阅读
本文代码地址:https://github.com/MSC419/msc-rpc-framework 文章目录0.实现的改进1.RPC消息通用格式RpcMessage2.Netty心跳机制2.1 心跳2.2 IdleStateHandler2.3 实现Netty心跳机制2.3.1 客户端2.3.3 服务端3.通过注解自动扫描注册服务3.1 注解类3.2 工具类 ReflectUtil3.3 扫描服
rpc/session.gopackage rpcimport ( "encoding/binary" "io" "net")// 编写数据会话中读写// 会话连接的结构体type Session struct { conn net.Conn}// 创建新连接func NewSession(conn net.Conn) *Session { return &Session{conn: conn}}// 向连接中写数据func (s Session) Wri
原创 2021-03-06 09:59:42
213阅读
rpc/session.gopackage rpcimport ( "encoding/binary" "io" "net")// 编写数据会话中读写// 会话连接的结构体type Session struct { conn net.Conn}// 创建新连接func NewSession(conn net.Conn) *Session { return &Session{conn: conn}}// 向连接中写数据func (s Session) Wri
原创 2021-03-06 09:59:42
343阅读
引言本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。设计思路如下:1、在battercake-provider中,写一个服务叫BatterCakeService2、在battercake-provider中,启动RpcProvider,发布该服务3
原创 2020-10-24 16:28:11
561阅读
引言本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。设计思路如下:1、在battercake-provider中,写一个服务叫BatterCakeService2、在battercake-provider中,启动RpcProvider,发布该服务3
转载 2018-05-18 15:56:00
127阅读
2评论
RPC框架称为远程调用框架,其实现的核心原理就是消费者端使用动态代理来代理一个接口的方法(基于JDK的动态代理,当然如果使用CGLib可以直接使用无接口类的方法),通过加入网络传输编程,传输调用接口方法名称,方法参数来给提供者获取,再通过反射,来执行该接口的方法,再将反射执行的结果通过网络编程传回消
原创 2022-05-04 09:42:36
140阅读
Cool-Rpc前言此博客所述项目代码已在github开源,欢迎大家一起贡献! 点此进入:Cool-RPC最近一次写博客还是17年底,谢谢大家持久以来的关注 本篇博文将会教大家如何从0到1,搭建一个简单、高效且拓展性强的rpc框架.什么是RPC相信大家都或多或少使用过RPC框架,比如阿里的Dubbo、谷歌的grpc、Facebook的Thrift等等那么究竟什么是rpc?rpc翻译成中文叫做远程过
本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)
转载 2021-08-05 09:36:32
152阅读
引言 本文利用java自带的socket编程实现了一个简单的rpc调用框架,由两个工程组成分别名为battercake-provider(服务提供者)、battercake-consumer(服务调用者)。 设计思路如下:1、在battercake-provider中,写一个服务叫BatterCakeService 2、在battercake-provider中,启动RpcProvider,发布
原创 2021-07-12 16:13:57
121阅读
记得来newland面试的时候,有一个笔试题是关于rmi,rpc cobar web service的选择题。当时对这些不是很懂,除了一个Web Service.那时候天真的认为要远程调用服务除了Web Service还是Web Service。最近晚上正好有时候,就介绍下java中几种调用rpc的方式吧。一、RMIRMI(remote method Invocation)远程方法调用,从JDK1
转载 2023-06-13 13:36:13
85阅读
# 实现 Java 自己RPC ## 简介 Java RPC(Remote Procedure Call)是一种用于实现分布式系统中不同进程之间通信的技术。通过使用RPC,我们可以像本地方法一样调用远程服务器上的方法,而不需要了解底层网络细节。 在本文中,我将向你介绍如何从头开始实现一个简单的 Java RPC 框架。我们将按照以下步骤进行实现,并提供相应的代码示例和注释说明。 ##
原创 2023-08-09 11:58:36
39阅读
RPC(Remote Process Call),远程过程调用。RPC将本地调用转化为远程调用(非本地调用,个人理解为不同服务器之间的调用),可以降低大项目的维护成本和提高项目的扩展性。①:降低维护成本:某一个服务有问题,只要停止其中一个去维护升级,其他服务不用关闭。②:提高项目的扩展性:在现有的基础上,可以增加分支,好比一颗树,可以增加其他树枝,保留现有树枝。难点:个人认为应
转载 2023-07-16 16:11:20
135阅读
一、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 是帮助我们屏蔽网络编程细节,实现调用远程方法就跟调用本地(同一个项目中的方法)一样的体验
什么是 RPC?     RPC(Remote Procedure Call)—远程过程调用,它是一种通过网络从远程计算机程序上请求服务,而不需要了解底层网络技术的协议。比如两个不同的服务 A、B 部署在两台不同的机器上,那么服务 A 如果想要调用服务 B 中的某个方法该怎么办呢?使用 HTTP请求 当然可以,但是可能会比较慢而且一些优化做的并不好。RPC 的出现就是
转载 2024-05-20 23:02:28
56阅读
一、RPC简介RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。     RPC示意图 如上图所示,假设Computer1在调用sayHi()方法,对于Com
转载 2024-05-21 09:14:29
48阅读
前言:这篇文章我们来聊一聊RPC框架,为什么要聊RPC呢 ?首先从个人成长角度,如果一个新时代码农能清楚的了解RPC框架所具备的要素,掌握RPC框架中涉及的服务注册发现、负载均衡、序列化协议、RPC通信协议、Socket通信、异步调用、熔断降级等技术,可以全方位的提升基本素质。其次,目前市面上也有非常多优秀的框架,GitHub上也有相关源码,但好记性不如烂笔头,只有自己真正了解并且动手去尝试写一个
转载 2024-04-04 10:10:02
54阅读
RSocket 系列的第三篇如果你看过本系列的前两篇文章,应该已经已经发现 RSocket 提供了一些底层的 API。可以直接使用交互模型中的方法进行操作,而且可以没有任何限制来回发送帧。这些基础的 API 为我们提供了许多自由和控制权,但是它可能会引入额外的问题,尤其是与微服务之间的契约相关的问题。为了解决这些问题,我们可以使用 RSocket 作为通用抽象层。有两种可用的解决方案:RSocke
大厨小鲜——基于Netty自己动手实现RPC框架钱文品Good news everyone!​关注他71 人赞了该文章今天我们要来做一道小菜,这道菜就是RPC通讯框架。它使用netty作为原料,fastjson序列化工具作为调料,来实现一个极简的多线程RPC服务框架。我们暂且命名该RPC框架为rpckids。食用指南在告诉读者...
转载 2021-07-12 16:02:16
154阅读
  • 1
  • 2
  • 3
  • 4
  • 5