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

Add binary exchange RFC 0009 #29

Draft
wants to merge 1 commit into
base: main
Choose a base branch
from

Conversation

dan13bauer
Copy link

No description provided.

@dan13bauer
Copy link
Author

@aditi-pandit @majetideepak This is the RFC for the binary exchange protocol. Can you please take a look before I move it out of the draft state? Thank you!

@tdcmeehan
Copy link
Contributor

Does BinX provide security and does it encrypt the exchange?

@dan13bauer
Copy link
Author

Does BinX provide security and does it encrypt the exchange?

It supports TLS encryption. Whenever SSL is configured for the HTTP server (http-server.https.enabled), it uses the same configuration and establishes TLS connections for the exchange.

@tdcmeehan
Copy link
Contributor

I understand why, in theory, using TCP sockets should be faster than HTTP. But can you go into more depth on where we are seeing the speedup from: is it the lack of headers on the page data? How the data is chunked in HTTP?

@dan13bauer
Copy link
Author

I understand why, in theory, using TCP sockets should be faster than HTTP. But can you go into more depth on where we are seeing the speedup from: is it the lack of headers on the page data? How the data is chunked in HTTP?

I don't have a good answer to that. The initial starting point was an observation that the CPU load of the HTTP stack is relatively high. @yingsu00, you have observed that recently, too, right? Our assumption was that a simpler stack should be able to provide some improvement but we didn't conduct a detail analysis yet.

@tdcmeehan
Copy link
Contributor

If we haven't gotten to the bottom of that, IMO it would be worthwhile to do that, because I'm wondering if a simpler change could be done by optimizing how we are using HTTP. We don't know that until we root cause where in the HTTP stack we're spending the cycles.

Copy link
Contributor

@majetideepak majetideepak left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Some nits and questions.
Like Tim, I am also curious to know where the wins are coming from given both Wangle and Proxygen use Folly under the hood.

RFC-0009/RFC-0009-binary-exchange.md Outdated Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Outdated Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Outdated Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Outdated Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Outdated Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Outdated Show resolved Hide resolved
RFC-0009/RFC-0009-binary-exchange.md Show resolved Hide resolved
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants