日韩在线首页I俄罗斯pornI男女猛烈激情XX00高潮动态I超碰免费97I乱人伦99久久I欧美日韩成人一区I最新日韩视频在线观看I粉嫩AV四季AV绯色AVI五月导航

×

網游服務器和Web服務器的區別

分類:云服務資訊 編輯: 瀏覽量:100
2021-07-10 13:41:15
??網游服務器租用商提供的服務器從幾百元到上萬元的都有,所以在這里要提醒用戶朋友們在選擇時千萬不要被價格所左右,主要看兩點就行了,一是看用戶你這個網游的規模的大小,二是網游的競爭情況。玩家規模的大小主要從網游服務器配置和帶寬兩個方面來考慮。當然如果配置越高,服務器性能當然也就越好,不用說其價格相差也越大;帶寬是影響用戶體驗的最重要的一個因素,帶寬的價格也隨著大小、獨享和共享、地區而不同。下面就由新網小編和大家講一講網游服務器和Web服務器的區別。

??一、Go語言的特點

??Go語言跟其他的語言例如Java比起來,算得上一門很年輕的語言。Go語言是由Robert Griesemer、Rob Pike和Ken Thompson于2007年在Google開發。并于2009年正式發布。

??Go語言的設計理念圍繞著簡潔這兩個字,認為少即是多。如果你熟悉Java,用Java那一套語法命名跟Go做對比,可以很明顯的體會到這種感覺。

??Go的特點可以簡單的概括成以下幾個點。

??1、靜態類型和編譯型

??首先Go是靜態類型,靜態類型就是編譯時就知道每一個變量的類型,得益于此,在編譯的階段就能夠發現很多問題。而如果是動態語言,例如JavaScript,有些問題直到運行時才能發現。

??Go是編譯型語言,看到編譯型大家腦子里可能會想到另外一個詞解釋型。兩者的區別從字面上來理解其實已經可以看出來,我用一個簡單的例子來類比一下。

??編譯型 去餐館吃飯,點了菜之后,飯店會等所有的菜做好了再上

??解釋型 去餐館吃飯,點了菜之后,陸陸續續的邊吃邊上

??2、跨平臺

??顧名思義,你寫的Go源碼在所有的系統都能夠運行。

??這點其實很好理解,例如Java的口號是"Write once, run anywhere"。我們都知道Java是編譯型的語言,但是Java在編譯的時候生成的是字節碼,這個字節碼與當前的操作系統無關,與CPU也無關。

??這種字節碼必須依賴Java虛擬機才能運行,而虛擬機會將操作系統和CPU之間的差異與用戶屏蔽。對于編程的人來說這個過程其實無感知的。而對Java來說,語言本身的跨平臺并不能代表代碼可以跨平臺。

??Go的跨平臺從某種方面來說,與Java類型,我們需要安裝與當前操作系統相對應版本的Go。編譯出來的可執行文件會根據操作系統的不同而有所不同。

??3、自動垃圾回收

??與JVM一樣,Go在運行時的內存管理(GC)由Go語言本身來管理,不需要程序員的參與,但是我們可以干預。

??4、原生的并發編程

??何為原生?我們都知道,在Java中如果要實現并發, 需要外部的類庫支持(Thread),而Go不需要從外部再引入任何依賴。支持使用關鍵字go即可。而且Java中是通過共享內存進行通信的,熟悉Go的應該都看過一句話“不要通過共享內存來通信,而應該通過通信來共享內存”

??二、用Go的優勢

??先說一下我對Go語言的看法,我認為Go在服務器這塊是非常有優勢的。以后如果有高并發的應用場景,那么大概率這個服務就是用Go寫的。不知道大家有沒有發現,摩爾定律正在失效。近十年內,硬件的原始處理能力都沒有太大的提升。顯然,一味的增加晶體管的數量已經不是解決問題最好的方法。

??NASA前不久發布到官網然后又迅速刪掉的文章透露了,Google可能已經實現了量子霸權,通俗一點說就是擁有超越所有傳統計算機的計算能力。而放置更多的晶體管的代價也越來越高,所以現在廠商都在向處理器中添加更多的內核來提升性能。

??就像大家熟悉的Java,雖然Java本身支持多線程,但是在Java上使用多線程編程代碼算是比較昂貴的。在Java中創建一個新的線程就會消耗接近1M左右的內存。假如你真的需要支持運行上千個線程,那么服務很可能運行著就OOM了。除了內存消耗外,還會存在由于支持多線程帶來的并發和死鎖等問題。

