An overview of distributed systems architectures

This is the 2nd post in a series on System Design. This article is originally published at https://www.learncsdesign.com

If 50% of a code executes serially, the rest in parallel, adding more than 8 cpu cores has essentially no effect.

— Amdahl’s law

Scaling Systems

Scaling the Database with Caching

Distributing the Database

Increasing Responsiveness

I have written a detailed post on message-oriented middleware using RabbitMQ that you might find interesting.

Systems & Hardware Scalability

credit: https://upload.wikimedia.org/wikipedia/commons/e/ea/AmdahlsLaw.svg

If a program needs 20 hours to complete using a single thread, but a one-hour portion of the program cannot be parallelized, therefore only the remaining 19 hours execution time can be parallelized, then regardless of how many threads are devoted to a parallelized execution of this program, the minimum execution time cannot be less than one hour. Hence, the theoretical speedup is limited to at most 20 times the single-thread performance.

— Wikipedia

Conclusion

References

--

--

https://www.learncsdesign.com “Walking on water and developing software from a specification are easy if both are frozen”

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Neeraj Kushwaha

https://www.learncsdesign.com “Walking on water and developing software from a specification are easy if both are frozen”