Skip to content

GallifreyGoTutoural/ggt-rpc

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

12 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

ggt-rpc

English | 简体中文

ggt-rpc is an RPC framework implemented from scratch based on the official standard library net/rpc of Go language, and adds features such as protocol exchange, registration center, service discovery, load balancing, and timeout processing on this basis.

The "ggt" in the project name stands for "Gallifrey's GoTutorial

The main reference source of the project is the blog of Geek Tutu: 7 days to implement RPC framework GeeRPC from scratch with Go. If you want to learn more about program design details and considerations, please refer to the original blog.

Development plan

  • Use encoding/gob to implement message encoding and decoding
  • Implement a simple server
  • Implement a high-performance client that supports asynchronous and concurrent
  • Implement service registration function through reflection
  • Implement service call on the server side
  • Add connection timeout processing mechanism
  • Add timeout processing mechanism for server processing
  • Support HTTP protocol
  • Implement server-side load balancing through random selection and Round Robin polling scheduling algorithm
  • Implement a simple registration center that supports service registration, receiving heartbeats, etc.
  • The client implements a service discovery mechanism based on the registration center

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages