主協程:負責接收客戶端的連線,放至連線通道中去。
讀協程組:負責從連線通道中取連線,並讀到客戶端的資料,讀完後放至工作資料通道中去。
(包含客戶端的連線socket和讀到的資料)
(包含客戶端的連線socket和要返回的資料)
寫協程組:負責從寫資料通道中拿寫資料,負返回給客戶端。如果是短連線就關閉socket,如果是長連線不關閉。
讀,寫,處理完全分離。這樣設計達到非同步處理。
生產者消費者模型。
通道也可以建多個以組id,組成員例項id來區分。
協程也可以建多個以組id,組成員例項id來區分。
訊息傳送的時候以id來區分傳送至哪組通道的哪個通道。
通道中的資料型別以指標型為主,防止過多的資料拷貝。
資料庫連線可以有連線池,第三方網路連線也可以有連線池,或跟協程繫結的連線。
前端處理過程如上,後端可以與前端建立長連線,達到復用連線。
如果是同步處理只能是在協程中讀取客戶端請求,做相關處理工作,做完後將結果返回給客戶端。
寫框架思路程序(三)
上篇說道,將會根據rpc框架結構,構建web mvc,那麼這裡先來了解rpc框架的大概結構 對於我們的web mvc框架,舉例如下 1 mvc.core專案,細分如下的包 1.1 common 公共的一些元件,下面的各模組都會用到 1.2 config 配置模組,解決框架的配置問題 1.3 star...
說框架設計思路
其旨在打造乙個集應用開發 大資料儲存 處理 分布式計算 自動化部署的無節點微服務集中開發與執行平台,以響應業務的快速變更,滿足系統對大資料,大併發與開發效率的需求 平台設計以資料為核,以groovy指令碼為基礎,通過提供api 非同步訊息處理 排程等基礎構件來支援應用的快速開發 核心是通過整合現有開...
前端Vue框架使用思路
好久好久沒有寫部落格了,最近做了乙個使用vue框架的商場專案,此部落格把vue學習和做專案的過程整理一下。首先,在掌握html,css,j ascript 的基礎上,閱讀vue的官方文件,了解vue框架的基本語法。然後,配置vue環境,分為以下三步 1.安裝node.js,要注意node的版本問題,...