重慶分公司,新征程啟航
為企業提供網站建設、域名注冊、服務器等服務
為企業提供網站建設、域名注冊、服務器等服務
這篇文章給大家分享的是有關后臺開發框架UDPServer的工作原理的內容。小編覺得挺實用的,因此分享給大家學習。如下資料是關于UDPServer的介紹和工作原理的內容。
成都創新互聯專注于雙牌企業網站建設,響應式網站開發,成都商城網站開發。雙牌網站建設公司,為雙牌等地區提供建站服務。全流程按需策劃設計,專業設計,全程項目跟蹤,成都創新互聯專業和態度為您提供的服務第一個接觸的叫udpserver。顧名思義,就是只支持udp的服務框架。因為我們部門是做音視頻產品的,音視頻數據對實時性要求很高,因此常用udp傳輸數據。Udp server是同步多進程模型,包含1個Interface進程和多個Worker進程。
Iterface進程負責接收來自外部的請求,做一些合法性校驗和格式轉換后,轉發給后端的Worker進程。Worker進程監聽不同的端口收包,并處理業務邏輯。Worker進程的回包直接發給客戶端。
此處有幾個點值得關注:
首先,Worker進程監聽的是不同端口。
監聽相同的端口顯然是更常見的做法,而監聽相同的端口也需要注意一點,即監聽的端口socket必須是從父進程中繼承得到的,而非Worker自己創建的socket。因為對于前者內核才能保證調度的均勻性,而后者是沒有這種效果的,內核只會把請求包扔給同一個Worker。
這里之所以使用監聽不同端口的方案,是為了保證調度的可控性,請求包發往哪個Worker是有預期的,可以做更個性化的調度策略,問題定位也方便得多。Udp server默認是使用輪詢的調度方式。
第二點是,Worker進程回包是直接返回給客戶端的。
另一種常見做法是通過Interface進程回包,缺點是Interface會成為瓶頸。而Worker直接回包的缺點是向外部暴露Worker,不過這個問題并不十分嚴重。相較之下,我們更希望獲得性能的提升。為了給客戶端回包,Interface會把客戶端的ip和端口封裝到請求包發給Worker。
框架雖簡單,但是性能非常優異,作為echosvr性能可達30w+ QPS。但是這個框架不支持TCP,因此只能作為內部的服務框架使用。
看完上述內容,你們對UDPServer有進一步的了解嗎?如果還想學到更多技能或想了解更多相關內容,歡迎關注創新互聯行業資訊頻道,感謝各位的閱讀。
另外有需要云服務器可以了解下創新互聯scvps.cn,海內外云服務器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務器、裸金屬服務器、高防服務器、香港服務器、美國服務器、虛擬主機、免備案服務器”等云主機租用服務以及企業上云的綜合解決方案,具有“安全穩定、簡單易用、服務可用性高、性價比高”等特點與優勢,專為企業上云打造定制,能夠滿足用戶豐富、多元化的應用場景需求。