Translate section 25: Appendix
parent
31d8efeadb
commit
e4a8bafad7
273
README-id.md
273
README-id.md
|
@ -1731,33 +1731,35 @@ Kecuali Anda memiliki pengalaman yang cukup, latar belakang keamanan, atau melam
|
||||||
* [Panduan keamanan untuk pengembang](https://github.com/FallibleInc/security-guide-for-developers)
|
* [Panduan keamanan untuk pengembang](https://github.com/FallibleInc/security-guide-for-developers)
|
||||||
* [sepuluh teratas OWASP](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet)
|
* [sepuluh teratas OWASP](https://www.owasp.org/index.php/OWASP_Top_Ten_Cheat_Sheet)
|
||||||
|
|
||||||
## Appendix
|
## Lampiran
|
||||||
|
|
||||||
You'll sometimes be asked to do 'back-of-the-envelope' estimates. For example, you might need to determine how long it will take to generate 100 image thumbnails from disk or how much memory a data structure will take. The **Powers of two table** and **Latency numbers every programmer should know** are handy references.
|
Kita kadang diminta untuk melakukan estimasi 'kalkulasi di belakang amplop'.
|
||||||
|
Sebagai contoh, kita mungkin perlu menentukan berapa lama waktu yang diperlukan untuk menghasilkan 100 keluku dari disk atau berapa banyak memori yang akan digunakan oleh struktur data.
|
||||||
|
**Tabel perpangkatan dua** dan **Nilai latensi yang perlu diketahui oleh setiap pemrogram** merupakan referensi yang berguna.
|
||||||
|
|
||||||
### Tabel Perpangkatan dua
|
### Tabel perpangkatan dua
|
||||||
|
|
||||||
```
|
```
|
||||||
Power Exact Value Approx Value Bytes
|
Pangkat Nilai tepat Nilai kisaran Byte
|
||||||
---------------------------------------------------------------
|
---------------------------------------------------------------
|
||||||
7 128
|
7 128
|
||||||
8 256
|
8 256
|
||||||
10 1024 1 thousand 1 KB
|
10 1024 seribu 1 KB
|
||||||
16 65,536 64 KB
|
16 65,536 64 KB
|
||||||
20 1,048,576 1 million 1 MB
|
20 1,048,576 1 juta 1 MB
|
||||||
30 1,073,741,824 1 billion 1 GB
|
30 1,073,741,824 1 miliar 1 GB
|
||||||
32 4,294,967,296 4 GB
|
32 4,294,967,296 4 GB
|
||||||
40 1,099,511,627,776 1 trillion 1 TB
|
40 1,099,511,627,776 1 triliun 1 TB
|
||||||
```
|
```
|
||||||
|
|
||||||
#### Source(s) and further reading
|
#### Sumber dan bacaan lanjutan
|
||||||
|
|
||||||
* [Powers of two](https://en.wikipedia.org/wiki/Power_of_two)
|
* [Powers of two](https://en.wikipedia.org/wiki/Power_of_two)
|
||||||
|
|
||||||
### Nilai latensi yang perlu diketahui oleh setiap pemrogram]
|
### Nilai latensi yang perlu diketahui oleh setiap pemrogram
|
||||||
|
|
||||||
```
|
```
|
||||||
Latency Comparison Numbers
|
Nilai Perbandingan Latensi
|
||||||
--------------------------
|
--------------------------
|
||||||
L1 cache reference 0.5 ns
|
L1 cache reference 0.5 ns
|
||||||
Branch mispredict 5 ns
|
Branch mispredict 5 ns
|
||||||
|
@ -1775,14 +1777,14 @@ Read 1 MB sequentially from 1 Gbps 10,000,000 ns 10,000 us 10 ms 40x mem
|
||||||
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 ms 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
|
Catatan
|
||||||
-----
|
-----
|
||||||
1 ns = 10^-9 seconds
|
1 ns = 10^-9 seconds
|
||||||
1 us = 10^-6 seconds = 1,000 ns
|
1 us = 10^-6 seconds = 1,000 ns
|
||||||
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
|
1 ms = 10^-3 seconds = 1,000 us = 1,000,000 ns
|
||||||
```
|
```
|
||||||
|
|
||||||
Handy metrics based on numbers above:
|
Metrik yang berguna berdasarkan nilai di atas:
|
||||||
|
|
||||||
* Read sequentially from disk at 30 MB/s
|
* Read sequentially from disk at 30 MB/s
|
||||||
* Read sequentially from 1 Gbps Ethernet at 100 MB/s
|
* Read sequentially from 1 Gbps Ethernet at 100 MB/s
|
||||||
|
@ -1791,165 +1793,164 @@ Handy metrics based on numbers above:
|
||||||
* 6-7 world-wide round trips per second
|
* 6-7 world-wide round trips per second
|
||||||
* 2,000 round trips per second within a data center
|
* 2,000 round trips per second within a data center
|
||||||
|
|
||||||
#### Latency numbers visualized
|
#### Gambaran nilai latensi
|
||||||
|
|
||||||
![](https://camo.githubusercontent.com/77f72259e1eb58596b564d1ad823af1853bc60a3/687474703a2f2f692e696d6775722e636f6d2f6b307431652e706e67)
|
![](https://camo.githubusercontent.com/77f72259e1eb58596b564d1ad823af1853bc60a3/687474703a2f2f692e696d6775722e636f6d2f6b307431652e706e67)
|
||||||
|
|
||||||
#### Source(s) and further reading
|
#### Sumber dan bacaan lanjutan
|
||||||
|
|
||||||
* [Latency numbers every programmer should know - 1](https://gist.github.com/jboner/2841832)
|
* [Nilai latensi yang perlu diketahui oleh setiap pemrogram - 1](https://gist.github.com/jboner/2841832)
|
||||||
* [Latency numbers every programmer should know - 2](https://gist.github.com/hellerbarde/2843375)
|
* [Nilai latensi yang perlu diketahui oleh setiap pemrogram - 2](https://gist.github.com/hellerbarde/2843375)
|
||||||
* [Designs, lessons, and advice from building large distributed systems](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
|
* [Rancangan, pelajaran, dan anjuran dari pembangunan sistem terdistribusi besar](http://www.cs.cornell.edu/projects/ladis2009/talks/dean-keynote-ladis2009.pdf)
|
||||||
* [Software Engineering Advice from Building Large-Scale Distributed Systems](https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf)
|
* [Anjuran rekayasa perangkat lunak dari pembangunan sisterm terdistribusi skala besar](https://static.googleusercontent.com/media/research.google.com/en//people/jeff/stanford-295-talk.pdf)
|
||||||
|
|
||||||
### Tambahan pertanyaan wawancara perancangan sistem
|
### Tambahan pertanyaan wawancara perancangan sistem
|
||||||
|
|
||||||
> Common system design interview questions, with links to resources on how to solve each.
|
> Pertanyaan umum wawancara perancangan sistem, dengan tautan ke sumber daya untuk menyelesaikannya.
|
||||||
|
|
||||||
| Question | Reference(s) |
|
| Pertanyaan | Referensi |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Design a file sync service like Dropbox | [youtube.com](https://www.youtube.com/watch?v=PE4gwstWhmc) |
|
| Rancang layanan sinkronisasi file seperti Dropbox | [youtube.com](https://www.youtube.com/watch?v=PE4gwstWhmc) |
|
||||||
| Design a search engine like Google | [queue.acm.org](http://queue.acm.org/detail.cfm?id=988407)<br/>[stackexchange.com](http://programmers.stackexchange.com/questions/38324/interview-question-how-would-you-implement-google-search)<br/>[ardendertat.com](http://www.ardendertat.com/2012/01/11/implementing-search-engines/)<br/>[stanford.edu](http://infolab.stanford.edu/~backrub/google.html) |
|
| Rancang mesin pencari seperti Google | [queue.acm.org](http://queue.acm.org/detail.cfm?id=988407)<br/>[stackexchange.com](http://programmers.stackexchange.com/questions/38324/interview-question-how-would-you-implement-google-search)<br/>[ardendertat.com](http://www.ardendertat.com/2012/01/11/implementing-search-engines/)<br/>[stanford.edu](http://infolab.stanford.edu/~backrub/google.html) |
|
||||||
| Design a scalable web crawler like Google | [quora.com](https://www.quora.com/How-can-I-build-a-web-crawler-from-scratch) |
|
| Rancang perayap web terskala seperti Google | [quora.com](https://www.quora.com/How-can-I-build-a-web-crawler-from-scratch) |
|
||||||
| Design Google docs | [code.google.com](https://code.google.com/p/google-mobwrite/)<br/>[neil.fraser.name](https://neil.fraser.name/writing/sync/) |
|
| Rancang docs | [code.google.com](https://code.google.com/p/google-mobwrite/)<br/>[neil.fraser.name](https://neil.fraser.name/writing/sync/) |
|
||||||
| Design a key-value store like Redis | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
|
| Rancang gudang nilai-kunci seperti Redis | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
|
||||||
| Design a cache system like Memcached | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
|
| Rancang sistem penyinggahan seperti Memcached | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
|
||||||
| Design a recommendation system like Amazon's | [hulu.com](https://web.archive.org/web/20170406065247/http://tech.hulu.com/blog/2011/09/19/recommendation-system.html)<br/>[ijcai13.org](http://ijcai13.org/files/tutorial_slides/td3.pdf) |
|
| Rancang sistem rekomendasi seperti Amazon | [hulu.com](https://web.archive.org/web/20170406065247/http://tech.hulu.com/blog/2011/09/19/recommendation-system.html)<br/>[ijcai13.org](http://ijcai13.org/files/tutorial_slides/td3.pdf) |
|
||||||
| Design a tinyurl system like Bitly | [n00tc0d3r.blogspot.com](http://n00tc0d3r.blogspot.com/) |
|
| Rancang sistem url kecil seperti Bitly | [n00tc0d3r.blogspot.com](http://n00tc0d3r.blogspot.com/) |
|
||||||
| Design a chat app like WhatsApp | [highscalability.com](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html)
|
| Rancang aplikasi obrolan seperti WhatsApp | [highscalability.com](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html)
|
||||||
| Design a picture sharing system like Instagram | [highscalability.com](http://highscalability.com/flickr-architecture)<br/>[highscalability.com](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html) |
|
| Rancang sistem berbagi gambar seperti Instagram | [highscalability.com](http://highscalability.com/flickr-architecture)<br/>[highscalability.com](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html) |
|
||||||
| Design the Facebook news feed function | [quora.com](http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed)<br/>[quora.com](http://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed)<br/>[slideshare.net](http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture) |
|
| Rancang fungsi umpan berita Facebook | [quora.com](http://www.quora.com/What-are-best-practices-for-building-something-like-a-News-Feed)<br/>[quora.com](http://www.quora.com/Activity-Streams/What-are-the-scaling-issues-to-keep-in-mind-while-developing-a-social-network-feed)<br/>[slideshare.net](http://www.slideshare.net/danmckinley/etsy-activity-feeds-architecture) |
|
||||||
| Design the Facebook timeline function | [facebook.com](https://www.facebook.com/note.php?note_id=10150468255628920)<br/>[highscalability.com](http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html) |
|
| Rancang fungsi linimasa Facebook | [facebook.com](https://www.facebook.com/note.php?note_id=10150468255628920)<br/>[highscalability.com](http://highscalability.com/blog/2012/1/23/facebook-timeline-brought-to-you-by-the-power-of-denormaliza.html) |
|
||||||
| Design the Facebook chat function | [erlang-factory.com](http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf)<br/>[facebook.com](https://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=0) |
|
| Rancang fungsi obrolan Facebook | [erlang-factory.com](http://www.erlang-factory.com/upload/presentations/31/EugeneLetuchy-ErlangatFacebook.pdf)<br/>[facebook.com](https://www.facebook.com/note.php?note_id=14218138919&id=9445547199&index=0) |
|
||||||
| Design a graph search function like Facebook's | [facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-out-the-infrastructure-for-graph-search/10151347573598920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-indexing-and-ranking-in-graph-search/10151361720763920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920) |
|
| Rancang fungsi pencarian graf seperti Facebook | [facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-building-out-the-infrastructure-for-graph-search/10151347573598920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-indexing-and-ranking-in-graph-search/10151361720763920)<br/>[facebook.com](https://www.facebook.com/notes/facebook-engineering/under-the-hood-the-natural-language-interface-of-graph-search/10151432733048920) |
|
||||||
| Design a content delivery network like CloudFlare | [figshare.com](https://figshare.com/articles/Globally_distributed_content_delivery/6605972) |
|
| Rancang jaringan pengiriman konten seperti CloudFlare | [figshare.com](https://figshare.com/articles/Globally_distributed_content_delivery/6605972) |
|
||||||
| Design a trending topic system like Twitter's | [michael-noll.com](http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/)<br/>[snikolov .wordpress.com](http://snikolov.wordpress.com/2012/11/14/early-detection-of-twitter-trends/) |
|
| Rancang sistem topik terkini seperti Twitter | [michael-noll.com](http://www.michael-noll.com/blog/2013/01/18/implementing-real-time-trending-topics-in-storm/)<br/>[snikolov .wordpress.com](http://snikolov.wordpress.com/2012/11/14/early-detection-of-twitter-trends/) |
|
||||||
| Design a random ID generation system | [blog.twitter.com](https://blog.twitter.com/2010/announcing-snowflake)<br/>[github.com](https://github.com/twitter/snowflake/) |
|
| Rancang sistem penghasilan ID acak | [blog.twitter.com](https://blog.twitter.com/2010/announcing-snowflake)<br/>[github.com](https://github.com/twitter/snowflake/) |
|
||||||
| Return the top k requests during a time interval | [cs.ucsb.edu](https://www.cs.ucsb.edu/sites/cs.ucsb.edu/files/docs/reports/2005-23.pdf)<br/>[wpi.edu](http://davis.wpi.edu/xmdv/docs/EDBT11-diyang.pdf) |
|
| Kembalikan permintaan k teratas selama interval tertentu | [cs.ucsb.edu](https://www.cs.ucsb.edu/sites/cs.ucsb.edu/files/docs/reports/2005-23.pdf)<br/>[wpi.edu](http://davis.wpi.edu/xmdv/docs/EDBT11-diyang.pdf) |
|
||||||
| Design a system that serves data from multiple data centers | [highscalability.com](http://highscalability.com/blog/2009/8/24/how-google-serves-data-from-multiple-datacenters.html) |
|
| Rancang sistem yang menyajikan data dari berbagai pusat data | [highscalability.com](http://highscalability.com/blog/2009/8/24/how-google-serves-data-from-multiple-datacenters.html) |
|
||||||
| Design an online multiplayer card game | [indieflashblog.com](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)<br/>[buildnewgames.com](http://buildnewgames.com/real-time-multiplayer/) |
|
| Rancang permainan kartu banyak pemain daring | [indieflashblog.com](http://www.indieflashblog.com/how-to-create-an-asynchronous-multiplayer-game.html)<br/>[buildnewgames.com](http://buildnewgames.com/real-time-multiplayer/) |
|
||||||
| Design a garbage collection system | [stuffwithstuff.com](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)<br/>[washington.edu](http://courses.cs.washington.edu/courses/csep521/07wi/prj/rick.pdf) |
|
| Rancang sistem pemungut sampah | [stuffwithstuff.com](http://journal.stuffwithstuff.com/2013/12/08/babys-first-garbage-collector/)<br/>[washington.edu](http://courses.cs.washington.edu/courses/csep521/07wi/prj/rick.pdf) |
|
||||||
| Design an API rate limiter | [https://stripe.com/blog/](https://stripe.com/blog/rate-limiters) |
|
| Rancang pembatas laju API | [https://stripe.com/blog/](https://stripe.com/blog/rate-limiters) |
|
||||||
| Add a system design question | [Contribute](#contributing) |
|
| Tambahkan pertanyaan perancangan sistem | [Kontribusi](#kontribusi) |
|
||||||
|
|
||||||
### Arsitektu dunia nyata
|
### Arsitektu dunia nyata
|
||||||
|
|
||||||
> Articles on how real world systems are designed.
|
> Artikel tentang bagaiman sistem dirancang pada dunia nyata.
|
||||||
|
|
||||||
<p align="center">
|
<p align="center">
|
||||||
<img src="http://i.imgur.com/TcUo2fw.png"/>
|
<img src="http://i.imgur.com/TcUo2fw.png"/>
|
||||||
<br/>
|
<br/>
|
||||||
<i><a href=https://www.infoq.com/presentations/Twitter-Timeline-Scalability>Source: Twitter timelines at scale</a></i>
|
<i><a href=https://www.infoq.com/presentations/Twitter-Timeline-Scalability>Sumber: Lini masa Twitter terskala</a></i>
|
||||||
</p>
|
</p>
|
||||||
|
|
||||||
**Don't focus on nitty gritty details for the following articles, instead:**
|
**Jangan fokus pada detail seluk beluk artikel berikut, fokus lah pada:**
|
||||||
|
|
||||||
* Identify shared principles, common technologies, and patterns within these articles
|
* Kenali prinsip bersama, teknologi umum, dan pola dalam artikel
|
||||||
* Study what problems are solved by each component, where it works, where it doesn't
|
* Pelajari masalah yang diselesaikan oleh setiap komponen, dimana komponen dapat dan tidak dapat bekerja
|
||||||
* Review the lessons learned
|
* Ulas pelajaran yang dipetik
|
||||||
|
|
||||||
|Type | System | Reference(s) |
|
|Tipe | Sistem | Referensi |
|
||||||
|---|---|---|
|
|---|---|---|
|
||||||
| Data processing | **MapReduce** - Distributed data processing from Google | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/mapreduce-osdi04.pdf) |
|
| Pemrosesan data | **MapReduce** - Pemrosesan data terdistribusi dari Google | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/mapreduce-osdi04.pdf) |
|
||||||
| Data processing | **Spark** - Distributed data processing from Databricks | [slideshare.net](http://www.slideshare.net/AGrishchenko/apache-spark-architecture) |
|
| Pemrosesan data | **Spark** - Pemrosesan data terdistribusi dari Databricks | [slideshare.net](http://www.slideshare.net/AGrishchenko/apache-spark-architecture) |
|
||||||
| Data processing | **Storm** - Distributed data processing from Twitter | [slideshare.net](http://www.slideshare.net/previa/storm-16094009) |
|
| Pemrosesan data | **Storm** - Pemrosesan data terdistribusi dari Twitter | [slideshare.net](http://www.slideshare.net/previa/storm-16094009) |
|
||||||
| | | |
|
| | | |
|
||||||
| Data store | **Bigtable** - Distributed column-oriented database from Google | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf) |
|
| Gudang data | **Bigtable** - Basis data berorintasi kolom terdistribusi dari Google | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/chang06bigtable.pdf) |
|
||||||
| Data store | **HBase** - Open source implementation of Bigtable | [slideshare.net](http://www.slideshare.net/alexbaranau/intro-to-hbase) |
|
| Gudang data | **HBase** - Implementasi sumber terbuka dari Bigtable | [slideshare.net](http://www.slideshare.net/alexbaranau/intro-to-hbase) |
|
||||||
| Data store | **Cassandra** - Distributed column-oriented database from Facebook | [slideshare.net](http://www.slideshare.net/planetcassandra/cassandra-introduction-features-30103666)
|
| Gudang data | **Cassandra** - Basis data berorientasi kolom terdistribusi dari Facebook | [slideshare.net](http://www.slideshare.net/planetcassandra/cassandra-introduction-features-30103666)
|
||||||
| Data store | **DynamoDB** - Document-oriented database from Amazon | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/decandia07dynamo.pdf) |
|
| Gudang data | **DynamoDB** - Basis data berorientasi dokumen dari Amazon | [harvard.edu](http://www.read.seas.harvard.edu/~kohler/class/cs239-w08/decandia07dynamo.pdf) |
|
||||||
| Data store | **MongoDB** - Document-oriented database | [slideshare.net](http://www.slideshare.net/mdirolf/introduction-to-mongodb) |
|
| Gudang data | **MongoDB** - Basis data berorientasi dokumen | [slideshare.net](http://www.slideshare.net/mdirolf/introduction-to-mongodb) |
|
||||||
| Data store | **Spanner** - Globally-distributed database from Google | [research.google.com](http://research.google.com/archive/spanner-osdi2012.pdf) |
|
| Gudang data | **Spanner** - Basis data terdistribusi secara global dari Google | [research.google.com](http://research.google.com/archive/spanner-osdi2012.pdf) |
|
||||||
| Data store | **Memcached** - Distributed memory caching system | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
|
| Gudang data | **Memcached** - Sistem persinggahan memori terdistribusi | [slideshare.net](http://www.slideshare.net/oemebamo/introduction-to-memcached) |
|
||||||
| Data store | **Redis** - Distributed memory caching system with persistence and value types | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
|
| Gudang data | **Redis** - Sistem persinggahan memori terdistribusi dengan persistensi dan tipe nilai | [slideshare.net](http://www.slideshare.net/dvirsky/introduction-to-redis) |
|
||||||
| | | |
|
| | | |
|
||||||
| File system | **Google File System (GFS)** - Distributed file system | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/gfs-sosp2003.pdf) |
|
| Sistem berkas | **Google File System (GFS)** - Sistem berkas terdistribusi | [research.google.com](http://static.googleusercontent.com/media/research.google.com/zh-CN/us/archive/gfs-sosp2003.pdf) |
|
||||||
| File system | **Hadoop File System (HDFS)** - Open source implementation of GFS | [apache.org](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) |
|
| Sistem berkas | **Hadoop File System (HDFS)** - Implementasi sumber terbuka dari GFS | [apache.org](http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-hdfs/HdfsDesign.html) |
|
||||||
| | | |
|
| | | |
|
||||||
| Misc | **Chubby** - Lock service for loosely-coupled distributed systems from Google | [research.google.com](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/chubby-osdi06.pdf) |
|
| Tambahan | **Chubby** - Layanan penguncian untuk sistem terdistribusi hubungan renggang dari Google | [research.google.com](http://static.googleusercontent.com/external_content/untrusted_dlcp/research.google.com/en/us/archive/chubby-osdi06.pdf) |
|
||||||
| Misc | **Dapper** - Distributed systems tracing infrastructure | [research.google.com](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36356.pdf)
|
| Tambahan | **Dapper** - Infrastruktur telusuran sistem terdistribusi | [research.google.com](http://static.googleusercontent.com/media/research.google.com/en//pubs/archive/36356.pdf)
|
||||||
| Misc | **Kafka** - Pub/sub message queue from LinkedIn | [slideshare.net](http://www.slideshare.net/mumrah/kafka-talk-tri-hug) |
|
| Tambahan | **Kafka** - Antrian pesan pub/sub dari LinkedIn | [slideshare.net](http://www.slideshare.net/mumrah/kafka-talk-tri-hug) |
|
||||||
| Misc | **Zookeeper** - Centralized infrastructure and services enabling synchronization | [slideshare.net](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper) |
|
| Tambahan | **Zookeeper** - Infrastruktur dan layanan terpusat untuk sinkronisasi | [slideshare.net](http://www.slideshare.net/sauravhaloi/introduction-to-apache-zookeeper) |
|
||||||
| | Add an architecture | [Contribute](#contributing) |
|
| | Tambahkan arsitektur | [Kontribusi](#kontribusi) |
|
||||||
|
|
||||||
### Company architectures
|
### Arsitektur perusahaan
|
||||||
|
|
||||||
| Company | Reference(s) |
|
| Perusahaan | Referensi |
|
||||||
|---|---|
|
|---|---|
|
||||||
| Amazon | [Amazon architecture](http://highscalability.com/amazon-architecture) |
|
| Amazon | [Arsitektur Amazon](http://highscalability.com/amazon-architecture) |
|
||||||
| Cinchcast | [Producing 1,500 hours of audio every day](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html) |
|
| Cinchcast | [Penghasilan 1.500 jam suara setiap hari](http://highscalability.com/blog/2012/7/16/cinchcast-architecture-producing-1500-hours-of-audio-every-d.html) |
|
||||||
| DataSift | [Realtime datamining At 120,000 tweets per second](http://highscalability.com/blog/2011/11/29/datasift-architecture-realtime-datamining-at-120000-tweets-p.html) |
|
| DataSift | [Penambangan data secara waktu nyata dengan 120.000 kicauan setiap detik](http://highscalability.com/blog/2011/11/29/datasift-architecture-realtime-datamining-at-120000-tweets-p.html) |
|
||||||
| DropBox | [How we've scaled Dropbox](https://www.youtube.com/watch?v=PE4gwstWhmc) |
|
| DropBox | [Bagaimana kami menyekala Dropbox](https://www.youtube.com/watch?v=PE4gwstWhmc) |
|
||||||
| ESPN | [Operating At 100,000 duh nuh nuhs per second](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html) |
|
| ESPN | [Pengoperasi 100.000 duh nuh nuhs per detik](http://highscalability.com/blog/2013/11/4/espns-architecture-at-scale-operating-at-100000-duh-nuh-nuhs.html) |
|
||||||
| Google | [Google architecture](http://highscalability.com/google-architecture) |
|
| Google | [Arsitektur Google](http://highscalability.com/google-architecture) |
|
||||||
| Instagram | [14 million users, terabytes of photos](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)<br/>[What powers Instagram](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances) |
|
| Instagram | [14 juta pengguna, terabyte foto](http://highscalability.com/blog/2011/12/6/instagram-architecture-14-million-users-terabytes-of-photos.html)<br/>[Apa kekuatan Instagram](http://instagram-engineering.tumblr.com/post/13649370142/what-powers-instagram-hundreds-of-instances) |
|
||||||
| Justin.tv | [Justin.Tv's live video broadcasting architecture](http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html) |
|
| Justin.tv | [Arsitektur penyiaran video langsung Justin.Tv](http://highscalability.com/blog/2010/3/16/justintvs-live-video-broadcasting-architecture.html) |
|
||||||
| Facebook | [Scaling memcached at Facebook](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/key-value/fb-memcached-nsdi-2013.pdf)<br/>[TAO: Facebook’s distributed data store for the social graph](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/data-store/tao-facebook-distributed-datastore-atc-2013.pdf)<br/>[Facebook’s photo storage](https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf)<br/>[How Facebook Live Streams To 800,000 Simultaneous Viewers](http://highscalability.com/blog/2016/6/27/how-facebook-live-streams-to-800000-simultaneous-viewers.html) |
|
| Facebook | [Penyekalaan Memcached di Facebook](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/key-value/fb-memcached-nsdi-2013.pdf)<br/>[TAO: Gudang data terdistribusi Facebook untuk graf sosial](https://cs.uwaterloo.ca/~brecht/courses/854-Emerging-2014/readings/data-store/tao-facebook-distributed-datastore-atc-2013.pdf)<br/>[Penyimpanan foto Facebook](https://www.usenix.org/legacy/event/osdi10/tech/full_papers/Beaver.pdf)<br/>[Cara Facebook siaran langsung ke 800.0000 penonton serentak](http://highscalability.com/blog/2016/6/27/how-facebook-live-streams-to-800000-simultaneous-viewers.html) |
|
||||||
| Flickr | [Flickr architecture](http://highscalability.com/flickr-architecture) |
|
| Flickr | [Arsitektur Flickr](http://highscalability.com/flickr-architecture) |
|
||||||
| Mailbox | [From 0 to one million users in 6 weeks](http://highscalability.com/blog/2013/6/18/scaling-mailbox-from-0-to-one-million-users-in-6-weeks-and-1.html) |
|
| Mailbox | [Drai 0 sampai 1 juta pengguna dalam 6 minggu](http://highscalability.com/blog/2013/6/18/scaling-mailbox-from-0-to-one-million-users-in-6-weeks-and-1.html) |
|
||||||
| Netflix | [A 360 Degree View Of The Entire Netflix Stack](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)<br/>[Netflix: What Happens When You Press Play?](http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html) |
|
| Netflix | [Pandangan 360 derajat dari seluruh tumpukan teknologi Netflix](http://highscalability.com/blog/2015/11/9/a-360-degree-view-of-the-entire-netflix-stack.html)<br/>[Netflix: Apa yang terjadi ketika kita menekan tombol mulai?](http://highscalability.com/blog/2017/12/11/netflix-what-happens-when-you-press-play.html) |
|
||||||
| Pinterest | [From 0 To 10s of billions of page views a month](http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html)<br/>[18 million visitors, 10x growth, 12 employees](http://highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-growth.html) |
|
| Pinterest | [Dari 0 sampai puluhan miliar tampilan halaman sebulan](http://highscalability.com/blog/2013/4/15/scaling-pinterest-from-0-to-10s-of-billions-of-page-views-a.html)<br/>[18 juta pengunjung, 10x pertumbuhan, 12 karyawan](http://highscalability.com/blog/2012/5/21/pinterest-architecture-update-18-million-visitors-10x-growth.html) |
|
||||||
| Playfish | [50 million monthly users and growing](http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html) |
|
| Playfish | [50 juta pengguna bulanan dan semakin bertumbuh](http://highscalability.com/blog/2010/9/21/playfishs-social-gaming-architecture-50-million-monthly-user.html) |
|
||||||
| PlentyOfFish | [PlentyOfFish architecture](http://highscalability.com/plentyoffish-architecture) |
|
| PlentyOfFish | [Arsitektur PlentyOfFish](http://highscalability.com/plentyoffish-architecture) |
|
||||||
| Salesforce | [How they handle 1.3 billion transactions a day](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html) |
|
| Salesforce | [Cara mereka menangani 1,3 miliar transaksi sehari](http://highscalability.com/blog/2013/9/23/salesforce-architecture-how-they-handle-13-billion-transacti.html) |
|
||||||
| Stack Overflow | [Stack Overflow architecture](http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html) |
|
| Stack Overflow | [Arsitektur Stack Overflow](http://highscalability.com/blog/2009/8/5/stack-overflow-architecture.html) |
|
||||||
| TripAdvisor | [40M visitors, 200M dynamic page views, 30TB data](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html) |
|
| TripAdvisor | [40 juta pengunjung, 200 juta tampilan halaman dinamis, 30TB data](http://highscalability.com/blog/2011/6/27/tripadvisor-architecture-40m-visitors-200m-dynamic-page-view.html) |
|
||||||
| Tumblr | [15 billion page views a month](http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html) |
|
| Tumblr | [15 miliar tampilan halaman sebulan](http://highscalability.com/blog/2012/2/13/tumblr-architecture-15-billion-page-views-a-month-and-harder.html) |
|
||||||
| Twitter | [Making Twitter 10000 percent faster](http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster)<br/>[Storing 250 million tweets a day using MySQL](http://highscalability.com/blog/2011/12/19/how-twitter-stores-250-million-tweets-a-day-using-mysql.html)<br/>[150M active users, 300K QPS, a 22 MB/S firehose](http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html)<br/>[Timelines at scale](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)<br/>[Big and small data at Twitter](https://www.youtube.com/watch?v=5cKTP36HVgI)<br/>[Operations at Twitter: scaling beyond 100 million users](https://www.youtube.com/watch?v=z8LU0Cj6BOU)<br/>[How Twitter Handles 3,000 Images Per Second](http://highscalability.com/blog/2016/4/20/how-twitter-handles-3000-images-per-second.html) |
|
| Twitter | [Mempercepat Twitter 10000 persen kali](http://highscalability.com/scaling-twitter-making-twitter-10000-percent-faster)<br/>[Penyimpanan 250 juta cuitan sehari menggunakan MySQL](http://highscalability.com/blog/2011/12/19/how-twitter-stores-250-million-tweets-a-day-using-mysql.html)<br/>[150 juta pengguna aktif, 300 ribu kueri per detik, a 22 MB/S firehose](http://highscalability.com/blog/2013/7/8/the-architecture-twitter-uses-to-deal-with-150m-active-users.html)<br/>[Skalabilitas lini masa](https://www.infoq.com/presentations/Twitter-Timeline-Scalability)<br/>[Data besar dan kecil di Twitter](https://www.youtube.com/watch?v=5cKTP36HVgI)<br/>[Operasional di Twitter: penyekalaan di atas 100 juta pengguna](https://www.youtube.com/watch?v=z8LU0Cj6BOU)<br/>[Cara Twitter menangani 30000 gambar per detik](http://highscalability.com/blog/2016/4/20/how-twitter-handles-3000-images-per-second.html) |
|
||||||
| Uber | [How Uber scales their real-time market platform](http://highscalability.com/blog/2015/9/14/how-uber-scales-their-real-time-market-platform.html)<br/>[Lessons Learned From Scaling Uber To 2000 Engineers, 1000 Services, And 8000 Git Repositories](http://highscalability.com/blog/2016/10/12/lessons-learned-from-scaling-uber-to-2000-engineers-1000-ser.html) |
|
| Uber | [Cara Uber menyekala platform pasar waktu nyata mereka](http://highscalability.com/blog/2015/9/14/how-uber-scales-their-real-time-market-platform.html)<br/>[Pelajaran yang dipetik dari menyekala Uber menjadi 2000 perekayasa, 1000 layanan, dan 8000 repositori Git](http://highscalability.com/blog/2016/10/12/lessons-learned-from-scaling-uber-to-2000-engineers-1000-ser.html) |
|
||||||
| WhatsApp | [The WhatsApp architecture Facebook bought for $19 billion](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) |
|
| WhatsApp | [Arsitektur WhatsApp yang dibeli Facebook senilai $19 milliar](http://highscalability.com/blog/2014/2/26/the-whatsapp-architecture-facebook-bought-for-19-billion.html) |
|
||||||
| YouTube | [YouTube scalability](https://www.youtube.com/watch?v=w5WVu624fY8)<br/>[YouTube architecture](http://highscalability.com/youtube-architecture) |
|
| YouTube | [Skalabilitas YouTube](https://www.youtube.com/watch?v=w5WVu624fY8)<br/>[Arsitektur YouTube](http://highscalability.com/youtube-architecture) |
|
||||||
|
|
||||||
### Blog teknik perusahaan
|
### Blog teknik perusahaan
|
||||||
|
|
||||||
> Architectures for companies you are interviewing with.
|
> Arsitektur perusahaan tempat Anda wawancara.
|
||||||
>
|
>
|
||||||
> Questions you encounter might be from the same domain.
|
> Pertanyaan yang mungkin ditanyakan dari domain yang sama.
|
||||||
|
|
||||||
* [Airbnb Engineering](http://nerds.airbnb.com/)
|
* [Rekayasa Airbnb](http://nerds.airbnb.com/)
|
||||||
* [Atlassian Developers](https://developer.atlassian.com/blog/)
|
* [Pengembang Atlassian](https://developer.atlassian.com/blog/)
|
||||||
* [AWS Blog](https://aws.amazon.com/blogs/aws/)
|
* [Blog AWS](https://aws.amazon.com/blogs/aws/)
|
||||||
* [Bitly Engineering Blog](http://word.bitly.com/)
|
* [Blog Rekayawa Bitly](http://word.bitly.com/)
|
||||||
* [Box Blogs](https://blog.box.com/blog/category/engineering)
|
* [Blog Box](https://blog.box.com/blog/category/engineering)
|
||||||
* [Cloudera Developer Blog](http://blog.cloudera.com/)
|
* [Blog Pengembang Cloudera](http://blog.cloudera.com/)
|
||||||
* [Dropbox Tech Blog](https://tech.dropbox.com/)
|
* [Blog Teknik Dropbox](https://tech.dropbox.com/)
|
||||||
* [Engineering at Quora](http://engineering.quora.com/)
|
* [Rekayasa di Quora](http://engineering.quora.com/)
|
||||||
* [Ebay Tech Blog](http://www.ebaytechblog.com/)
|
* [Blog Teknik Ebay](http://www.ebaytechblog.com/)
|
||||||
* [Evernote Tech Blog](https://blog.evernote.com/tech/)
|
* [Blog Teknik Evernote](https://blog.evernote.com/tech/)
|
||||||
* [Etsy Code as Craft](http://codeascraft.com/)
|
* [Etsy Code as Craft](http://codeascraft.com/)
|
||||||
* [Facebook Engineering](https://www.facebook.com/Engineering)
|
* [Rekayasa Facebook](https://www.facebook.com/Engineering)
|
||||||
* [Flickr Code](http://code.flickr.net/)
|
* [Kode Flickr](http://code.flickr.net/)
|
||||||
* [Foursquare Engineering Blog](http://engineering.foursquare.com/)
|
* [Blog Rekayasa Foursquare](http://engineering.foursquare.com/)
|
||||||
* [GitHub Engineering Blog](http://githubengineering.com/)
|
* [Blog Rekayasa GitHub Engineering Blog](http://githubengineering.com/)
|
||||||
* [Google Research Blog](http://googleresearch.blogspot.com/)
|
* [Blog Penelitian Google](http://googleresearch.blogspot.com/)
|
||||||
* [Groupon Engineering Blog](https://engineering.groupon.com/)
|
* [Blog Rekayasa Groupon](https://engineering.groupon.com/)
|
||||||
* [Heroku Engineering Blog](https://engineering.heroku.com/)
|
* [Blog Rekayasa Heroku](https://engineering.heroku.com/)
|
||||||
* [Hubspot Engineering Blog](http://product.hubspot.com/blog/topic/engineering)
|
* [Blog Rekayasa Hubspot](http://product.hubspot.com/blog/topic/engineering)
|
||||||
* [High Scalability](http://highscalability.com/)
|
* [High Scalability](http://highscalability.com/)
|
||||||
* [Instagram Engineering](http://instagram-engineering.tumblr.com/)
|
* [Rekayasa Instagram](http://instagram-engineering.tumblr.com/)
|
||||||
* [Intel Software Blog](https://software.intel.com/en-us/blogs/)
|
* [Blog Perangkat Lunak Intel](https://software.intel.com/en-us/blogs/)
|
||||||
* [Jane Street Tech Blog](https://blogs.janestreet.com/category/ocaml/)
|
* [Blog Teknik Jane Street](https://blogs.janestreet.com/category/ocaml/)
|
||||||
* [LinkedIn Engineering](http://engineering.linkedin.com/blog)
|
* [Rekayasa LinkedIn](http://engineering.linkedin.com/blog)
|
||||||
* [Microsoft Engineering](https://engineering.microsoft.com/)
|
* [Rekayasa Microsoft](https://engineering.microsoft.com/)
|
||||||
* [Microsoft Python Engineering](https://blogs.msdn.microsoft.com/pythonengineering/)
|
* [Rekayasa Python Microsoft](https://blogs.msdn.microsoft.com/pythonengineering/)
|
||||||
* [Netflix Tech Blog](http://techblog.netflix.com/)
|
* [Blog Teknik Netflix](http://techblog.netflix.com/)
|
||||||
* [Paypal Developer Blog](https://devblog.paypal.com/category/engineering/)
|
* [Blog Pengembang Paypal](https://devblog.paypal.com/category/engineering/)
|
||||||
* [Pinterest Engineering Blog](https://medium.com/@Pinterest_Engineering)
|
* [Blog Rekayasa Pinterest](https://medium.com/@Pinterest_Engineering)
|
||||||
* [Quora Engineering](https://engineering.quora.com/)
|
* [Blog Reddit](http://www.redditblog.com/)
|
||||||
* [Reddit Blog](http://www.redditblog.com/)
|
* [Blog Rekayasa Salesforce](https://developer.salesforce.com/blogs/engineering/)
|
||||||
* [Salesforce Engineering Blog](https://developer.salesforce.com/blogs/engineering/)
|
* [Blog Rekayasa Slack](https://slack.engineering/)
|
||||||
* [Slack Engineering Blog](https://slack.engineering/)
|
* [Lab Spotify](https://labs.spotify.com/)
|
||||||
* [Spotify Labs](https://labs.spotify.com/)
|
* [Blog Rekayasa Twilio](http://www.twilio.com/engineering)
|
||||||
* [Twilio Engineering Blog](http://www.twilio.com/engineering)
|
* [Rekayasa Twitter](https://blog.twitter.com/engineering/)
|
||||||
* [Twitter Engineering](https://blog.twitter.com/engineering/)
|
* [Blog Rekayasa Uber](http://eng.uber.com/)
|
||||||
* [Uber Engineering Blog](http://eng.uber.com/)
|
* [Blog Rekayasa Yahoo](http://yahooeng.tumblr.com/)
|
||||||
* [Yahoo Engineering Blog](http://yahooeng.tumblr.com/)
|
* [Blog Rekayasa Yelp](http://engineeringblog.yelp.com/)
|
||||||
* [Yelp Engineering Blog](http://engineeringblog.yelp.com/)
|
* [Blog Rekayasa Zynga](https://www.zynga.com/blogs/engineering)
|
||||||
* [Zynga Engineering Blog](https://www.zynga.com/blogs/engineering)
|
|
||||||
|
|
||||||
#### Source(s) and further reading
|
#### Sumber dan bacaan lanjutan
|
||||||
|
|
||||||
Looking to add a blog? To avoid duplicating work, consider adding your company blog to the following repo:
|
Ingin menambahkan blog? Untuk menghindari duplikasi kerjaan, pertimbangkan untuk menambahkan blog perusahaan ke repo berikut:
|
||||||
|
|
||||||
* [kilimchoi/engineering-blogs](https://github.com/kilimchoi/engineering-blogs)
|
* [kilimchoi/engineering-blogs](https://github.com/kilimchoi/engineering-blogs)
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue