目录
目录README.md

25RPC

RPC框架的设计与实现


项目说明

本项目为课程大作业,内容包括:

  • 调研报告部分(约占30%)

    • RPC 技术发展现状
  • 设计实现部分(约占70%)

    • 设计并实现一个简单的 RPC 框架
    • 不能使用现有的 RPC 框架,必须基于操作系统或程序设计语言提供的 Socket 接口编程
    • 可以参考网上的教程,但 不能照抄“从头写RPC框架”之类的现有代码
    • 要求具有一定“平台化”特性
    • 不能只能调用一个特定方法。例如:至少能只需改动一点点就能用于另一个方法

可加分项(非必需)

以下功能虽不要求实现,但完成可获得额外加分(可超出大作业评分标准):

  • ✅ 跨语言调用能力
  • IDL及IDL编译器
  • ✅ 并发模型

项目成果说明

✅ 已实现基础要求:

  • 简单的 RPC 框架

✅ 已实现加分项:

  1. 跨语言调用能力(实现了 Java 与 Python 的相互调用)
  2. 并发模型(采用线程池并发处理请求)

提交内容

  • 完整的项目源码(已上传至 GitLink)
  • 报告文档(含详细设计说明)

调试方法

构建项目

在项目根目录运行:

mvn clean install

测试基础 RPC 框架

启动服务端:

cd 25RPC/server
mvn exec:java -Dexec.mainClass="com.pdl_rpc.server.RPCServer"

启动客户端:

cd 25RPC/client
mvn exec:java -Dexec.mainClass="com.pdl_rpc.main.ClientMain"

测试高并发场景

mvn exec:java -Dexec.mainClass="com.pdl_rpc.main.ConcurrentClientTest"

测试跨语言调用(Java 与 Python)

启动 Python 服务端:

cd 25RPC/server
mvn exec:java -Dexec.mainClass="com.pdl_rpc.server.RPCServerPython"

运行 Python 客户端:

python 25RPC/python/client/rpc_client.py

关于
121.0 KB
邀请码
    Gitlink(确实开源)
  • 加入我们
  • 官网邮箱:gitlink@ccf.org.cn
  • QQ群
  • QQ群
  • 公众号
  • 公众号

©Copyright 2023 CCF 开源发展委员会
Powered by Trustie& IntelliDE 京ICP备13000930号