Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Basics: Finish RPC system #4

Open
cholcombe973 opened this issue Aug 18, 2018 · 5 comments
Open

Basics: Finish RPC system #4

cholcombe973 opened this issue Aug 18, 2018 · 5 comments

Comments

@cholcombe973
Copy link
Owner

The RPC system currently consists of ZeroMQ + Protobuf+ Rendezvous hashing. In theory this should be enough I'm not certain if this will be the final implementation.

@cholcombe973 cholcombe973 created this issue from a note in Work tracking (To do) Aug 18, 2018
@cholcombe973
Copy link
Owner Author

I added #11 to capture what I've learned over the past week or so in testing various serialization formats. Protobuf is fairly slow compared to Capnp. I'm planning on benchmarking capnp against flatbuffers to see which one comes out on top. I suspect flatbuffers but you never know.

@cgmcintyr
Copy link

Is there a to-do list for the RPC system?

@RamakrishnaChilaka
Copy link

@cholcombe973 , What RPC system did you finally choose ?

@cholcombe973
Copy link
Owner Author

cholcombe973 commented Jun 20, 2019

I think if I remember right I settled on flatbuffers as being the fastest rpc system but it required a lot of additional code to be written to make it into a fully functional rpc. The client_server branch has the last bit of code I worked on.

@cholcombe973
Copy link
Owner Author

cholcombe973 commented Jun 20, 2019

So after talking with Ramakrisha on gitter a bit I'm remembering where I left off. The RPC system in the client_server branch uses flatbuffers which I think is the fastest thing to use. I wanted to see if I could create just a minimal 1 call RPC that calls mkdir to validate things work. https://github.com/cholcombe973/rusix/compare/client_server#diff-86b6664f52f12928447466849606e520R44 I don't exactly remember where I left off though.

There's also been some developments with zmq and nng might be the better library to use now. The zmq author said there was a bunch of problems with zmq and went a different direction unfortunately.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
Work tracking
  
To do
Development

No branches or pull requests

3 participants