stanley
-
關于大型網站技術演進的思考(十二)–網站靜態化處理—緩存(4)
原文出處: 夏天的森林 上篇我補充了下SSI的知識,SSI是一個十分常見的技術,記得多年前我看到很多門戶網站頁面的后綴是.shtml,那么這就說明很多門戶網站都曾經使用過SSI技術,其實現在搜狐網站也還在用shtml,如下圖所示: 由此可見SSI在互聯網的應用還是非常廣泛的。其實互聯網很多網頁如果我們按照動靜分離策略拆分,絕…
-
關于大型網站技術演進的思考(十一)–網站靜態化處理—動靜分離策略(3)
原文出處: 夏天的森林 前文里我講到了網站靜態化的關鍵點是動靜分離,動靜分離是讓動態網站里的動態網頁根據一定規則把不變的資源和經常變的資源區分開來,動靜資源做好了拆分以后,我們就可以根據靜態資源的特點將其做緩存操作,這就是網站靜態化處理的核心思路。由此可見,網站靜態化處理的核心就是動靜分離和緩存兩大方面,上篇我簡單講述了動靜…
-
關于大型網站技術演進的思考(十)–網站靜態化處理—動靜整合方案(2)
原文出處: 夏天的森林 上篇文章我簡要的介紹了下網站靜態化的演進過程,有朋友可能認為這些知識有點過于稀松平常了,而且網站靜態化的技術基點也不是那么高深和難以理解,因此它和時下日新月異的web前端技術相比,就顯得不倫不類了。其實當我打算寫本系列的之前我個人覺得web前端有一個點是很多人都知道重要,但是有常常低估它作用的,那就…
-
關于大型網站技術演進的思考(八):存儲的瓶頸(8)
原文出處: 夏天的森林 在開始本篇主要內容前,我們一起看看下面的幾張截圖,首先是第一張圖,如下圖所示: 這是一家電商網站的首頁,當我們第一次打開這個首頁,網站會彈出一個強制性的對話框,讓用戶選擇貨物配送的地址,如果是淘寶和京東的話,那么這個選擇配貨地址的選項是在商品里,如下圖是淘寶的選擇配送地點: 下圖是京東選擇配貨地點: 那么圖一跟京…
-
關于大型網站技術演進的思考(九)–網站靜態化處理–總述(1)
原文出處: 夏天的森林 在存儲瓶頸的開篇我提到像hao123這樣的導航網站只要它部署的web服務器數量足夠,它可以承載超大規模的并發訪問量,如果是一個動態的網站,特別是使用到了數據庫的網站是很難做到通過增加web服務器數量的方式來有效的增加網站并發訪問能力的。但是現實情況是像淘寶、京東這樣的大型動態網站在承擔高并發的情況下…
-
關于大型網站技術演進的思考(七):存儲的瓶頸(7)
原文出處: 夏天的森林 本文開篇提個問題給大家,關系數據庫的瓶頸有哪些?我想有些朋友看到這個問題肯定會說出自己平時開發中碰到了一個跟數據庫有關的什么什么問題,然后如何解決的等等,這樣的答案沒問題,但是卻沒有代表性,如果出現了一個新的存儲瓶頸問題,你在那個場景的處理經驗可以套用在這個新問題上嗎?這個真的很難說。 其實不管什么樣的問題場景最…
-
關于大型網站技術演進的思考(六):存儲的瓶頸(6)
原文出處: 夏天的森林 在講數據庫水平拆分時候,我列出了水平拆分數據庫需要解決的兩個難題,它們分別是主鍵的設計問題和單表查詢的問題,主鍵問題前文已經做了比較詳細的講述了,但是第二個問題我沒有講述,今天我將會講講如何解決數據表被垂直拆分后的單表查詢問題。 要解決數據表被水平拆分后的單表查詢問題,我們首先要回到問題的源頭,我們為什么需要將數…
-
關于大型網站技術演進的思考(五):存儲的瓶頸(5)
原文出處: 夏天的森林 上文里我遺留了兩個問題,一個問題是數據庫做了水平拆分以后,如果我們對主鍵的設計采取一種均勻分布的策略,那么它對于被水平拆分出的表后續的查詢操作將有何種影響,第二個問題就是水平拆分的擴容問題。這兩個問題在深入下去,本系列就越來越技術化了,可能最終很多朋友讀完后還是沒有找到解決實際問題的啟迪,而且我覺得…
-
關于大型網站技術演進的思考(四):存儲的瓶頸(4)
原文出處: 夏天的森林 如果數據庫需要進行水平拆分,這其實是一件很開心的事情,因為它代表公司的業務正在迅猛的增長,對于開發人員而言那就是有不盡的項目可以做,雖然會感覺很忙,但是人過的充實,心里也踏實。 數據庫水平拆分簡單說來就是先將原數據庫里的一張表在做垂直拆分出來放置在單獨的數據庫和單獨的表里后更進一步的把本來是一個整體…
-
關于大型網站技術演進的思考(二):存儲的瓶頸(2)
原文出處: 夏天的森林 上篇里我講到某些網站在高并發下會報出503錯誤,503錯誤的含義是指網站服務端暫時無法提供服務的含義,503還表達了網站服務端現在有問題但是以后可能會提供正常的服務,對http協議熟悉的人都知道,5開頭的響應碼表達了服務端出現了問題,在我們開發測試時候最為常見的是500錯誤,500代表的含義是服務端程…
-
淺談群紅包的實現
前言:紅包是支付的方式, 也是社交的延伸。群紅包在這兩塊領域串聯得很好, 表現尤為的濃墨重彩. 承接上兩篇技術淺談:1). 淺談接龍紅包的技術實現.2). 淺談微信紅包搖一搖的技術實現.這一次, 讓我們談談群紅包的技術實現. 一為是紅包的分配算法, 二為競搶的技術實現. 分配算法:最初玩群紅包的時候, 并沒有意識到分配算法的難度…
-
PHP進階知識總結
周末梳理了下這段時間看書的一些知識點,進步的過程不僅要實踐,還要安排多看書、思考、總結。 只針對知識點進行了羅列和簡單說明,很多細節還未整理好,待后面再專門詳細寫。 基礎易忽略概念 PHP是一個支持面向對象開發的語言,而不是一個純面向對象的語言 PHP5中保留了對var的支持,但會將var自動轉換為public 類型檢查函數: i…
-
Redis 存儲分片之代理服務Twemproxy 測試
概述 實際業務場景中單點 Redis 容量、并發都是有限的,所以有 Redis Cluster 的需求。 但是官方的 Redis Cluster 一再跳票,還不可用。 只好先使用最簡單的方式:Proxy。有很多可選,但在大范圍生產使用的, Twitter 開源的 Twemproxy 看起來是個理想的選擇 – https://…
-
Python函數式編程指南(四):生成器
轉自 http://www.cnblogs.com/huxi/archive/2011/07/14/2106863.html 生成器是迭代器,同時也并不僅僅是迭代器,不過迭代器之外的用途實在是不多,所以我們可以大聲地說:生成器提供了非常方便的自定義迭代器的途徑。 這是函數式編程指南的最后一篇,似乎拖了一個星期才寫好,嗯…… 轉載請注明原作者和原文地…
-
一些不起眼但非常有用的 Vim 命令
原文出處: xmodulo 譯文出處:linux.cn – wangjiezhe 如果我的關于這個話題的最新帖子沒有提醒到你的話,那我明確地說,我是一個 Vim 的粉絲。所以在你們中的某些人向我扔石頭之前,我先向你們展示一系列“鮮為人知的 Vim 命令”。我的意思是,一些你可能以…