日日操夜夜添-日日操影院-日日草夜夜操-日日干干-精品一区二区三区波多野结衣-精品一区二区三区高清免费不卡

公告:魔扣目錄網為廣大站長提供免費收錄網站服務,提交前請做好本站友鏈:【 網站目錄:http://www.ylptlb.cn 】, 免友鏈快審服務(50元/站),

點擊這里在線咨詢客服
新站提交
  • 網站:51998
  • 待審:31
  • 小程序:12
  • 文章:1030137
  • 會員:747

翻譯自jdon社區
原文:http://h5ip.cn/ev8N 
每天10億次請求的絕佳干貨分享

 

印度最大電商公司Snapdeal介紹了其Snapdeal Ads系統支持每天5B請求的經驗分享。

Snapdeal是一家類似于京東和阿里巴巴結合體的電商平臺。獨立商戶可以借助這個平臺銷售高質量的商品,在Snapdeal出售的商品均為全新,并且支持七天免費退換。商家進駐Snapdeal后,隨后的事宜(交易、包裝和物流)都將由Snapdeal完成,也就是商家都將成為Snapdeal的“供貨商”,無需與用戶直接進行交易。

對于只有不到10個工程師的團隊構建一個可伸縮的大型Web系統(web-scale)是困難的,使用正確的技術也許比你的團隊成員數量多少更加重要。

關鍵戰略:

1. 從水平和垂直兩個方面擴展

2.CAP定理中選擇可用性和分區容錯性(AP),而不是一致性和可用性組合(CA)。因為初始目標是需要一個低延遲 高性能的拍賣服務平臺。

3.沒有廠商鎖定保護或因為專利限制使用的情況,開源軟件以前達到毫無疑問的穩定和易用程度,且低費用。因此決定不再使用軟件供應廠商的專有軟件。

4.基于機器同情Mechanical Sympathy法則建立系統,軟件建立在深刻理解硬件工作機理上,通過軟件最大發揮硬件潛能。

5.云技術的限制使用,因為亞馬遜EC2比較昂貴,其次是網絡不確定和磁盤虛擬化會提高延遲時間。

6.如果延遲存在就必須處理它,再試圖消除它,所有的查詢應該限制在1ms以下,使用RocksDB和各種其他解決方案作為初始緩存/嵌入式數據庫。

7.盡可能使用SSD,也是為了降低延遲。

8.不虛擬化硬件,利用大規模硬件優點(256GB RAM, 24 core)并行化很多計算。

9.磁盤寫操作,如果可能進行計時然后每隔幾秒將一串數據flush寫到到磁盤。

10.Nginx微調到支持keep-alive連接,Netty優化到支持大量并發負載支持模型。

11.關鍵數據對于廣告服務器總是立即可用(微妙級),所有數據都是存儲在內存in-memory的庫或數據結構中。

12.架構應該總是share nothing,至少廣告服務器和外部拍賣系統應該是share nothing,當我們拔掉廣告服務器時,整個系統都不會眨眼受到影響。

13.所有關鍵數據結果必須是可復制的。

14.保持幾天的原始記錄備份。

15.如果數據有點過時和系統不一致,沒有關系。

16.消息系統應該是失敗容錯,可以崩潰但是不能丟失數據。

當前基礎設施:

1.跨3個數據中心的40–50節點。

2.其中是30臺用于高計算(128–256G RAM, 24 cores, 當前頂級CPU,盡可能SSD)

3.其余小于32G RAM, Quadcore機器.

4.10G私有網絡 + 10G 公共網絡

5.小型 Cassandra, Hbase 和 Spark 集群.

關鍵性需求:

1.系統支持多個拍賣者發送基于HTTP(REST端口)的RTB 2.0請求。

2.系統應當能在拍賣中推出Yes/No 價格與廣告的響應。

3.系統應當能處理每天數億的事件,響應幾百上千的QPS。

4.數據應該盡可能被處理,至少關鍵點是這樣。

使用的關鍵技術:

1.HBase和Cassandra用于計數據和和管理用戶或賬戶的傳統數據集,選擇HBase是因為高寫入性能,能夠幾乎實時處理計數。

2.后端主要語言是JAVA,盡管過去有C++和Erlang經驗,Java有成熟的應用技能,JVM也相當成熟。

3.google Protobuf 用于數據傳輸

4.Netty作為后端主要服務器,簡單高性能。

5.RocksDB作為用戶資料讀寫服務,它是嵌入式數據庫,使用Apache Kafka能夠跨RocksDB同步數據。

6.Kafka是用于消息隊列,流化數據處理

7.CQEngine用于主要的內存in-memory快速查詢。

8.Nginx是主要的反向代理

9.Apache Spark是用戶ML處理

10 Jenkins用于CI

11.Nagio和Newrelic 監視服務器

12.Zookeeper用于分布式同步

13.Dozens of third parties for audience segments, etc.

14.Bittorrent Sync用于同步跨節點和數據中心的關鍵數據

15.ustom built quota manger based on Yahoo white paper for budget control.

系統設計與結果:

ad服務器是使用簡單非堵塞的netty構建,處理每個進來的HTTP請求,在內存的很多存儲中尋找一個活動進行展示,這是使用CQ Engine查詢,這種查詢并不引發任何網絡延遲,計算時間或堵塞過程比如磁盤寫,將會整個在內存中運行,所有計算會發生在節點內存中,幾乎是in process。

ad服務器和其他系統沒有分享,共同組件是通過異步通訊。

ad服務器以5-15ms延遲的高性能傳遞結果,原始數據異步寫入到Kafka處理。

原始數據被Hbase中多個Java過程消費,預算和活動狀態在Cassandra集群中更新。

一些原始數據發往spark集群用于adhoc處理。

分享到:
標簽:系統 Web
用戶無頭像

網友整理

注冊時間:

網站:5 個   小程序:0 個  文章:12 篇

  • 51998

    網站

  • 12

    小程序

  • 1030137

    文章

  • 747

    會員

趕快注冊賬號,推廣您的網站吧!
最新入駐小程序

數獨大挑戰2018-06-03

數獨一種數學游戲,玩家需要根據9

答題星2018-06-03

您可以通過答題星輕松地創建試卷

全階人生考試2018-06-03

各種考試題,題庫,初中,高中,大學四六

運動步數有氧達人2018-06-03

記錄運動步數,積累氧氣值。還可偷

每日養生app2018-06-03

每日養生,天天健康

體育訓練成績評定2018-06-03

通用課目體育訓練成績評定