日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程语言 > asp.net >内容正文

asp.net

ASP.NET Web Game 架构设计1--服务器基本结构

發布時間:2023/12/10 asp.net 51 豆豆
生活随笔 收集整理的這篇文章主要介紹了 ASP.NET Web Game 架构设计1--服务器基本结构 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

ASP.NET Web Game 架構設計1--服務器基本結構

?

1.???? 基本結構圖

?

?

?

?

2.????? 系統組成與角色

??? 整個系統大體上分為三個部分:1.網頁客戶端。2.IIS Web服務器。3.數據庫及邏輯服務器。其中Web服務器不處理任何邏輯,它的作用只有兩點:1.承載用戶。2.中轉數據,利用ADO.NET Data Service以及調用其他的WCF,使得Web服務器成為一個數據代理服務器。

?? 經過失敗經驗的論證,讓IIS承載過多的邏輯,絕對是一個爛想法,應用系統應該在一開始設計的時候就徹底屏蔽這種方案,從上面圖中也不難看出來,邏輯的處理應該是一部分放在網頁中使用JS來實現,另外一部分放在應用系統的邏輯服務器上實現的。

??? 另外,如果簡單的將網頁部署到IIS上,性能指標總上不去,典型的體現在要么內存占用很高,CPU上不去,要么是CPU上去了,內存又占用的太小,這樣很難將服務器的能力發揮到極致。為了應對這個問題,一個非常理想的方案是使用IIS中的WebGarden技術,可以啟動多個w3wp.exe,即多個IIS服務進程。這樣作的好處是將CPU資源以及內存資源均勻的分配到多個服務進程上去,以提升服務器資源的利用效率。但是,這同樣也帶來了一些問題,因為要將同一個網站的資源分配到多個進程,這樣內存就無法共享,再加上HTTP協議本身就是短連接,所以每次客戶端發出請求的時候,都有可能被不同的服務進程所接收,這樣就是導致Session無法使用,很頭疼吧。為了應對這個問題,我們又需要去配置應用程序的狀態服務器,說白了,就是將Session統一存儲到一個服務器上,通常是將其以二進制方式存儲到SQL Server中。當然,這時要求存儲在Session中的數據必須是可以串行化的。

??? 上面說的,可以提高服務器的利用效率以外,在IIS上配置WebGarden還有什么優點呢?從上面的說明中不難看出,因為狀態是存儲在統一的SQL Server中的,所以用戶狀態是與網站配置到哪一臺Web服務器是無關的。因此,我們可以大量添加Web服務器,同時,位于不同Web服務器上的用戶可以共享相同的SQL Server狀態管理,這樣可以大大提高在同服、同世界的用戶數量。

??? Web服務器,我們再來看一下應用程序的邏輯服務器和數據庫服務器。這兩個服務器通常在運營成本有限的情況下,是放在同一臺服務器上的(當然,能分開是最好的)。應用程序服務器一般會在 某一個時間間隔下出現一個CPU使用的高峰,內存占用一般都很小,而對于SQL Server來講,因為要提供大量的緩存,所以對于內存的消耗是比較大的。

?? 輯服務程序,是整個系統最容易出現性能瓶頸的地方,可以使用C++或者C#來編寫,然后提供一個WCFTCP方式的)的外部接口,以便Web服務器調用。值得重點強調的,無論是利用C++還是C#來編寫該程序,都一定要考慮好資源釋放問題(JavaC#開發人員更應該注意這一點,千萬別想著什么垃圾自動回收,很多資源是回收不了的),包括數據庫連接的釋放,數據結構(臨時數據的儲存體)的釋放,以及無用線程的釋放。

?????? 這次先聊到這里,在后面的BLog中我們會對整個構架中的每一個技術點進行詳細說明的。如何大家需要技術支援,請給我發Email:warensoft@foxmail.com

?

轉載于:https://www.cnblogs.com/warensoft/archive/2010/03/26/1697293.html

總結

以上是生活随笔為你收集整理的ASP.NET Web Game 架构设计1--服务器基本结构的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。