How LinkedIn improved their latency by 60%

preview_player
Показать описание

Build Your Own Redis / DNS / BitTorrent / SQLite - with CodeCrafters.

# Recommended videos and playlists

If you liked this video, you will find the following videos and playlists helpful

# Things you will find amusing

# Other socials

I keep writing and sharing my practical experience and learnings every day, so if you resonate then follow along. I keep it no fluff.

Thank you for watching and supporting! it means a ton.

I am on a mission to bring out the best engineering stories from around the world and make you all fall in
love with engineering. If you resonate with this then follow along, I always keep it no-fluff.
Рекомендации по теме
Комментарии
Автор

Quality of content is insane, I have read limitation of JSON but never understood it as I did now. Big Thanks

pratyushsinha
Автор

It’s simple change but you make it sound like a rocket science.

YT-yt-yt-
Автор

Big Thanks for simplifying what, why and how we are doing things!

pratikshar
Автор

Thanks Arpit.
So if i understood it correctly. We need to make changes at 2 places:

Backend:
Just before sending the response, convert the JSON to protobuf format.

Frontend:
Convert the protobuf back to JSON and then use it.

Please let me know if my understanding is correct or not!

imhiteshgarg
Автор

Hi Arpit! Lovely video. Got a question for you, wrt the above example - "123456789" is consuming 9 bytes, and apart from that transferring data through json is a few more additional bits including the colon etc. Protobuf being one way of improving efficiency, but i believe csv would perhaps also be more efficient than json? We can eliminate the use of inverted commas, keys. Just return values seperated by commas and at the client end regex remove the comma. What do you think of this?

prathamkrishna
Автор

I literally couldn't wrap my head around how they did the rollout ? Did the library just ensure if the necessary headers are present and transfer data in the correct format accordingly ?
Did they query an endpoint to see the supported content types ?
There SHOULD BE A SWITCH somewhere which decides on the client whether to send protobuf or json ? Or did they literally put this all in REST.li where client attempts with protobuf and on non support of content type, sends the request again in json ?

umangbhate
Автор

Service mesh (istio/linkerd) solves this out of the box. Not to mention it’s language agnostic and decoupling service to service communication from app code. Library based framework is a thing of the past.

rajyobro
Автор

Brilliantly explained !! just like protobuf, info is efficiently packed ;) Thanks a lot :)

saitrinathdubba
Автор

Hi Arpit, thanks for informational video as always.
I have read that protobuf are generally used in interservice communication and not browser facing APIs, because they don't provide significant improvements over JSON in javascript based environment. Am I right or wrong?

iajaydandge
Автор

I believe they reduced response time rather than latency.

indianengineer
Автор

I was trying to check the api calls that my client makes when i open linkedin and i was not able to find any calls with protobuf. I'm curious if they still havent rolled out this feature in India, any ideas?

yashagarwal
Автор

Hey Arpit,
Love the knowledge that you share.
What device and app do you use for note taking?

rahulsharma
Автор

We've already started moving to grpc :)

karthikrgbits
Автор

Amaing. I have one question to ask Will serilization and deserialization not add any latency as client library will get the request in serialize format it needs to be deserialized.

gagandhand
Автор

You mentioned that one of the possible solutions could have been to compress the data and transmit. But isn't the data compressed by default with gzip in HTTP communication?

jst_kishan
Автор

Hey Arpit Can you please share the document ? for a quick revision if needed in future

kumarsantosh
Автор

How/Where do you find these information? These internal updates, and use cases by the companies? Is there any newsletter, website or channel or something?

armaansaini
Автор

Thanksss a lot...Such quality content!!!

akashshirale
Автор

does google protocol buffers also reduces huge json sizes to be stored in db like mongo where there is a standard limit of 16 mb?

AmanSaxena-uj
Автор

Code Crafters Recommendation from you is awesome and Mind blowing😍 .... Thanks a lot bro

nagesh