原创 ThinkPHP5、Swoole、 Laravel、,Phalcon,並理解其生命週期

ThinkPHP5 1、入口文件 虛擬主機目錄/public/index.php 2、引入啓動文件 虛擬主機目錄/thinkphp/start.php 3、運行App下面的run方法 虛擬主機目錄/thin

原创 在項目中,你遇到過哪些問題,是如何解決的

1.客戶投訴:接口報錯 搭建sentry,實時業務監控,異常郵件告警。 2.如果是代碼問題: 斷點 思考 百度 google 試驗 優化 提測 3.如果是業務邏輯問題 暫停 找PM 覈對 再覈對 4.沒有需求文檔、沒

原创 docker 初識

由docker菜鳥教程整理筆記 我認爲筆記的意義在於有的放矢,而不是像字典一樣的詳細。所以我後期的筆記風格都會以言簡意賅爲主,如果有什麼不懂得地方,直接百度。 Docker 容器的使用 獲取鏡像 docker pull ubunt

原创 MySQL數據庫設計及性能優化經驗

一.SQL優化 定位慢查詢: 爲查詢緩存優化你的查詢 MySQL函數慎用、用變量代替MySQL函數,where後儘量不使用MySQL函數 EXPLAIN 你的 SELECT 查詢 避免 SELECT * 永遠爲每張表設置一

原创 第1章 分佈式系統概述

淘寶的管理海量小文件的分佈式存儲系統TFS 阿里巴巴開源的分佈式調用框架Dubbo(讀音[ˈdʌbəʊ]) 阿里巴巴開源的數據庫中間件Cobar 爲了存儲大量的網站索引,谷歌設計了GFS分佈式文件存儲系統和基於列存儲的Bigta

原创 第1節 自動加載Loader深度分析

1.入口文件/public/index.php 2.加載框架引導文件/thinkphp/start.php 3. 引入基礎文件 /thinkphp/bash.php 定義環境常量 載入Loader類(下文着重記錄Loader

原创 第3節 IOC與門面Facade

單例模式 私有的構造函數 靜態成員變量來保持類的實例 訪問這個實例的靜態方法 class A { static public $instance = null; private function __construct()

原创 第2章 配置文件解讀

配置文件種類 ArrayAccess 提供像訪問數組一樣訪問對象的能力的接口 yaconf 一個高性能的配置管理擴展

原创 第6章 分佈式服務調用中間件

遠程過程調用(Remote Proredure Call, RPC)是一種非常傳統的技術,通過它,可以跨進程、跨機器(操作系統可以相同,也可以不同)進程過程調用 6.1 分佈式服務調用中間件簡介 RPC的基礎是序列化(marsh

原创 第7章 分佈式消息服務中間件

7.1 分佈式消息服務中間件簡介 隊列模型 一組消費者和一組發佈者通過一個隊列聯繫起來,隊列中的消息有序,中間件保證有且只有一個消費者收到消息。 發佈者-訂閱者模型 一組消費者和一組發佈者通過一個主題(topic)聯繫起來。

原创 第2章 Web框架的實現原理

CDN(Content Delivery Network),即內容分發網絡。用於緩存靜態數據,減輕對Web服務器的壓力 負載均衡器。分發請求 Web服務器集羣 在線存儲層:存儲的是Web應用處理的實時數據(熱數據) 離線存儲層

原创 第4章 分佈式同步服務中間件

分佈式同步服務就是提供分佈式同步服務的組件,它對外提供的功能就如同一個單機的鎖服務一樣,當其內部是由多個結點組成的,而且節點之間通過某種分佈式一致性協議(Paxos、Raft)來協調彼此的狀態。如果其中一個節點崩潰了,其他節點就

原创 第3章 反向代理和負載均衡

3.1 反向代理 負載均衡:按一定策略轉發web請求 服務加速:緩存靜態內容、解壓縮請求信息 請求鑑權: 3.1.1 Nginx 作爲Apache Web服務器的反向代理使用。 Nginx是專爲高併發情況而設計的,其設計思路

原创 第5章 關係型數據庫訪問中間件

5.1 數據庫訪問中間件的形式 客戶端程序庫 如:Java Jar包,阿里巴巴的TDDL(Taobao Distributed Database Layer)[dɪˈstrɪbjuːtɪd] [ler] 優點是性能高、缺點是對

原创 《分佈式系統設計實踐》李慶旭編著2019年11月1日出版-讀書筆記

第一部分 分佈式系統概述 淘寶的管理海量小文件的分佈式存儲系統TFS 阿里巴巴開源的分佈式調用框架Dubbo 阿里巴巴開源的數據庫中間件Cobar 爲了存儲大量的網站索引,谷歌設計了GFS分佈式文件存儲系統和基於列存儲的Bigt