Alex Xu Profile picture
May 11 7 tweets 2 min read Twitter logo Read on Twitter
/1 How to choose between RPC and RESTful?

Communication between different software systems can be established using either RPC (Remote Procedure Call) or RESTful (Representational State Transfer) protocols, which allow multiple systems to work together in distributed computing. Image
/2 The two protocols differ mainly in their design philosophy. RPC enables calling remote procedures on a server as if they were local procedures, while RESTful applications are resource-based and interact with these resources via HTTP methods.
/3 When choosing between RPC and RESTful, consider your application's needs.
/4 RPC might be a better fit if you require a more action-oriented approach with custom operations, while RESTful would be a better choice if you prefer a standardized, resource-based approach that utilizes HTTP methods.
/5 Over to you: What are the best practices for versioning and ensuring backward compatibility of RPC and RESTful APIs?
/6 Get a Free System Design PDF (158 pages) by subscribing to our weekly newsletter today: blog.bytebytego.com Image
/7 I hope you've found this thread helpful.

Follow me @alexxubyte for more.

Like/Retweet the first tweet below if you can:

• • •

Missing some Tweet in this thread? You can try to force a refresh
 

Keep Current with Alex Xu

Alex Xu Profile picture

Stay in touch and get notified when new unrolls are available from this author!

Read all threads

This Thread may be Removed Anytime!

PDF

Twitter may remove this content at anytime! Save it as PDF for later use!

Try unrolling a thread yourself!

how to unroll video
  1. Follow @ThreadReaderApp to mention us!

  2. From a Twitter thread mention us with a keyword "unroll"
@threadreaderapp unroll

Practice here first or read more on our help page!

More from @alexxubyte

May 10
/1 How much storage could one purchase with the price of a Tesla Model S?

Why do we do this? There's a trade-off between the price of a storage system and its access latency. Naturally, one might wonder how much storage could be obtained if one is willing to sacrifice latency. Image
/2 To make this calculation more intriguing, let's use the price of a Tesla Model S as a benchmark.

🔹 Tesla Model S: $87,490 per car
🔹 L1 cache: $7 per megabyte
🔹 L2 cache: $7 per megabyte
🔹 RAM: $70 for 32G
🔹 SSD: $35 for 128G
🔹 HDD: $350 for 12T Image
/3 Get a Free System Design PDF (158 pages) by subscribing to our weekly newsletter today: blog.bytebytego.com Image
Read 4 tweets
May 8
/1 Why did Amazon Prime Video monitoring move 𝐟𝐫𝐨𝐦 𝐬𝐞𝐫𝐯𝐞𝐫𝐥𝐞𝐬𝐬 𝐭𝐨 𝐦𝐨𝐧𝐨𝐥𝐢𝐭𝐡𝐢𝐜? How can it save 90% cost?

The diagram below shows the architecture comparison before and after the migration. Image
/2 What is Amazon Prime Video Monitoring Service?

Prime Video service needs to monitor the quality of thousands of live streams. The monitoring tool automatically analyzes the streams in real-time and identifies quality issues like block corruption, video freeze, etc.
/3 here are 3 steps: media converter, defect detector, and real-time notification.
Read 13 tweets
May 4
/1 How do you become a full-stack developer?

The diagram shows a simplified possible full-stack tech stack.

Full stack development involves developing and managing all layers of a software application, from user interfaces to storage. Image
/2 Full-stack developers need to have a broad range of technical skills including:

🔹 Front-end development - HTML, Javascript, CSS, popular frameworks (React, Vue).
/3 🔹 API gateways - REST API gateway, GraphQL, web socket, webhook. Basic knowledge of firewall, reverse proxy, and load balancer.

🔹 Backend development - Sever-side languages (Java, Python, Ruby), API designs, serverless cloud interactions.
Read 7 tweets
May 1
/1 10 Key Data Structures We Use Every Day

🔹 list: keep your Twitter feeds
🔹 stack: support undo/redo of the word editor
🔹 queue: keep printer jobs, or send user actions in-game
🔹 hash table: cashing systems
🔹 Array: math operations
🔹 heap: task scheduling Image
/2
🔹 tree: keep the HTML document, or for AI decision
🔹 suffix tree: for searching string in a document
🔹 graph: for tracking friendship, or path finding
🔹 r-tree: for finding the nearest neighbor
🔹 vertex buffer: for sending data to GPU for rendering
/3 Which additional data structures have we overlooked?

Watch and subscribe here (YouTube video):
Read 4 tweets
Apr 27
/1 How does Docker work?

A comparison of Docker-based and non-Docker-based development is shown below. Image
/2
With Docker, we can develop, package, and run apps quickly:
🔹 The developers can write code locally and then build a Docker image and push it to a dev environment. In this way, the development work is shared within the team. The tests are run automatically in the dev env.
/3 An image is a read-only template with instructions for creating a Docker container. We use a Dockerfile to define the steps to create the image and run it.
Read 7 tweets
Apr 26
/1 Netflix Tech Stack - Part 1 (CI/CD Pipeline)

Planing: Netflix Engineering uses JIRA for planning and Confluence for documentation.

Coding: Java is the primary programming language for the backend service, while other languages are used for different use cases. Image
/2 Build: Gradle is mainly used for building, and Gradle plugins are built to support various use cases.

Packaging: Package and dependencies are packed into an Amazon Machine Image for release.

Testing: Testing emphasizes the production culture's focus on building chaos tools.
/3 Deployment: Netflix uses its self-built Spinnaker for canary rollout deployment.

Monitoring: The monitoring metrics are centralized in Atlas, and Kayenta is used to detect anomalies.
Read 7 tweets

Did Thread Reader help you today?

Support us! We are indie developers!


This site is made by just two indie developers on a laptop doing marketing, support and development! Read more about the story.

Become a Premium Member ($3/month or $30/year) and get exclusive features!

Become Premium

Don't want to be a Premium member but still want to support us?

Make a small donation by buying us coffee ($5) or help with server cost ($10)

Donate via Paypal

Or Donate anonymously using crypto!

Ethereum

0xfe58350B80634f60Fa6Dc149a72b4DFbc17D341E copy

Bitcoin

3ATGMxNzCUFzxpMCHL5sWSt4DVtS8UqXpi copy

Thank you for your support!

Follow Us on Twitter!

:(