鑒於最近跟小伙伴聊了很多PHP架構發展方向的問題,相關技術整理了一下,也順便規划了一下自己的2019年。 一.常用的設計模式以及使用場景 以下是我用到過的 工廠,單例,策略,註冊,適配,觀察者,原型,裝飾器,facade,loc,pipeline 二.閱讀一個框架源碼 例如:laravel 三.常用 ...
鑒於最近跟小伙伴聊了很多PHP架構發展方向的問題,相關技術整理了一下,也順便規划了一下自己的2019年。
一.常用的設計模式以及使用場景
以下是我用到過的 工廠,單例,策略,註冊,適配,觀察者,原型,裝飾器,facade,loc,pipeline
二.閱讀一個框架源碼 例如:laravel
三.常用利器優化
- mysql性能優化
(1)理解底層btree機制 (2)理解sql執行 (3)mysql索引優化 (4)慢查詢與sql優化 (5)mysql主從以及讀寫分離 (6)mysql分表策略以及意義 (7)資料庫中間件
- redis優化使用
(1)redis特點 (2)redis工作流程 (3)redis數據類型以及適用場景 (4)redis記憶體分配 (5)redis主從快照等
(6)redis批量操作優化 - nginx性能
(1)nginx詳解 (2)nginx配置 (3)nginx機制 (4)nginx集群 (5)nginx原理 (6)nginx擴展-可以基於openresty做擴展開發
- php性能(壓軸)
(1)是否優雅的創建對象 (2)類的設計陷阱 (3)程式設計規範 (4)php垃圾回收機制 (5)php-fpm相關 (6)php源碼
四.微服務
- swoole
(1)swoole基礎 (2)swoole進程模型 (3)task非同步任務,任務遲 (4)server伺服器 (5)資料庫連接池 (6)多進程 (7)協程
- api介面
(1)api架構設計 (2)api介面實現 (3)api介面擴展能力 (4)api自動生成文檔(可自己配置wiki平臺) (5)api性能調優
- swoft微服務框架
(1)微服務設計模式 (2)路由網關 (3)客戶端負載均衡 (4)conful服務治理 (5)RPC (6)微服務治理環節 (7)微服務監控 (8)容災
五.工程化
- linux 操作 各種命令操作
- python或shell腳本編寫
- composer的使用
- git的使用 gitlab或gogs
六.基礎架構
- 分散式架構原理
(1)分散式初始化 (2)分散式架構設計原則 (3)分散式通訊技術 (4)分散式協議
- 分散式緩存
(1)redis主從原理 (2)redis分散式集群部署 (3)redis數據一致性問題 (4)redis讀寫分離 (5)redis哨兵 (6)redis常見問題以及優化 (7)redis緩存擊穿以及雪崩預防策略
- 分散式rpc
(1)IO的概念 (2)多協議通訊 (3)併發處理 (4)rpc框架
- 消息中間件 redis,kafka等熟悉,以及判斷適用場景
七.壓力測試工具
ab,jmeter,LoadRunner,wrk 我使用比較多的是jmeter
八.其他語言的學習
golang,lua等
寄語:世上無難事,只要肯攀登