# 实现 Java 自己写 RPC
## 简介
Java RPC(Remote Procedure Call)是一种用于实现分布式系统中不同进程之间通信的技术。通过使用RPC,我们可以像本地方法一样调用远程服务器上的方法,而不需要了解底层网络细节。
在本文中,我将向你介绍如何从头开始实现一个简单的 Java RPC 框架。我们将按照以下步骤进行实现,并提供相应的代码示例和注释说明。
##
原创
2023-08-09 11:58:36
39阅读
记得来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阅读
RPC(Remote Process Call),远程过程调用。RPC将本地调用转化为远程调用(非本地调用,个人理解为不同服务器之间的调用),可以降低大项目的维护成本和提高项目的扩展性。①:降低维护成本:某一个服务有问题,只要停止其中一个去维护升级,其他服务不用关闭。②:提高项目的扩展性:在现有的基础上,可以增加分支,好比一颗树,可以增加其他树枝,保留现有树枝。难点:个人认为应
转载
2023-07-16 16:11:20
135阅读
一,简单一点的过程解说图(不太清晰,凑合看吧)Gitee仓库源码:https://gitee.com/fanjiangfeng/write-rpc-framworkcommon模块创建商品实体类和查询接口RPC框架创建一个注册中心(key:接口全名,value:实现类全名)创建RpcRequest,装载信息,也要序列化,也是网络传输的一员创建RpcServer,用来创建serversock
原创
2022-03-29 15:47:25
442阅读
RPC(Remote Promote Call) 一种进程间通信方式。允许像调用本地服务一样调用远程服务。RPC框架的主要目标就是让远程服务调用更简单、透明。RPC框架负责屏蔽底层的传输方式(TCP或者UDP)、序列化方式(XML/JSON/二进制)和通信细节。开发人员在使用的时候只需要了解谁在什么位置提供了什么样的远程服务接口即可,并不需要关心底层通信细节和调用过程。
准备知识:1 java 网络编程(这里使用的bio)2 java动态代理3 反射=================================通俗来说rpc就是:1. 客户端持有的是接口(但是没有持有实现);
2.服务端放的是接口的具体实现以及接口;
3.客户端把方法和方法的参数 以及其他参数 通过socket发送给服务端;
4.然后服务端执行相对应的方法,最后再把执行结果返回给客户端。
转载
2023-06-25 09:40:30
247阅读
1.远程调用方式无论是微服务还是SOA,都面临着服务间的远程调用。那么服务间的远程调用方式有哪些呢?常见的远程调用方式有以下几种:RPC:Remote Produce Call远程过程调用,类似的还有RMI。自定义数据格式,基于原生TCP通信,速度快,效率高。早期的webservice,现在热门的dubbo,都是RPC的典型Http:http其实是一种网络传输协议,基于TCP,规定了数据传输的格式
转载
2023-07-16 16:12:01
92阅读
1.什么是rpcRPC全称为Remote Procedure Call,翻译过来为“远程过程调用”。目前,主流的平台中都支持各种远程调用技术,以满足分布式系统架构中不同的系统之间的远程通信和相互调用。远程调用的应用场景极其广泛,实现的方式也各式各样。2.从通信协议的层面基于HTTP协议的(例如基于文本的SOAP(XML)、Rest(JSON),基于二进制Hessian(Binary)) 基于TCP
[TOC]一、RPC原理RPC(Remote Procedure Call)即远程过程调用,也就是说两台服务器A,B,一个应用部署在A服务器上,想要调用B服务器上应用提供的函数/方法,由于不在一个内存空间,不能直接调用,需要通过网络来表达调用的语义和传达调用的数据。1.框架原理在RPC框架中主要有三个角色:Provider、Consumer和Registry。如下图所示: 节点角色说明:Ser
转载
2023-09-09 20:31:22
459阅读
RPC,全称为Remote Procedure Call,即远程过程调用,它是一个计算机通信协议。它允许像调用本地服务一样调用远程服务。它可以有不同的实现方式。如RMI(远程方法调用)、Hessian、Http invoker等。另外,RPC是与语言无关的。RPC示意图 如上图所示,假设Computer1在调用sayHi()方法,对于Computer1而言调用sayHi()方法就像调用
转载
2023-09-06 13:31:44
22阅读
# Java 自定义包详解
在Java编程中,包(package)是一个重要的概念。它不仅帮助我们组织代码和避免命名冲突,还能提高代码的可维护性和可重用性。在本文中,我们将探讨如何创建和使用自定义包,并提供详细的代码示例。
## 什么是包?
包是一个命名空间,用于组织相似类和接口的集合。Java内置了一些标准包,例如 `java.util` 和 `java.io`。而自定义包则允许我们根据项
# Java自己写Comparator教程
## 引言
在Java开发中,我们经常需要对集合进行排序。而对于自定义的对象,如果希望能按照特定的规则进行排序,就需要使用Comparator接口来实现自定义的比较器。本文将以一个经验丰富的开发者的角度,教会一位刚入行的小白如何实现"Java自己写Comparator"。
## 流程概述
下面是实现"Java自己写Comparator"的整个流程:
原创
2023-12-31 04:54:49
70阅读
# 自己写一个简单的Java框架
欢迎你,作为一名刚入行的小白,学习如何自己写一个Java框架是一个很好的挑战。搭建框架的过程不仅能加深你对Java的理解,还能提高你的编程能力。本文将为你提供一条清晰的路径,包括每个步骤的必要代码和注释。在开始之前,让我们先看一下整体的流程。
## 整体流程
以下是实现一个简单Java框架的步骤:
| 步骤 | 描述
原创
2024-08-29 09:29:06
231阅读
# 如何实现“Java 自己写 SDK”
## 简介
在本文中,我将向你介绍如何使用 Java 编写自己的 SDK(Software Development Kit)。SDK 是一种开发工具包,用于帮助开发者使用特定的编程语言和平台创建应用程序。我们将按照以下流程进行讲解,并给出每个步骤所需的代码示例。
## 整体流程
以下是实现自己的 Java SDK 的整体流程:
```mermaid
原创
2023-12-12 08:24:57
138阅读
# Java中使用SQL的入门指南
当你开始学习Java编程时,了解如何在Java中与数据库交互是一项重要的技能。在本文中,我们将逐步引导你如何在Java中编写和执行SQL语句。这包括连接数据库、创建Statement、执行查询以及处理结果。我们还将用表格和流程图帮助你理解整个过程。
## 流程概述
在Java中使用SQL的基本流程如下:
| 步骤 | 描述
1.应用场景 主要用于学习RPC的原理,工作流程,拆解和组装一个简单的RPC框架。2.学习/操作1.文档阅读31 | 动手实现一个简单的RPC框架(一):原理和程序的结构-极客时间32 | 动手实现一个简单的RPC框架(二):通信与序列化-极客时间33 | 动手实现一个简单的RPC框架(三):客户端-极客时间34 | 动手实现一个简单的RPC框架(四):服务端-极客时间实现框架源码--参
转载
2024-03-13 13:20:37
42阅读
# 使用Java实现RPC接口调用
在现代分布式系统中,远程过程调用(RPC)是一种重要机制,它允许程序在不同的网络中进行通信。本文将介绍如何在Java中实现RPC接口调用,通过一个简单的示例来展示其应用场景,最后还将使用Mermaid生成饼状图来可视化一下我们的调用次数统计。
## 什么是RPC?
RPC是一种允许程序在同一台机器或不同机器上的程序之间进行通信的协议。通过RPC,开发者可以
public class str {
public static void main(String[] args) {
// 创建字符串的常用方式
// 创建位置是在公共池,即s1 == s2 == s3
String s1 = "Hello"; // String 直接创建
String s2 = "Hello"; // S
转载
2023-06-25 20:31:23
214阅读
什么是RPC?维基百科是这么定义RPC的:在分布式计算,远程过程调用(英语:Remote Procedure Call,缩写为 RPC)是一个计算机通信协议。该协议允许运行于一台计算机的程序调用另一个地址空间(通常为一个开放网络的一台计算机)的子程序,而程序员就像调用本地程序一样,无需额外地为这个交互作用编程(无需关注细节)。RPC是一种服务器-客户端(Client/Server)模式,经典实现是
转载
2024-05-01 14:11:58
47阅读
1.1 RPC 是什么定义:RPC(Remote Procedure Call Protocol)——远程过程调用协议 ,RPC协议假定某些传输协议的存在,如TCP或UDP,为通信程序之间携带信息数据。在OSI网络通信模型中,RPC跨越了传输层和应用层 ,RPC使得开发包括网络分布式多程序在内的应用程序更加容易。我的理解:与其说把RPC 看作是一种协议,倒不如把 它看作是一种 客户机/服务器交互的
转载
2024-05-30 10:08:01
73阅读