php架構之路

来源:https://www.cnblogs.com/phpworld/archive/2019/04/28/10785698.html
-Advertisement-
Play Games

鑒於最近跟小伙伴聊了很多PHP架構發展方向的問題,相關技術整理了一下,也順便規划了一下自己的2019年。 一.常用的設計模式以及使用場景 以下是我用到過的 工廠,單例,策略,註冊,適配,觀察者,原型,裝飾器,facade,loc,pipeline 二.閱讀一個框架源碼 例如:laravel 三.常用 ...


鑒於最近跟小伙伴聊了很多PHP架構發展方向的問題,相關技術整理了一下,也順便規划了一下自己的2019年。

.常用的設計模式以及使用場景

       以下是我用到過的   工廠,單例,策略,註冊,適配,觀察者,原型,裝飾器,facade,loc,pipeline

.閱讀一個框架源碼 例如:laravel

.常用利器優化

  1. mysql性能優化
    (1)理解底層btree機制
    (2)理解sql執行
    (3)mysql索引優化
    (4)慢查詢與sql優化
    (5)mysql主從以及讀寫分離
    (6)mysql分表策略以及意義
    (7)資料庫中間件

     

  2. redis優化使用
    (1)redis特點
    (2)redis工作流程
    (3)redis數據類型以及適用場景
    (4)redis記憶體分配
    (5)redis主從快照等
    (6)redis批量操作優化

      

  3. nginx性能
    (1)nginx詳解
    (2)nginx配置
    (3)nginx機制
    (4)nginx集群
    (5)nginx原理
    (6)nginx擴展-可以基於openresty做擴展開發 

      

  4. php性能(壓軸)
    (1)是否優雅的創建對象
    (2)類的設計陷阱
    (3)程式設計規範
    (4)php垃圾回收機制
    (5)php-fpm相關
    (6)php源碼  

四.微服務

  1. swoole
    (1)swoole基礎
    (2)swoole進程模型
    (3)task非同步任務,任務遲
    (4)server伺服器
    (5)資料庫連接池
    (6)多進程
    (7)協程
    

      

  2. api介面
    (1)api架構設計
    (2)api介面實現
    (3)api介面擴展能力
    (4)api自動生成文檔(可自己配置wiki平臺)
    (5)api性能調優
    

      

  3. swoft微服務框架
    (1)微服務設計模式
    (2)路由網關
    (3)客戶端負載均衡
    (4)conful服務治理
    (5)RPC
    (6)微服務治理環節
    (7)微服務監控
    (8)容災
    

      

五.工程化

  1. linux 操作 各種命令操作
  2. python或shell腳本編寫
  3. composer的使用
  4. git的使用  gitlab或gogs

六.基礎架構

  1. 分散式架構原理
    (1)分散式初始化
    (2)分散式架構設計原則
    (3)分散式通訊技術
    (4)分散式協議
    

      

  2. 分散式緩存
    (1)redis主從原理
    (2)redis分散式集群部署
    (3)redis數據一致性問題
    (4)redis讀寫分離
    (5)redis哨兵
    (6)redis常見問題以及優化
    (7)redis緩存擊穿以及雪崩預防策略
    

      

  3. 分散式rpc
    (1)IO的概念
    (2)多協議通訊
    (3)併發處理
    (4)rpc框架
    

      

  4. 消息中間件 redis,kafka等熟悉,以及判斷適用場景

 

七.壓力測試工具

        ab,jmeter,LoadRunner,wrk  我使用比較多的是jmeter

八.其他語言的學習

        golang,lua等

 

寄語:世上無難事,只要肯攀登

您的分享是我們最大的動力!

-Advertisement-
Play Games
更多相關文章
  • 一、簡介 實際引用中,有些公司在不同地區會設置不同伺服器,因此就需要用到nginx以實現負載均衡,這時,將session數據保存至資料庫就成為了需要面對的問題,我們以MySQL資料庫為例,看看他是如何將數據上傳至mysql中的。在npm上有一個叫做:express-mysql-session的模塊, ...
  • 一、關於session session是另一種記錄客戶狀態的機制,與cookie保存在客戶端瀏覽器不同,session保存在伺服器當中;當客戶端訪問伺服器時,伺服器會生成一個session對象,對象中保存的是key:value值,同時伺服器會將key傳回給客戶端的cookie當中;當用戶第二次訪問服 ...
  • 前言 該筆記只是為了記錄以前開發使用的方式。 處理命名空間namespace extend及base命名下的常用方法 base下的DOM操作 base下的event事件 base下的array數組 base下的string字元串 base下的cookie操作 base下的date日期操作 base下 ...
  • 在前端學習過程中,涉及到路徑的問題非常多,相對路徑,絕對路徑等。有時候明明覺得沒問題,但是還是會出錯。或者說線下沒問題,但是到了線上就出現問題,因此弄懂路徑問題,非常關鍵。我們需要知道為什麼這個地方既可以使用相對路徑,又可以使用絕對路徑,為什麼有些地方只能使用絕對路徑。 一、Node.js中載入模塊 ...
  • 實驗環境:docker + openresty 我限制的5秒鐘內允許訪問兩次效果圖: default.conf 代碼如下: ...
  • 一、封裝 封裝:是面向對象方法的重要原則,就是把對象的屬性和行為(數據)結合為一個獨立的整體,並儘可能隱藏對象的內部實現細節,就是把不想告訴或者不該告訴別人的東西隱藏起來,把可以告訴別人的公開,別人只能用我提供的功能實現需求,而不知道是如何實現的。增加安全性 以上 Person 類封裝 name、g ...
  • 文章首發: "結構型模式:裝飾模式" 七大結構型模式之四:裝飾模式。 簡介 姓名 :裝飾模式 英文名 :Decorator Pattern 價值觀 :人靠衣裝,類靠裝飾 個人介紹 : Attach additional responsibilities to an object dynamicall ...
  • 這幾天在家,複習了了一下 Java SE ,到面向對象那邊找了個簡單數組項目做了一下,還是有收穫的。 只為記錄,好記性不如爛筆頭 有誤請指正 ありがとうございます。 我的公眾號 作者:晨鐘暮鼓c個人微信公眾號:程式猿的月光寶盒 1.首先,項目是客戶信息管理系統,需求如下: 2.涉及知識點 Ø 類結構 ...
