<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                ??碼云GVP開源項目 12k star Uniapp+ElementUI 功能強大 支持多語言、二開方便! 廣告
                #網站的架構演進 ![](https://box.kancloud.cn/2016-05-20_573e7553b7ecc.png) ![](https://box.kancloud.cn/2016-05-20_573e7553df667.png) ![](https://box.kancloud.cn/2016-05-20_573e7554156c4.png) ![](https://box.kancloud.cn/2016-05-20_573e755442561.png) ![](https://box.kancloud.cn/2016-05-20_573e75546db77.png) ![](https://box.kancloud.cn/2016-05-20_573e75549f32b.png) ![](https://box.kancloud.cn/2016-05-20_573e7554d7535.png) ![](https://box.kancloud.cn/2016-05-20_573e75552e463.png) ![](https://box.kancloud.cn/2016-05-20_573e75555ff4d.png) #優化 ##優化兩大核心原則-前端緩存 * 瀏覽器地址緩存,DNS Cache(TTL) * 瀏覽器中文件的緩存(Cache-Control) * cdn 中的緩存,cdn的原理(刷新的問題) * 文件分發路徑上的緩存(內部Squid,varnish,nginx cache) ##優化兩大核心原則-后端緩存 **數據庫緩存** * 打開就一定好嗎? * 如何保持? * 數據庫連接池 **Memcached** * 內存緩存,無持久化,高性能 **Redis** * 可持久化,數據結構豐富 **MongoDB** * 不算是緩存,是數據庫 * 坑比較多,長于描述類文件存儲 ##優化兩大核心原則-多級緩存 **頁面內緩存** * 進程內緩存 * 頁面內緩存 **OpCode Cache緩存(PHP)** * Java本身就支持 **本機緩存** * Opcode 加速器提供 **業務中間件緩存** * 商品信息中間件 * 用戶信息中間件 * 好友關系中間件 ![](https://box.kancloud.cn/2016-05-20_573e7555ae8e2.png) ![](https://box.kancloud.cn/2016-05-20_573e7555d6504.png) ##優化兩大核心原則-分離之分 **動靜分離** 1. 動靜分離不僅僅是體現在前端資源上 2. 數據庫上也有動靜分離 **讀寫分離** 1. 主從承壓分離 **特征分離** 1. 根據字段大小不同,實現設計上的分離 **業務分離** 1. 數據庫在業務分離,叫水平切分 2. 不同的業務使用不同的機器集群 3. 服務化 ##優化兩大核心原則-分層之分 **前端代碼分層** 1. base層 2. 公用層 3. page層 **后端業務代碼分層** 1. MVC分層 **架構部署分層** 1. 業務邏輯程序,中間件,后端數據存儲 **發布上線分層** 1. 重點業務,灰度發布 ##優化兩大核心原則-分布之分 **分布式數據庫** * 關系型數據庫 * NoSQL數據庫 **分布式緩存** * 內存緩存 * 可持久化緩存 * 文件緩存 **分布式存儲** * 分布式文件存儲 * 分布式日志數據存儲 **分布式計算** * 數據統計分析 * 全文檢索 ##優化兩大核心原則-分工之分 **多線程** * 多線程處理同一件事情 **職責分工** * 插件,擴展,模塊 * usb * Liunx內核 **Map-Reduce** * 將任務拆分,最后講結果合并 **異步之分** * 異步讓效率更高 * 系統更穩定 * 用戶體驗更好 ##架構與優化的保障 --工具化 1. 使用成熟的工具監控,Nagios,Mrtg,Cacti 2. 監控端口,請求,狀態碼,日志,Crontab 3. 自行編寫合適自己的工具,比如分析Haproxy 的流量計算所有的實時請求數,實現數據的備份自動和擴容的半自動化,實現小文件備份自動化,灰度發布系統 4. 終極目標:拋開繁瑣的運維步驟,拋開checklist,做到真正的自動化 ##架構與優化的保障 -- 成本 1. 上線前對業務的合理且充分的預估,根據業務的不同而不同 2. 一方面要用夠機器的資源。一方面要敢于做擴容的決斷 3. 檢測業務的使用效率,做不同的對待,有回收,有擴容 4. 意外事件的保障,災備 5. 降級,保障核心運轉,保障讀,差異服務,灰度服務 ![](https://box.kancloud.cn/2016-05-20_573e7556109cd.png) ![](https://box.kancloud.cn/2016-05-20_573e755632dd9.png) ![](https://box.kancloud.cn/2016-05-20_573e7556570e3.png)
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看