伺服器

程式教學

數據庫軟件架構設計些什麽

一、基本概念 二、數據庫架構設計思路 (1)可用性 (2)讀性能 (3)一致性 (4)擴展性 一、基本概念 概念一“單庫” 概念二“分片” 分片解決的是“數據量太大”的問題,也就是通常說的“水平切分”。 一旦引入分片,勢必有“數據路由”的概念,哪個數據訪問哪個庫。 路由規則通常有3種方法: (1)範圍:range 優點:簡單,容易擴展 缺點:各庫壓力不均(新號段更活躍) (2)哈希:hash 優點:簡單,數據均衡,負載均勻 缺點:遷移麻煩(2庫擴3庫數據要遷移) (3)路由服務:router-config-server 優點:靈活性強,業務與路由算法解耦 […]

程式教學

YouTube系統架構【YouTube如此,你應該更有信心】

YouTube網站架構吐槽(上) YouTube作為一個幾十億級別流量的視頻網站,其站點維護人員卻少之又少,這些技術人員是如何設計YouTube架構,使其具備如此強大的抗壓能力的呢,我們接著往下看。 核心技術要點 1)Apache:站點服務器 2)Python:Web應用主要是用Python搞定的 3)Linux(SuSe):操作系統(筆者:為何選用SuSe呢) 4)Mysql:數據庫 5)psyco(筆者:psyco是Python的一個C語言擴展) 6)lighttpd:視頻服務器沒有用Apache,而是選擇用了lighttpd Web服務要點 1)使用NetScalar實現負載均衡,以及對靜態內容的緩存(筆者:NetScalar是一個Web應用優化的解決方案,常用於Web應用加速,負載均衡,Web安全功能等) 2)Apache使用mod_fast_cgi模式(筆者:fastcgi是一個進程常駐的CGI模型,主要解決傳統CGI模型令人詬病的“fork and execute”模型) 3)由一個Python服務專門負責Web請求的路由(筆者:那個時候Nginx還沒有大行其道) 4)CPU密集型的複雜計算,使用psyco用C語言搞定(筆者:Python這個技術選型真的合適麽) 5)Web層做頁面緩存 6)數據層做數據緩存 7)對於某些數據,提前計算,並形成本地緩存,但這個優化沒有大規模應用 Web服務效果

Scroll to Top