??而Go中,使用協程來代替線程。而且一個協程所消耗的內存比線程少了很多倍。同樣的物理設備限制,你可能只能啟動最多幾千個線程,而協程能夠啟動上百萬個。而且不同的Goroutine可以通過信channel進行安全的通信。

??三、游戲服務器和Web服務器的區別

??有些對游戲服務器的介紹可能會說,游戲服務器是一個需要長期運行的程序,然后怎么怎么樣。我個人認為Web服務器一樣的需要長期運行,也需要響應不定點不定時來自用戶的請求。兩者從宏觀上來看其實沒有本質的區別。同時Web服務器也會對于穩定性和性能有要求,游戲服一般分為大小服,我們這里都按照小服舉例子。

??1、狀態

??首先要提到的就是狀態。可能你會聽說過一個概念,游戲服務器是有狀態的,而Web服務器是無狀態的。什么意思呢?Web服務器的數據流大多直接會到數據庫中。而游戲服務器的數據流首先會到內存中,然后定期的寫入數據庫(落地)。

??換句話說,游戲服務器本身的數據與數據庫中的數據在運行期間會存在一個數據不一致的窗口。如果此時游戲服務器宕機了,那么就會造成數據首先到的內存數據與數據庫存的數據不一致。

??而Web服務器則不會有這樣的問題,Web所有的數據狀態都會落地,而且可以針對操作加上事務,不用擔心因為操作失敗而引入臟數據。正因為有了狀態的約束,游戲服務器就會很慎重的使用內存、CPU。以求在資源有限的情況下,最大化的提高的承載量,并且降低服務延遲。當然,Web服務器會為了降低某個接口的響應時間而去做對應的優化。

??2、擴容

??在Web服務器中,如果你不能評估一個服務所面臨的壓力,又不想因為瞬時的熱點訪問導致服務直接不可用的話,完全可以設置成自動擴容,因為每個服務只是單純的接收請求,然后處理請求、返回結果,不會將數據保存在服務器的內存中。要有數據存到內存,那也是在Redis中。而Redis數據丟失對數據的一致性基本沒有影響。

??但是在游戲服務器這邊很難做到像Web那樣靈活。首先,數據的流向不是數據庫,而是內存。

??所以,對于一個游戲服務器,所能使用的內存和CPU的資源是非常有限的,不像Web服務器可以不用花很大的代價做到橫向擴展。這也就是為什么游戲服務器會十分十分的注重代碼的性能以及穩定性。

??3、穩定

??就像上面說的例子,如果游戲服務器運行中出了BUG,導致服務直接不可用,或者說通過這個BUG刷到了大量的道具,將是一個非常嚴重的線上事故。

??而對于Web服務器來說,如果是管理系統之類的,有可能會有臟數據值得一提的是,臟數據對于Web來說,排查起來也是一件很頭疼的事情。如果沒有臟數據,只是服務暫且不可用,而且如果用的是微服務架構,重啟服務的代價是相對來說比較小的,只有正在重啟的服務的業務是不可用的,其余的部分則可以正常的訪問。

??而對于游戲服務器來說,服務器重啟影響的是全服的玩家。玩家在停服期間,甚至連游戲都進不了,特別的影響玩家體驗。而且,如果停服之前服務器的數據落地出現了問題,服務重啟之后會將數據從數據庫load到內存中,此時同樣會造成數據不一致的問題。

??4、性能

??從我的經驗來看,在做Web服務器的時候,沒有為了減少GC的壓力,為了少占用內存去做過多的優化。當然這是因為項目本身的體量不大,如果QPS很高的話,Web服務器同樣很需要注重性能,只不過游戲服務器需要一直特別注意這個方面。

??不過在Web,如果訪問量很大的話導致單個服務不能扛住壓力,大部分人首先想到的解決方案應該就是搞多個實例,畢竟可以做到很輕松的橫向擴展。

??在游戲服務器里,會把服務器的資源看的相當的寶貴。例如,能不落地的字段就絕對不要落地,某個字段的值可以通過已知的條件算出來的,就盡量不要定義在代碼里。不過這也要看具體情況權衡運算量和調用的頻率。因為上線之后,如果遇到了數據不一致,維護的數據越少,修復數據的難度就越小。

