新專案,新架構

2021-08-25 18:38:54 字數 646 閱讀 3456

新專案需要乙個長連線架構的實現,而長連線對於效能的要求決定了用c或者c++來寫比較靠譜,但是公司的技術人員組成決定了不可能用c或者c++來寫業務邏輯,而且這個也不現實,會使得開發周期和維護成本很高。於是決定採用boost/asio + fastcgi + php來實現,也即前端有乙個保持長連線的伺服器,當前端將請求發上來之後,長連線伺服器通過fastcgi協議將請求發給php,由php處理完成後再返回給長連線伺服器,由長連線伺服器返回給使用者。

有人可能會說,這跟web伺服器有啥區別?區別有這麼幾個,乙個是web伺服器是基於http協議的,即使採用keep-alive,在使用上也有很多不便;二是,http協議是無狀態的。用上面的架構顯然協議不一定是http的,可以任意自己想要的協議,我們採用的是amf0。那麼第二個問題,如何解決無狀態,通常web伺服器是通過session,這個顯然有效能問題,而且session是沒***的。於是我們反過來,長連線伺服器同時作為session伺服器,在把請求發給php時,同時將儲存在長連線伺服器的session也發給php,php對session的任何更改也在響應中回傳給伺服器,由伺服器儲存,下一次呼叫時再傳回去。這樣一來,從php伺服器端看到的是乙個有狀態的請求序列。

今天終於把**寫完了,大概測試了一下,響應速度還是可以接受的。接下來主要是就是寫php端的業務邏輯了,這個純粹就是堆**的體力活了。

quick x建立新專案

時為quick x2.2.1rc版本 建立新專案之前,確保已經正確設定了quick cocos2dx root環境變數,參考 啟動 終端 應用程式,然後進入需要放置新專案的目錄 cd desktop執行create project.sh命令,並指定專案的 package name quick coc...

有關sourceTree clone新專案的嘗試

本人使用的souretree 去獲取gitlab 上的遠端倉庫的檔案 採用http,非ssh 期間改動密碼一次,此次需要更換專案,clone的時候暴露乙個問題 這是乙個無效的源路徑。1 將問題定位在密碼改動上 處理方法1 試圖 工具 選項 驗證,更改密碼。但是仍然失敗。處理方法2 試圖 刪除 工具 ...

react 建立新專案

react中文官方文件給出建立新應用的最佳方式 命令列 npm start 終端直接報錯,提示如下 但是,我本地這樣也給我報錯了,也是醉了。npm err code e503 npm err a complete log of this run can be found in npm err use...