Commit Graph

323 Commits (dacfe6ae014a3cb624b323158b72cc01da9b0ae2)

Author SHA1 Message Date
Andrew Howden dacfe6ae01
Propose reliability non-functional requirements in the initial readme
This commit introduces reliability nonfunctional requirements
that should be queried during the initial needs analysis for
system design.

These factors readily influence the technological choices a
colleague might make, from the open source services to the
language choices. Capturing them early, and using them to
constrain the design is useful.

The questions are:

== How available does the system need to be?

Designed to capture the desired success rate of the system.
If the system is 99% available, for example, a relatively high
reliability from the dependency (~98 - 99%) can also be expected,
or even higher levels if strategies to overcome intermittent failure
in this service are used (e.g. request hedging).

== How fast does the system need to process requests?

Used to determine whether or not the system can be architected
in an eventually consistent way, or needs a shorter control loop
(such as an RPC system backed by a transactional data store).

== How tolerant of lossy or incorrect data is the business process?

Used to determine what type of data store should be used; what
transactional guarantees that data store should have or where the
application can take shortcuts to make the writes to such a data store
cheaper (such as accepting a request but batching the write).
2022-02-09 18:27:16 +01:00
Lawrence Chou e8a867ee28
Update GitHub Engineering Blog link 2021-11-17 07:26:08 -05:00
ayyjohn 4e70c54a5b
Fix capitalization of Dropbox (#511) 2021-05-09 14:20:50 -04:00
Trần Tiến Đức 6984b4e956
Fix LRU cache link (#505) 2021-02-15 21:14:06 -05:00
Donne Martin 9107b8a1a7
Fixing the indieflashblog address with archive.org since website has been discontinued (#500)
@lerignoux thank you!
2021-02-15 21:10:03 -05:00
Laurent Erignoux ffc8123b4c Fixing the indieflashblog address with archive.org since website has been discontinued 2021-01-24 17:26:08 +08:00
Abdalla Mohamed 478a7d76fb
Fix Celery URL (#486) 2020-12-28 21:51:32 -05:00
Peter Yao f103307ce3
Update broken HBase architecture link (#481) 2020-10-29 21:14:45 -04:00
Ryo Shibayama 53c0cf7de8
Fix translations link in PR template (#451) 2020-08-02 14:13:17 -04:00
Isetty Ravi Teja Kumar b7f255e469
Fix #335: Update OSI image to Open Systems Interconnection (#447) 2020-08-02 14:10:22 -04:00
Daniel Julius Lasiman 7d39c44293
Remove Imgur dependency by storing images locally (#168) 2020-07-17 21:15:47 -04:00
Donne Martin 828014aaac
Remove extraneous __init__.py (#393) 2020-07-12 12:02:44 -04:00
Donne Martin f471578b79
Resolve #281: Add design stock exchange links (#441)
* Additional question, build an exchange

fixes https://github.com/donnemartin/system-design-primer/issues/281

* Update README.md

Co-authored-by: Donne Martin <donne.martin@gmail.com>
2020-07-12 12:00:04 -04:00
Donne Martin aaa0acc80d
Update README.md 2020-07-12 11:58:35 -04:00
Adam Dobrawy b5173d60d5
Change disk to HDD for clarity (#295) 2020-07-10 21:01:12 -04:00
Noe Brito cbaae481a5
Clarify CDN advantages (#310) 2020-07-09 20:49:43 -04:00
Varsha Muzumdar ad5435ba0d
Add links for latency based and geolocation based routing (#319) 2020-07-09 20:48:47 -04:00
Ganessh Kumar 78e2eb5df8
Update dead links (#321) 2020-07-08 20:10:16 -04:00
Joilson Cisne 06b3ed2adc
Fix loop bug in deck of cards exercise (#396) 2020-07-07 20:56:05 -04:00
Manas Gupta 0beb557e8f
Add CAP theorem video link (#400) 2020-07-07 20:54:01 -04:00
Harry Moreno 2fe45a9391
Additional question, build an exchange
fixes https://github.com/donnemartin/system-design-primer/issues/281
2020-07-06 23:53:01 -04:00
John Richardson 727a2f8bba
Remove redundant SQL index in Pastebin exercise (#405) 2020-07-06 21:05:50 -04:00
Vladimir Mikhaylov cc11a9b119
Fix Mint exercise bugs and typos (#409) 2020-07-06 21:00:34 -04:00
Youngchul Bang 6d700ab9e1
kr: Fix Korean translation link in language index (#340) 2020-07-05 10:57:57 -04:00
Rahil d3b3e78966
Add system design template link (#433) 2020-07-05 10:53:28 -04:00
Nachiket Acharya 793f472970
Fix #313: Clarify availability patterns (#439) 2020-07-05 10:50:31 -04:00
Agade09 2ac6512f6d
Fix typos in Twitter and web crawler exercises (#438) 2020-07-05 10:48:23 -04:00
Kofi Forson 914736a29f
Update Twitter back-of-the-envelope calculations (#414) 2020-07-04 10:55:42 -04:00
Kevin Liu 5d4dac6baf
Fix typo: Change replication to federation (#418) 2020-07-04 10:53:56 -04:00
Sainadh Devireddy 60202315cc
Check dependencies in Ebook gen script (#406) 2020-07-03 21:24:24 -04:00
Neesara d57b3d1f95
Resolve #164 - Fix phrasing with availability and partition tolerance (#350) 2020-07-03 21:22:02 -04:00
Donne Martin fca96cafbb
Highlight translation request (#437) 2020-07-02 21:18:36 -04:00
Donne Martin 661c029b57
Add status of translations (#436) 2020-07-02 21:11:07 -04:00
Donne Martin b199766f44
Add pull request template (#435) 2020-07-01 20:54:05 -04:00
Donne Martin b4a7a09db7
Update contributing guidelines for translations (#434) 2020-07-01 20:48:43 -04:00
shiyujiucsb 42aa63b3c2
Fix layer 7 load balancers typo (#317) 2020-06-30 20:56:55 -04:00
panguncle f2d7dd86f0
Fix single point of failure typo (#398) 2020-06-30 20:42:24 -04:00
Alexander Teno 9a02480632
Add missing comma in Mint solution (#399) 2020-06-30 20:37:49 -04:00
userstartupideas b2fffe6fd4
Update "Scaling up to your first 10 million users" link (#411) 2020-05-25 21:59:01 -04:00
根号三 449dc27f33
zh-Hans: Translate solutions (#392) 2020-03-29 20:40:50 -04:00
Donne Martin ac806e46cb
Revert "zh-cn: Sync with upstream to keep it up-to-date (#374)" (#391)
This reverts commit 301b9d88e4.

#374 overwrote the English version of the solutions
2020-03-09 21:46:02 -04:00
根号三 301b9d88e4
zh-cn: Sync with upstream to keep it up-to-date (#374) 2020-03-09 21:34:18 -04:00
Danny Jung 8e9c89129b
Fix broken link in CAP theorem section (#348) 2020-02-16 21:00:44 -05:00
vyq fc563ca297 Fix broken CAP theorem link (#355) 2020-01-20 17:26:09 -07:00
Dan Choi 3b2264e5e8 Fix broken round robin links (#351) 2020-01-15 07:04:08 -08:00
Christian Clauss e50f26960d Change raise NotImplemented to raise NotImplementedError (#345) 2019-12-26 20:11:57 -05:00
SATO Yusuke eaa447cc39 ja: Fix mistranslation in SQL tuning section (#305) 2019-12-08 22:35:44 -05:00
Brandon 3ea0b15b50 zh-Hans: Change translation in SQL tuning (#318) 2019-12-08 22:34:17 -05:00
Duy Nguyen Hoang fdba2a2586 Add API security checklist (#328) 2019-11-03 05:56:24 -05:00
SATO Yusuke 7d4a13d8a2 ja: Fix translation in Service Discovery section (#308) 2019-08-13 19:51:20 -04:00