Reddit月瀏覽量從百萬擴容到十億的陷阱和教訓

2021-06-23 00:40:15 字數 2601 閱讀 8591

傑里公尺借用了(宗教裡對比)罪惡和美德的方式來總結經驗教訓,他分享了在擴充套件reddit過程中所犯錯誤的例子,也可以看到他們同樣做了很多正確的事情。不過有點令人吃驚的是,傑里公尺現在是netflix[3]的可靠性架構師。所以這篇文章中也有netflix的一些經驗。(感謝 dryrun

。)我完全認可的一些經驗教訓:

還有很多。我們從早期擴充套件reddit的錯誤中學到許多經驗教訓,下面是我的觀點的一些解釋和展開:

1 在2023年在ec2上開始使用s3[12]提供標識的儲存和服務。

2 2023年開始使用s3支援縮圖。

3 2023年使用ec2提供批處理服務,並通過vpn通道連線資料中心。

4 2023年使用ec2服務整個**。**停運一天,將資料全部遷移到ec2。稍後會談到著名的資料重力例子。

5 堆疊機架不好玩。不想租用更多的機櫃和購買更多的伺服器。

6 資料中心增長過快,增速在早期無法**。

7 4人一組的開發團隊的使用**,ec2比在舊金山的資料中心成本節約29%。

8 所有資源都有賬戶配額。

9 甚至亞馬遜自己都不清楚什麼地方可能有配額。

10 跟蹤配額,並在需要的時候提公升。

11 捕獲異常以確認什麼時候又達到了配額上限。

12 優點:更容易自動調節,因為只是有問題的服務需要調節;更容易規劃容量;問題也更容易定位,因為它們在rest呼叫背後都是孤立的;改動和公升級產生的影響範圍更小;更高效的本地快取。

13 缺點:需要多個開發團隊或開發者來跟進多個服務,因此你需要更多的人;需要乙個共同的平台以防重複工作;對剛起步的小團隊來說太多的間接支出。

14 每個資料庫都有主從設計。投票用資料庫是一主一從。而注釋用資料庫是一主12從。

15 盡可能避免從主資料庫讀取,而是直接從從屬資料庫讀取,保持主資料庫只進行寫操作。

16 客戶端庫將在從屬資料庫之間進行負載平衡,如果乙個從屬資料庫處於忙狀態,則嘗試使用另外乙個從資料庫。

17 編寫乙個叫「thing」的資料庫訪問層。

18 這種方式支撐了很長時間,包括資料庫切分、從資料庫讀取、跟蹤從資料庫的效能用於更好的負載均衡。

19 快速寫入,快速反查,簡單的增量可擴充套件性,無單點故障。

20 在netflix資料被分布式部署在三個不同的區域。完整的資料副本同時存在三個區域中。即使乙個區域丟失,依然可以正確執行。

)22 使用者可以讀取**從而得知篡改投票是不存在的。

23 使用者可以新增他們想要的功能,reddit會接受它。這個其實行不通,因為人們並不真的想寫**。

24 招聘。其他人知道這**,所以更容易僱人。

1. reddit是一家美國社交新聞**reddit.com。

2. ramp

是乙個所有創業者在擴大經營規模前想要參加的討論會。

4. ssd即solid state disk固態硬碟。

5. ram即random access memory隨機訪問儲存器。

6. akamai是一家美國內容分發網路(cdn)服務商。

7. postgres即postgresql, 是乙個自由的物件-關聯式資料庫伺服器(資料庫管理系統)。

8. ebs即exclusion basis system,動態金鑰管理方法。

9. y combinator是一家以投資種子階段初創公司為業務的創投公司。

10. digg即「掘客

」,或者「頂格

」,美國

公司,2023年被紐約科技開發公司betaworks收購。

11. ec2即亞馬遜彈性計算雲(elastic compute cloud),是乙個讓使用者可以租用雲端電腦執行所需應用的系統。

13. vpn即虛擬專用網路(virtual private network),是在公用網路上建立專用網路的技術。

14. memcache是乙個高效能的分布式的記憶體物件快取系統。

15. cassandra是一套開源分布式nosql資料庫系統。

16. rest即表徵狀態轉移(representational state transfer)是roy fielding

博士在2023年博士**中提出來的一種軟體架構

風格。17. rabbitmq是流行的開源訊息佇列系統。

18. haproxy提供高可用性、負載均衡

以及基於tcp和http應用的**。

19. nginx即engine x,是乙個高效能的 http和反向**

伺服器。

20. l7即layer7,是網路層協議的指令碼檔案。

21. ssl即secure sockets layer安全套接層,是為網路通訊提供安全及資料完整性的一種安全協議。

22. pylons是乙個開放源**的web應用框架,使用python語言編寫。

23. django是乙個開放源**的web應用框架,使用python語言編寫。

24. flickr是雅虎旗下分享**。

25. subreddit 是reddit上乙個定製的子論壇。

26. bloom filter即布隆過濾器,是乙個很長的二進位制向量和一系列隨機對映函式。

27. condé nast即康泰納仕,是乙個總部位於美國紐約市的國際期刊出版集團。

ganglia是uc berkeley發起的乙個開源集群監視專案。

from:

刷部落格瀏覽量

看了一篇部落格後,感覺很好玩,那直接執行 了,因為這個 是python比較老的版本了,所以直接複製執行有點錯誤,只要稍加修改即可執行,具體可參考手冊 coding utf 8 created on sat sep 30 10 57 20 2017 author hechengjian coding ...

怎樣增加網頁的瀏覽量

對於做 的人來說,誰都希望自己的 有較大的流量。但是,很多人認為僅把內容做好了流量就能上來,這是不準確的,頁面的合理設定對 流量同樣起著舉足輕重的使用,特別是文章最終頁,更是重中之重。今天就讓筆者帶領大家了解一下怎樣做好網頁,增大網頁的瀏覽量。一 為內容關鍵字新增超級鏈結 如果條件允許,將文章中的一...

Python 自動刷部落格瀏覽量

哈哈,今天的話題有點那什麼了哈。咱們應該秉承學習技術的角度來看,那麼就開始今天的話題吧。今天很偶然的乙個機會,聽到別人在談論現在的 刷量 行為,於是就激發了我的好奇心。然後看了下requests模組正好對我有用,就寫了乙個簡單的測試用例。神奇的發現這一招竟然是管用的。那還等什麼,開刷咯。思路很簡單,...