如何設計乙個可用的web容器

2021-07-05 07:22:12 字數 428 閱讀 2200

開發乙個web容器涉及很多不同方面不同層面的技術,例如通訊層的知識,程式語言層面的知識等等,且乙個可用的web容器是乙個比較龐大的系統,要說清楚需要很長的篇幅,本文旨在介紹如何設計乙個web容器,只**實現的思路,並不涉及過多的具體實現。把它分解劃分成若干模組和元件,每個元件模組負責不同的功能,下圖列出一些基本的元件,並將對每個元件進行介紹。

連線接收器

主要的職責就是監聽是否有客戶端套接字連線並接收socket,再將socket交由任務執行器(執行緒池)執行。不斷從系統底層讀取socket,做盡可能少的處理,再扔進執行緒池。為什麼強調要做盡可能少的處理?這裡關係到系統效能問題&

如何設計乙個高可用 高併發秒殺系統

如今的網際網路已經在海量服務領域有了很成熟的理論,因此自己也很慶幸,能夠從 0 到 1 完整踐行海量服務。微視春節專案中的集卡瓜分活動,是乙個典型的秒殺場景,自己參與其中,分享一些心得和總結。上圖是乙個典型的網際網路業務,使用者完成乙個寫操作,一般會通過接入層和邏輯層,這裡的服務都是無狀態,可以通過...

設計乙個可拔插的 IOC 容器

磨了許久,借助最近的一次通宵上線 cicada 終於更新了v2.0.0版本。之所以大的版本號變為 2,確實是向下不相容了 主要表現為 其中重點是後面兩個。先來看第乙個 路由方式的更新。在之前的版本想要寫乙個介面必須的實現乙個workaction 而且最麻煩的是乙個實現類只能做乙個介面。因此也有朋友給...

設計乙個可拔插的 IOC 容器

磨了許久,借助最近的一次通宵上線 cicada 終於更新了v2.0.0版本。之所以大的版本號變為 2,確實是向下不相容了 主要表現為 其中重點是後面兩個。先來看第乙個 路由方式的更新。在之前的版本想要寫乙個介面必須的實現乙個workaction 而且最麻煩的是乙個實現類只能做乙個介面。因此也有朋友給...