赞
踩
Github地址:https://github.com/Snailclimb/guide-rpc-framework (欢迎star,欢迎一起完善!共勉!)
大概 2 个月前,我说过要利用业余时间写一个简单的 RPC 框架,今天(2020-06-05)总算将其开源出来,希望对小伙伴们有帮助。
虽说 RPC 的原理实际不难,但是,自己在实现的过程中自己也遇到了很多问题。Guide-rpc-framework 目前只实现了 RPC 框架最基本的功能,一些可优化点都在下面提到了,有兴趣的小伙伴可以自行完善。
guide-rpc-framework 是一款基于 Netty+Kyro+Zookeeper 实现的 RPC 框架。代码注释详细,结构清晰,并且集成了 Check Style 规范代码结构,非常适合阅读和学习。
由于 Guide 哥自身精力和能力有限,如果大家觉得有需要改进和完善的地方的话,欢迎将本项目 clone 到自己本地,在本地修改后提交 PR 给我,我会在第一时间 Review 你的代码。
我们先从一个基本的 RPC 框架设计思路说起!
一个典型的使用 RPC 的场景如下,一般情况下 RPC 框架不仅要提供服务发现功能,还要提供负载均衡、容错等功能,这个的 RPC 框架才算真正合格。
简单说一下设计一个最基本的 RPC 框架的思路:
为了循序渐进,最初的是时候,我是基于传统的 BIO 的方式 Socket 进行网络传输,然后利用 JDK 自带的序列化机制 以及内存直接存储相关服务相关信息来实现这个 RPC 框架的。
后面,我对原始版本进行了优化,已完成的优化点和可以完成的优化点我都列在了下面
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。