Skip to content

evolving-rpc is a simple RPC framework with the main goal of learning. The framework was modified by the author from the underlying TCP encapsulation. Due to the limited level of the author, the project has many defects, but the basic functions of RPC have been implemented on the whole.

License

Notifications You must be signed in to change notification settings

yuhao-jack/evolving-rpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

42 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

项目说明

evolving-rpc是一个以学习为主要目标的简易RPC框架,该框架由作者从底层的TCP封装开始一点点修改出来的,由于作者水平有限,项目多有瑕疵,但整体上实现了RPC的基本功能,这也让作者在技术领域从一个简单的只会背诵八股文的API调用工程师慢慢提升到理解并实现出来的程序员。 该框架作者只在测试环境中进行过简单的验证,还不是一个成熟的可投入生产使用的框架,该项目目前仍在持续的优化中,诸多问题读者可在issue中提出,也可以Email:[email protected]联系本人.

压测数据

goos: linux
goarch: amd64
pkg: github.com/yuhao-jack/evolving-rpc/test
cpu: Intel(R) Core(TM) i5-10400 CPU @ 2.90GHz
BenchmarkDirectly
2022/11/18 10:22:20.988715 /home/yuhao/go/src/evolving-rpc/evolving-client/EvolvingClient.go:104: start evolving-client successful.
2022/11/18 10:22:20.991760 /home/yuhao/go/src/evolving-rpc/evolving-client/EvolvingClient.go:104: start evolving-client successful.
2022/11/18 10:22:21.022299 /home/yuhao/go/src/evolving-rpc/evolving-client/EvolvingClient.go:104: start evolving-client successful.
BenchmarkDirectly-2   	    4312	    318592 ns/op

从压测数据上来看性能还是不错的 _^--^_

快速开始 

安装

  go get github.com/yuhao-jack/evolving-rpc

注意

作者在写该项目时是为了提升自己,完全不想引入第三方库,所以默认使用的json作为传输协议,在后续的版本中为了提升性能可能考虑引入protobuf作为传输协议

About

evolving-rpc is a simple RPC framework with the main goal of learning. The framework was modified by the author from the underlying TCP encapsulation. Due to the limited level of the author, the project has many defects, but the basic functions of RPC have been implemented on the whole.

Topics

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages