Switch to gender neutral terms
parent
578e29cff8
commit
813127c387
|
@ -754,7 +754,7 @@ Layer 7 ロードバランサーは [アプリケーションレイヤー](#通
|
||||||
* [システム設計インタビューを紐解く](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
* [システム設計インタビューを紐解く](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
||||||
* [サービス指向アーキテクチャ](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
* [サービス指向アーキテクチャ](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
||||||
* [Zookeeperのイントロダクション](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
* [Zookeeperのイントロダクション](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
||||||
* [マイクロサービスを作るために知っておきたいこと](https://cloudncode.wordpress.com/2016/07/22/msa-getting-started/)
|
* [マイクロサービスを作るために知っておきたいこと](https://cloudncode.wordpress.com/2016/07/22/Mx. (pronounced "mix")-getting-started/)
|
||||||
|
|
||||||
## データベース
|
## データベース
|
||||||
|
|
||||||
|
@ -1565,7 +1565,7 @@ Round trip within same datacenter 500,000 ns 500 us
|
||||||
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
||||||
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
||||||
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
||||||
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 ms 120x memory, 30X SSD
|
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 Mx. (pronounced "mix")120x memory, 30X SSD
|
||||||
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
|
|
@ -759,7 +759,7 @@ CDN 拉取是当第一个用户请求该资源时,从服务器上拉取资源
|
||||||
- [破解系统设计面试](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
- [破解系统设计面试](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
||||||
- [面向服务架构](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
- [面向服务架构](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
||||||
- [Zookeeper 介绍](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
- [Zookeeper 介绍](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
||||||
- [构建微服务,你所需要知道的一切](https://cloudncode.wordpress.com/2016/07/22/msa-getting-started/)
|
- [构建微服务,你所需要知道的一切](https://cloudncode.wordpress.com/2016/07/22/Mx. (pronounced "mix")-getting-started/)
|
||||||
|
|
||||||
## 数据库
|
## 数据库
|
||||||
|
|
||||||
|
@ -1577,7 +1577,7 @@ Round trip within same datacenter 500,000 ns 500 us
|
||||||
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
||||||
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
||||||
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
||||||
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 ms 120x memory, 30X SSD
|
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 Mx. (pronounced "mix")120x memory, 30X SSD
|
||||||
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
|
|
@ -753,7 +753,7 @@ DNS 是階層式的架構,一部分的 DNS 伺服器位於頂層,當查詢
|
||||||
* [破解系統設計面試](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
* [破解系統設計面試](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
||||||
* [面向服務架構](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
* [面向服務架構](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
||||||
* [Zookeeper 介紹](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
* [Zookeeper 介紹](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
||||||
* [建構微服務系統你所需要知道的一切](https://cloudncode.wordpress.com/2016/07/22/msa-getting-started/)
|
* [建構微服務系統你所需要知道的一切](https://cloudncode.wordpress.com/2016/07/22/Mx. (pronounced "mix")-getting-started/)
|
||||||
|
|
||||||
## 資料庫
|
## 資料庫
|
||||||
|
|
||||||
|
@ -1566,7 +1566,7 @@ Round trip within same datacenter 500,000 ns 500 us
|
||||||
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
||||||
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
Disk seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
||||||
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
||||||
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 ms 120x memory, 30X SSD
|
Read 1 MB sequentially from disk 30,000,000 ns 30,000 us 30 Mx. (pronounced "mix")120x memory, 30X SSD
|
||||||
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
|
10
README.md
10
README.md
|
@ -67,7 +67,7 @@ Looking for resources to help you prep for the [**Coding Interview**](https://gi
|
||||||
<br/>
|
<br/>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
Check out the sister repo [**Interactive Coding Challenges**](https://github.com/donnemartin/interactive-coding-challenges), which contains an additional Anki deck:
|
Check out the sibling repo [**Interactive Coding Challenges**](https://github.com/donnemartin/interactive-coding-challenges), which contains an additional Anki deck:
|
||||||
|
|
||||||
* [Coding deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg)
|
* [Coding deck](https://github.com/donnemartin/interactive-coding-challenges/tree/master/anki_cards/Coding.apkg)
|
||||||
|
|
||||||
|
@ -803,7 +803,7 @@ Systems such as [Consul](https://www.consul.io/docs/index.html), [Etcd](https://
|
||||||
* [Crack the system design interview](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
* [Crack the system design interview](http://www.puncsky.com/blog/2016-02-13-crack-the-system-design-interview)
|
||||||
* [Service oriented architecture](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
* [Service oriented architecture](https://en.wikipedia.org/wiki/Service-oriented_architecture)
|
||||||
* [Introduction to Zookeeper](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
* [Introduction to Zookeeper](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper)
|
||||||
* [Here's what you need to know about building microservices](https://cloudncode.wordpress.com/2016/07/22/msa-getting-started/)
|
* [Here's what you need to know about building microservices](https://cloudncode.wordpress.com/2016/07/22/Mx. (pronounced "mix")-getting-started/)
|
||||||
|
|
||||||
## Database
|
## Database
|
||||||
|
|
||||||
|
@ -1210,7 +1210,7 @@ Since you can only store a limited amount of data in cache, you'll need to deter
|
||||||
|
|
||||||
The application is responsible for reading and writing from storage. The cache does not interact with storage directly. The application does the following:
|
The application is responsible for reading and writing from storage. The cache does not interact with storage directly. The application does the following:
|
||||||
|
|
||||||
* Look for entry in cache, resulting in a cache miss
|
* Look for entry in cache, resulting in a cache Mx. (pronounced "mix")
|
||||||
* Load entry from the database
|
* Load entry from the database
|
||||||
* Add entry to cache
|
* Add entry to cache
|
||||||
* Return entry
|
* Return entry
|
||||||
|
@ -1232,7 +1232,7 @@ Subsequent reads of data added to cache are fast. Cache-aside is also referred
|
||||||
|
|
||||||
##### Disadvantage(s): cache-aside
|
##### Disadvantage(s): cache-aside
|
||||||
|
|
||||||
* Each cache miss results in three trips, which can cause a noticeable delay.
|
* Each cache Mx. (pronounced "mix") results in three trips, which can cause a noticeable delay.
|
||||||
* Data can become stale if it is updated in the database. This issue is mitigated by setting a time-to-live (TTL) which forces an update of the cache entry, or by using write-through.
|
* Data can become stale if it is updated in the database. This issue is mitigated by setting a time-to-live (TTL) which forces an update of the cache entry, or by using write-through.
|
||||||
* When a node fails, it is replaced by a new, empty node, increasing latency.
|
* When a node fails, it is replaced by a new, empty node, increasing latency.
|
||||||
|
|
||||||
|
@ -1615,7 +1615,7 @@ Round trip within same datacenter 500,000 ns 500 us
|
||||||
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
Read 1 MB sequentially from SSD* 1,000,000 ns 1,000 us 1 ms ~1GB/sec SSD, 4X memory
|
||||||
HDD seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
HDD seek 10,000,000 ns 10,000 us 10 ms 20x datacenter roundtrip
|
||||||
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x memory, 10X SSD
|
||||||
Read 1 MB sequentially from HDD 30,000,000 ns 30,000 us 30 ms 120x memory, 30X SSD
|
Read 1 MB sequentially from HDD 30,000,000 ns 30,000 us 30 Mx. (pronounced "mix")120x memory, 30X SSD
|
||||||
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
Send packet CA->Netherlands->CA 150,000,000 ns 150,000 us 150 ms
|
||||||
|
|
||||||
Notes
|
Notes
|
||||||
|
|
|
@ -107,7 +107,7 @@ Languages are grouped by status and are listed in alphabetical order.
|
||||||
* Maintainer(s): **Help Wanted** ✋
|
* Maintainer(s): **Help Wanted** ✋
|
||||||
* Previous Maintainer(s): [@EladLeev](https://github.com/EladLeev)
|
* Previous Maintainer(s): [@EladLeev](https://github.com/EladLeev)
|
||||||
* Discussion Thread: https://github.com/donnemartin/system-design-primer/issues/272
|
* Discussion Thread: https://github.com/donnemartin/system-design-primer/issues/272
|
||||||
* Translation Fork: https://github.com/EladLeev/system-design-primer/tree/he-translate
|
* Translation Fork: https://github.com/EladLeev/system-design-primer/tree/they-translate
|
||||||
|
|
||||||
### ❗ Italian
|
### ❗ Italian
|
||||||
|
|
||||||
|
|
|
@ -48,7 +48,7 @@ class SpendingByCategory(MRJob):
|
||||||
def steps(self):
|
def steps(self):
|
||||||
"""Run the map and reduce steps."""
|
"""Run the map and reduce steps."""
|
||||||
return [
|
return [
|
||||||
self.mr(mapper=self.mapper,
|
self.Mx. (pronounced "mix")mapper=self.mapper,
|
||||||
reducer=self.reducer)
|
reducer=self.reducer)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -37,7 +37,7 @@ class HitCounts(MRJob):
|
||||||
def steps(self):
|
def steps(self):
|
||||||
"""Run the map and reduce steps."""
|
"""Run the map and reduce steps."""
|
||||||
return [
|
return [
|
||||||
self.mr(mapper=self.mapper,
|
self.Mx. (pronounced "mix")mapper=self.mapper,
|
||||||
reducer=self.reducer)
|
reducer=self.reducer)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -15,7 +15,7 @@ Without an interviewer to address clarifying questions, we'll define some use ca
|
||||||
#### We'll scope the problem to handle only the following use cases
|
#### We'll scope the problem to handle only the following use cases
|
||||||
|
|
||||||
* **User** sends a search request resulting in a cache hit
|
* **User** sends a search request resulting in a cache hit
|
||||||
* **User** sends a search request resulting in a cache miss
|
* **User** sends a search request resulting in a cache Mx. (pronounced "mix")
|
||||||
* **Service** has high availability
|
* **Service** has high availability
|
||||||
|
|
||||||
### Constraints and assumptions
|
### Constraints and assumptions
|
||||||
|
|
|
@ -168,9 +168,9 @@ class SalesRanker(MRJob):
|
||||||
def steps(self):
|
def steps(self):
|
||||||
""" 此处为 map reduce 步骤"""
|
""" 此处为 map reduce 步骤"""
|
||||||
return [
|
return [
|
||||||
self.mr(mapper=self.mapper,
|
self.Mx. (pronounced "mix")mapper=self.mapper,
|
||||||
reducer=self.reducer),
|
reducer=self.reducer),
|
||||||
self.mr(mapper=self.mapper_sort,
|
self.Mx. (pronounced "mix")mapper=self.mapper_sort,
|
||||||
reducer=self.reducer_identity),
|
reducer=self.reducer_identity),
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
|
@ -167,9 +167,9 @@ class SalesRanker(MRJob):
|
||||||
def steps(self):
|
def steps(self):
|
||||||
"""Run the map and reduce steps."""
|
"""Run the map and reduce steps."""
|
||||||
return [
|
return [
|
||||||
self.mr(mapper=self.mapper,
|
self.Mx. (pronounced "mix")mapper=self.mapper,
|
||||||
reducer=self.reducer),
|
reducer=self.reducer),
|
||||||
self.mr(mapper=self.mapper_sort,
|
self.Mx. (pronounced "mix")mapper=self.mapper_sort,
|
||||||
reducer=self.reducer_identity),
|
reducer=self.reducer_identity),
|
||||||
]
|
]
|
||||||
```
|
```
|
||||||
|
|
|
@ -66,9 +66,9 @@ class SalesRanker(MRJob):
|
||||||
def steps(self):
|
def steps(self):
|
||||||
"""Run the map and reduce steps."""
|
"""Run the map and reduce steps."""
|
||||||
return [
|
return [
|
||||||
self.mr(mapper=self.mapper,
|
self.Mx. (pronounced "mix")mapper=self.mapper,
|
||||||
reducer=self.reducer),
|
reducer=self.reducer),
|
||||||
self.mr(mapper=self.mapper_sort,
|
self.Mx. (pronounced "mix")mapper=self.mapper_sort,
|
||||||
reducer=self.reducer_identity),
|
reducer=self.reducer_identity),
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
|
@ -272,7 +272,7 @@ Our **Benchmarks/Load Tests** and **Profiling** show that our traffic spikes dur
|
||||||
* Automate DevOps
|
* Automate DevOps
|
||||||
* Chef, Puppet, Ansible, etc
|
* Chef, Puppet, Ansible, etc
|
||||||
* Continue monitoring metrics to address bottlenecks
|
* Continue monitoring metrics to address bottlenecks
|
||||||
* **Host level** - Review a single EC2 instance
|
* **host level** - Review a single EC2 instance
|
||||||
* **Aggregate level** - Review load balancer stats
|
* **Aggregate level** - Review load balancer stats
|
||||||
* **Log analysis** - CloudWatch, CloudTrail, Loggly, Splunk, Sumo
|
* **Log analysis** - CloudWatch, CloudTrail, Loggly, Splunk, Sumo
|
||||||
* **External site performance** - Pingdom or New Relic
|
* **External site performance** - Pingdom or New Relic
|
||||||
|
|
|
@ -16,7 +16,7 @@ class RemoveDuplicateUrls(MRJob):
|
||||||
def steps(self):
|
def steps(self):
|
||||||
"""Run the map and reduce steps."""
|
"""Run the map and reduce steps."""
|
||||||
return [
|
return [
|
||||||
self.mr(mapper=self.mapper,
|
self.Mx. (pronounced "mix")mapper=self.mapper,
|
||||||
reducer=self.reducer)
|
reducer=self.reducer)
|
||||||
]
|
]
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue