SPP框架的基本使用


入職兩天

Day1、Day2:

  • 學習SPP框架
    • SPP是什么?
      SPP提供了一系列的基礎功能,是一個通用的網絡服務器運行框架。主要由proxy,worker,controller三個模塊組成。它提供API給開發人員,因此只需要關心業務邏輯的處理,進行插件開發。直接調用其暴露出來的接口開發可以節省開發時間,提高效率。
    • SPP的運作流程?
      流程總結:Client發送請求會由proxy進行接收(壓入共享內存消息隊列中),然后通過插件配置,路由到相應的worker組。worker組調用邏輯接口進行處理。controller主要是進行統計、監控的任務,proxy和controller會定期向它發送正在運行的各個子進程的狀態信息,controller正是通過監控這些信息來管理各個子進程
    • 如何使用SPP提供的接口?
      這兩天主要學習了幾個接口:
      spp_handle_init:業務啟動前做一些初始化動作。
      spp_handle_input:對包的完整性、合法性進行檢查,proxy必須實現,必須有選擇的過濾一些不合法、無效的包。
      spp_handle_process:實際的業務處理,worker必須實現它。對應於實際開發時候所需要的功能做不同的實現。
      spp_handle_finit和spp_handle_route:這兩個接口學習過程中比較少看到,因此了解較少。前者主要用來做反初始化的工作,例如業務處理完之后銷毀掉worker進程,可以避免不必要的資源消耗。后者是將接入的請求路由到相應的worker組中。
  • 使用SPP框架完成簡單的Echo服務功能
    • 如何使用Protobuf編寫協議
      1. 在系統上安裝protobuf用了較多的時間:依賴工具不全、工具版本低、編譯的時候找不到相應版本的so文件等等。
      2. 學習了如何編寫protobuf協議,序列化與反序列化等。
      3. 完成相應接口、客戶端的編寫。

總結

  • 對於SPP框架的了解還很表面,需要了解其內部的實現才能掌握的更好,掌握好的話源碼的閱讀必不可少。
  • Protobuf中嵌套message的使用,自己猜測着寫了一些例子都沒有完成編譯,還需要查閱資料。
  • 在學習過程中沒有及時把導師說的一些知識、流程記錄下來,如安裝部署插件的流程,使得自己沒有完成測試。好記性不如爛筆頭,今后將及時做好筆記。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM