MMORPG 服務端架構隨想

2021-08-30 14:14:40 字數 968 閱讀 8352

今天因為工作需要,要了解遊戲伺服器端架構設計,看到一篇文章,提到了 eve online 歐洲伺服器重新整理了單台伺服器最高上線人數的世界紀錄,支援 23178 個使用者,它的伺服器架構是 windows os + sql server, 使用高效能的 iocp 網路 i/o模型為網路層,配合 smp(symmetric multi-processor)的高階平行計算的網路遊戲伺服器端邏輯實現,表現相當出色,相對於頻頻當機的 wow online 伺服器而言,形成了鮮明的對比。

這裡談到兩個我不熟悉的術語,我 google 了一下,算是明白它的解釋。

iocp(i/o completion port,i/o完成埠)是效能最好的一種i/o模型。

2、相同的產品型號,同樣型別的cpu核心。例如,雖然athlon和pentium iii各自都內建有apic單元,想要讓它們一起建立smp系統是不可能的,當然,即使是celeron和pentium iii,那樣的可能性也為0,甚至coppermine核心的pentium iii和tualatin的pentium iii也不能建立smp系統--這是因為他們的執行指令不完全相同,apic中斷協調差異也很大。

3、完全相同的執行頻率。如果要建立雙pentium iii系統,必須兩顆866mhz或者兩顆1000mhz處理器,不可以用一顆866mhz,另一顆1000mhz來組建,否則系統將無法正常點亮。

4、盡可能保持相同的產品序列編號。即使是同樣核心的相同頻率處理器,由於生產批次不同也會造成不可思議的問題。兩個生產批次的cpu作為雙處理器執行的時候,有可能會發生一顆cpu負擔過高,而另一顆負擔很少的情況,無法發揮最大效能,更糟糕的是可能導致宕機,因此,應該盡可能選擇同一批生產的處理器來組建smp系統。

smp的優點是並行度很高,但是由於系統匯流排的頻寬是有限的,故處理器的數目是受限的。

遊戲服務端開發 隨想

最近公司上線了一款遊戲,後台服務端出現各種bug,我簡單的將出現的問題做了分類,多執行緒操作的資料一致性bug,邏輯bug,流程bug。雖然感覺這樣分並不能完全表述出現的bug型別,但我認為至少是這三類問題能概括了目前出現的bug.於是大家一起 了怎麼在上線環境來定位bug的問題所在。其實,我想更應...

http服務端架構演進

什麼叫正向 什麼叫反向 服務 與負載均衡的差別 有了nginx,為啥還需要lvs 都有哪些負載均衡的方式 在前面文章中我們介紹過最簡單的一種客戶端 服務端響應模式,如下 這是http服務最簡單的一種形式,服務端就一層web伺服器。現在我們服務端變複雜了,使用者數增加了,併發量增加了。對我們服務端要求...

web服務端的架構演變

最近lofter專案碰到很多效能上的問題,特別是資料庫相關的,每次推送後,告警就會第一時間到來。這些問題隨著產品的不斷擴充套件,我想大家肯定都遇到過。目前我們解決效能問題一般都是兩種方法 一是加快取,減少資料庫壓力 二嘛,就是加伺服器了。如果產品的規模繼續迅速增長,我們應該怎麼做?靠增加伺服器肯定不...