第079 藍藻到藍蕨的基礎是超級計算機(2/2)
因為網路遊戲伺服器的負載瓶頸,難點不在於超級計算機與否,而是取決於服務端的架構。不同類型的遊戲,需要不同的服務端架構,譬如,卡牌、跑酷等遊戲,屬於弱交互類型,最簡單的http伺服器就能實現;動作、體育、競技等戰網類遊戲,需要採用星型p2p模型。
具體到普遍概念的角色扮演遊戲,則泛屬於mudos體系之後的第二代遊戲服務端。
為了提高伺服器的負載能力,需要把概念上的一個遊戲伺服器拆分為事實上的伺服器a、伺服器b、伺服器c,然後再通過資料庫前端代理訪問資料庫。前面出現過的傳奇複製裝備bug,就是該環節出錯,拆分之後的兩台伺服器,訪問資料庫時,出現讀取錯誤。
因為玩家非常活躍,不斷切換場景來回跑動,中間的狀態非常容易錯亂。於是,服務端架構繼續拆分網絡功能,獨立出來一個網關服務(link_server),讓伺服器之間的數據交換統一連接到網關進行交換。如果想繼續優化,還可以進一步拆分網關,聊天劃為一塊,交易劃到一塊,等等。
簡而言之,網路遊戲伺服器與超級計算機之間聯繫微乎其微。
聽到這結論,或許有人奇怪了:不對啊,《魔獸世界》的專用高性能計算集群,入選超級計算機top_100了啊。
是的,《魔獸世界》的高性能計算集群的確入選了。
可,它是高性能計算集群。高性能計算集群,high-performance_clusters,簡稱hpc。高性能計算集群的工作原理,是將計算任務分配到集群的不同計算節點,提高總體計算能力。高性能運算集群,追求的是綜合性能;而狹隘的超級計算機,追求的是極致的並行運算能力。
假如top_100是戰艦火力排行榜,高性能計算集群是巡洋艦,狹隘超級計算機則是戰列艦。前者的火力超過後者,只是火力的超越,而非本質的超越,巡洋艦仍是巡洋艦,戰列艦仍是戰列艦。
計算機智能生命需要的超級計算機,涵蓋追求極致的並行運算的狹隘超級計算機、高性能計算集群、高可用性集群(high-availability_clusters)、分布式計算、雲計算等,是一家網路遊戲運營商根本不需要也用不到的複雜系統。
除了高性能計算集群可以走春秋網絡的帳,其它模塊都要魏東生另想方法籌集資金。
研發超級計算機系統,資金是一部分,人才更是不可或缺的一部分。計算機智能生命是軟體和硬體的統一,它們可以最大程度壓榨集成電路的潛力,如果人類研發超級計算機的難度是10000點,計算機智能生命研發超級計算機的難度最多只有1點。然而,計算機智能生命被局限在集成電路里、局限在網絡數據里,它無法實際親自搭設超級計算機並測試其可靠性。
魏東生需要招聘助手,排除來自現實世界的干擾。
這是非常必要的。
技術員工的價值,九成來於經驗積累,有了熟練助手的幫忙,未來可以減少許多不必要的bug。
這裡囉嗦一句,側面證明經驗的重要性。
用戶安裝磨鐵閱讀app,假定在華為mate8六英寸屏幕環境,點開《重走未來路》第75章。字體設置為18,翻到「景民強不懂龔秋秋的敘事背景:『曾家』?」這一段落,用戶看到的將是「景民強不懂龔秋秋的敘事背景:『家家?』」。新讀者覺得是作者粗心碼錯字,曾家寫成了家家;老讀者卻明白這是磨鐵閱讀存在多時的老bug,如果把字體調成20,就會發現「家家」恢復成正常的「曾家」。
就用戶而言,或許會無語吐槽這程式設計師肯定是藍翔畢業的。
別這樣的吐槽。
這是在污衊藍翔。
出現這樣的bug,不在於程式設計師從哪裡畢業,而是他嚴重缺乏經驗。
或許被用戶吐槽時,程式設計師還會滿臉無奈反駁:「不是我等不努力,這bug明明是android的bug啊。」
的確,該bug是android的鍋,其textview存在某些顯示問題。如果不是2017年,而是2013年,或可原諒並理解程式設計師的鬱悶。可是,到了2013年,到了2014年,業內已經普遍解決了類似問題,譬如最容易想到的重新自定義view顯示文本。
這便是經驗問題。
如果該程式設計師是一名熟手,絕對不該拖延到2017年還無法解決。
這樣的bug,不該是2017年出現的bug。