??以上就是總結網游服務器和Web服務器兩者的區別。只是從大體上做了一個對比,并沒有具體深入細節。小伙伴們要想獲得更多網游服務器的內容,請關注新網。

聲明:免責聲明:本文內容由互聯網用戶自發貢獻自行上傳,本網站不擁有所有權,也不承認相關法律責任。如果您發現本社區中有涉嫌抄襲的內容,請發

送郵件至:operations@xinnet.com進行舉報,并提供相關證據,一經查實,本站將立刻刪除涉嫌侵權內容。本站原創內容未經允許不得轉載,或轉載時

需注明出處:新網idc知識百科

免費咨詢獲取折扣

Loading
主站蜘蛛池模板: 日本成熟少妇激情视频免费看 | 亚洲国产精品成人无码区 | 亚洲欧美中文日韩v日本 | 少妇淫真视频一区二区 | 亚洲永久视频 | 色欲av伊人久久大香线蕉影院 | 亚洲国产精品原创巨作av | 好男人视频社区在线观看www | 久久国产精品人妻丝袜 | 午夜伦yy44880影院 | 女女女女女裸体处开bbb | 麻豆 美女 丝袜 人妻 中文 | 欧美在线你懂的 | 国产老头与老太xxxxx看看吧 | 国内精品伊人久久久久777 | av人摸人人人澡人人超碰下载 | 亚洲精品成人区在线观看 | 久久久久久久国产精品 | 成人福利视频网 | 成人国产精品日本在线 | 国产亚洲网站 | 不卡中文字幕在线 | 五月天丁香婷 | 偷拍做爰吃奶视频免费看 | 精品国产一二三区 | 黄色大片aaa | 乱肉放荡艳妇视频6399 | 国产对白乱刺激福利视频 | 一品毛片 | 日韩123区 | av无码小缝喷白浆在线观看 | 无码人妻久久一区二区三区免费丨 | 忘忧草在线社区www中国中文 | 午夜无人区免费网站 | 国产成人艳妇aa视频在线 | 日韩~欧美一中文字幕 | 精品一区二区三区影院在线午夜 | 久久大陆 | 人妻人人做人碰人人添 | 欧美精品一级片 | 国产无吗一区二区三区在线欢 | 欧美精品久久久久久 | 一区二区三区在线观看亚洲电影 | 亚洲人成网站999久久久综合 | 久久不雅视频 | 日本在线视频一区二区 | 亚洲午夜久久久久久久久久久 | 九九热久久免费视频 | 日本日本乱码伦视频在线观看 | 午夜三级在线观看 | 国产地址一 | 一本一本久久aa综合精品 | 99精品免费久久久久久久久日本 | 国产又色又爽又刺激在线播放 | 女人被男人爽到呻吟的视频 | 可以看av的网站 | 国产一级在线播放 | 九九福利视频 | 免费看美女隐私网站 | 国产三级在线观看免费 | 日日噜噜夜夜爽爽 | 亚洲综合成人婷婷五月在线观看 | 亚欧乱色 | 国内一区二区三区香蕉aⅴ 伊人天堂网 | 成人免费无码h在线观看不卡 | 午夜看片在线观看 | 精品aⅴ一区二区三区 | 最新国产成人无码久久 | 香蕉eeww99国产精选免费 | 免费成人高清视频 | 精品深夜av无码一区二区老年 | 国产无套粉嫩白浆内谢在线 | 女人被弄到高潮的免费视频 | 一区二区三区av高清免费波多 | 91丝袜呻吟高潮美腿白嫩在线观看 | 日本欧美一区二区 | 免费观看日批视频 | 伊人成人在线 | 人人超碰97 | 最新国产精品自拍 | 久久综合久久爱香蕉网 | 极品少妇被后入内射视 | 韩国精品福利一区二区三区 | 国产揄拍国内精品对白 | 中文无码天天av天天爽 | 寂寞少妇让水电工爽了一小说 | 亚洲午夜精品av无码少妇 | 成年女人18级毛片毛片免费 | 精品久久一区二区 | 美女国产网站 | 国产欧美精品一区二区三区四区 | 国产91色在线亚洲 | 香蕉久久国产av一区二区 | 国语对白嫖老妇videos | 成人精品视频一区二区三区 | 黄色成人在线播放 | 国产女人18毛片水18精品 | 精品成人av | 99精品日本二区留学生 |