一周排行
    -Advertisement-
    Play Games
  • 移動開發(一):使用.NET MAUI開發第一個安卓APP 對於工作多年的C#程式員來說,近來想嘗試開發一款安卓APP,考慮了很久最終選擇使用.NET MAUI這個微軟官方的框架來嘗試體驗開發安卓APP,畢竟是使用Visual Studio開發工具,使用起來也比較的順手,結合微軟官方的教程進行了安卓 ...
  • 前言 QuestPDF 是一個開源 .NET 庫,用於生成 PDF 文檔。使用了C# Fluent API方式可簡化開發、減少錯誤並提高工作效率。利用它可以輕鬆生成 PDF 報告、發票、導出文件等。 項目介紹 QuestPDF 是一個革命性的開源 .NET 庫,它徹底改變了我們生成 PDF 文檔的方 ...
  • 項目地址 項目後端地址: https://github.com/ZyPLJ/ZYTteeHole 項目前端頁面地址: ZyPLJ/TreeHoleVue (github.com) https://github.com/ZyPLJ/TreeHoleVue 目前項目測試訪問地址: http://tree ...
  • 話不多說,直接開乾 一.下載 1.官方鏈接下載: https://www.microsoft.com/zh-cn/sql-server/sql-server-downloads 2.在下載目錄中找到下麵這個小的安裝包 SQL2022-SSEI-Dev.exe,運行開始下載SQL server; 二. ...
  • 前言 隨著物聯網(IoT)技術的迅猛發展,MQTT(消息隊列遙測傳輸)協議憑藉其輕量級和高效性,已成為眾多物聯網應用的首選通信標準。 MQTTnet 作為一個高性能的 .NET 開源庫,為 .NET 平臺上的 MQTT 客戶端與伺服器開發提供了強大的支持。 本文將全面介紹 MQTTnet 的核心功能 ...
  • Serilog支持多種接收器用於日誌存儲,增強器用於添加屬性,LogContext管理動態屬性,支持多種輸出格式包括純文本、JSON及ExpressionTemplate。還提供了自定義格式化選項,適用於不同需求。 ...
  • 目錄簡介獲取 HTML 文檔解析 HTML 文檔測試參考文章 簡介 動態內容網站使用 JavaScript 腳本動態檢索和渲染數據,爬取信息時需要模擬瀏覽器行為,否則獲取到的源碼基本是空的。 本文使用的爬取步驟如下: 使用 Selenium 獲取渲染後的 HTML 文檔 使用 HtmlAgility ...
  • 1.前言 什麼是熱更新 游戲或者軟體更新時,無需重新下載客戶端進行安裝,而是在應用程式啟動的情況下,在內部進行資源或者代碼更新 Unity目前常用熱更新解決方案 HybridCLR,Xlua,ILRuntime等 Unity目前常用資源管理解決方案 AssetBundles,Addressable, ...
  • 本文章主要是在C# ASP.NET Core Web API框架實現向手機發送驗證碼簡訊功能。這裡我選擇是一個互億無線簡訊驗證碼平臺,其實像阿裡雲,騰訊雲上面也可以。 首先我們先去 互億無線 https://www.ihuyi.com/api/sms.html 去註冊一個賬號 註冊完成賬號後,它會送 ...
  • 通過以下方式可以高效,並保證數據同步的可靠性 1.API設計 使用RESTful設計,確保API端點明確,並使用適當的HTTP方法(如POST用於創建,PUT用於更新)。 設計清晰的請求和響應模型,以確保客戶端能夠理解預期格式。 2.數據驗證 在伺服器端進行嚴格的數據驗證,確保接收到的數據符合預期格 ...