人妖在线一区,国产日韩欧美一区二区综合在线,国产啪精品视频网站免费,欧美内射深插日本少妇

新聞動態(tài)

游戲服務(wù)器:游戲服務(wù)器常見問題的解決方法分享

發(fā)布日期:2021-02-02 12:45 | 文章來源:YINGSOO

  【溫馨提醒】文章內(nèi)容僅供參考,海外服務(wù)器租用\托管方案,請咨詢YINGSOO客服,24小時免費電話400-630-3752

  【熱門主機】香港云服務(wù)器香港服務(wù)器

  【熱搜問題】香港云服務(wù)器哪個好

游戲服務(wù)器

  在游戲開發(fā)中,我們經(jīng)常會遇到一些技術(shù)難題,而其引發(fā)的bug則會影響整個游戲的品質(zhì)。

  過載保護、集群、服務(wù)器通信、并發(fā)選型等方面的問題,是中小團隊常常的技術(shù)難題,本文分享了一些專家在坐診過程中提到的解決方法,希望對大家有所幫助。

  問題一:玩家登錄時拉取好友信息,但好友服務(wù)繁忙導(dǎo)致登錄失敗。

  解決方法:

  1、分離關(guān)鍵路徑上非關(guān)鍵調(diào)用,縮短事務(wù)流程,避免周邊服務(wù)異常阻塞登錄。

  2、服務(wù)熔斷機制,超出處理能力快速失敗,防止雪崩。

  3、按用戶隔離事務(wù),避兔單個用戶請求阻塞影響到其他用戶。

  問題二:壓測并發(fā)登錄對redis產(chǎn)生很大壓力。

  解決方法:redis數(shù)據(jù)表數(shù)量多,一次事務(wù)會產(chǎn)生多個 redis請求,小表合并為大表。

  wade:服務(wù)器進程的管理一般比較簡單,有很多還是用配置文件靜態(tài)組織的。同時往往進程間通信的手段比較缺乏,沒有使用消息隊列中間件,甚至還有用 Redis 來做通信組件使用的。為了提高集群管理的自動化水平,使用 ZooKeeper 是一個比較常見的方法。

  Zc:redis一般做為內(nèi)存緩存來使用,不宜將關(guān)鍵數(shù)據(jù)存放在redis中.其數(shù)據(jù)安全性并不如一般的db。在使用過程中也需要參考性能基線,控制訪問頻率和流量。

  問題三:外部服務(wù)有延遲,調(diào)用到的業(yè)務(wù)流程中產(chǎn)生卡頓。

  解決方法:業(yè)務(wù)側(cè)增加緩存:同玩好友msdk+最近角色id+角色信息。

  wade:很多團隊對于過載保護不夠重視,往往只在最外層接入客戶端一側(cè)有最大連接數(shù)或者最大會話數(shù)的限制。而對于內(nèi)部的多個進程,比如訪問數(shù)據(jù)庫的進程,就沒有太多的負載保護。由于游戲是帶狀態(tài)的進程比較多,所以負載均衡往往也做的不多,基本上是按狀態(tài)所在進程去轉(zhuǎn)發(fā)處理請求。

  Zc:注意緩存和降級處理。外部平臺數(shù)據(jù),盡量緩存,提高訪問體驗。當發(fā)現(xiàn)外部服務(wù)出現(xiàn)故障,或本身出現(xiàn)負載風險時,應(yīng)降級服務(wù)。

  Jovi:msdk midas平臺特權(quán)等api接入工作,游戲業(yè)務(wù)可以建立一個隔離層專門處理這塊需求,避兔過分侵入游戲邏輯,更容易控制。

  問題四:運營和客服接口修改玩家數(shù)據(jù),會與正常游戲的數(shù)據(jù)回寫產(chǎn)生競爭。

  解決方法:使用類似郵件機制去修改數(shù)據(jù)。

  Zc:多線程開發(fā)中,經(jīng)常會有線程池用盡或線程死鎖導(dǎo)致服務(wù)質(zhì)量下降。建議將線程池根據(jù)業(yè)務(wù)需求合理分類,不同業(yè)務(wù)間有合理的負載配比,不會相互影響。非關(guān)鍵流程需要延后或者異步化處理,避免卡死關(guān)鍵流程。

  同時,合理的線程模型可以有效減少線程間競爭。對確實需要競爭的資源在流程入口處統(tǒng)一有序加鎖,避免在邏輯過程中,隨意嵌套取鎖競爭。并且,給鎖加個超時時間,避免業(yè)務(wù)中斷。

  Jovi:確保同一時刻只有單個數(shù)據(jù)修改點,有助于避免數(shù)據(jù)競爭。建議設(shè)計時采用cQRs方式,采用獨立的數(shù)據(jù)表和服務(wù)記錄事件,匯總到單一修改服務(wù)上執(zhí)行。

  wade:并發(fā)編程是服務(wù)器端最常見的問題,一般會用多線程或者非阻塞兩種方法之一解決。對于本公司包,因此產(chǎn)生了多種選擇方法:

  [圖-單進程調(diào)度模型]

  同步-動態(tài)多線程

  每接收一個用戶會話,就建立一個線程。這個用戶會話往往就是由客戶端的tcp連接來代表,這樣每次從socket中調(diào)用讀取或?qū)懗鰯?shù)據(jù)包的時候,都可以使用阻塞模式,編碼直觀而簡單。有多少個游戲客戶端的連接,就有多少個線程。但是這個方案也有很明顯的缺點,就是服務(wù)器容易產(chǎn)生大量的線程,這對于內(nèi)存占用不好控制,同時線程切換也會造成cpU的性能損失。更重要的多線程下對同一塊數(shù)據(jù)的讀寫,需要處理鎖的問題,這可能讓代碼變的非常復(fù)雜,造成各種死鎖的bUg,影響服務(wù)器的穩(wěn)定性。

  同步-多線程池

  為了節(jié)約線程的建立和釋放,建立了一個線程池。每個用戶會話建立的時候,向線程池申請?zhí)幚砭€程的使用。在用戶會話結(jié)束的時候,線程不退出,而是向線程池“釋放”對此線程的使用。線程池能很好的控制線程數(shù)量,可以防止用戶暴漲下對服務(wù)器造成的連接沖擊,形成一種排隊進入的機制。但是線程池本身的實現(xiàn)比較復(fù)雜,而“申請”、“釋放”線程的調(diào)用規(guī)則需要嚴格遵守,否則會出現(xiàn)線程泄露,耗盡線程池。

  異步-單線程/協(xié)程

  在游戲行業(yè)中,采用Linux的epoll作為網(wǎng)絡(luò)Api,以期得到高性能,是一個常見的選擇。游戲服務(wù)器進程中最常見的阻塞調(diào)用就是網(wǎng)路io,因此在采用epoll之后,整個服務(wù)器進程就可能變得完全沒有阻塞調(diào)用,這樣只需要一個線程即可。這徹底解決了多線程的鎖問題,而且也簡化了對于并發(fā)編程的難度。但是,“所有調(diào)用都不得阻塞”的約束,并不是那么容易遵守的,比如有些數(shù)據(jù)庫的Api就是阻塞的;另外單進程單線程只能使用一個cpU,在現(xiàn)在多核多cpU的服務(wù)器情況下,不能充分利用cpU資源。異步編程由于是基于“回調(diào)”的方式,會導(dǎo)致要定義很多回調(diào)函數(shù),并且把一個流程里面的邏輯,分別寫在多個不同的回調(diào)函數(shù)里面,對于代碼閱讀非常不利?!槍@種編碼問題,協(xié)程(coroutine)能較好的幫忙,所以現(xiàn)在比較流行使用異步+協(xié)程的組合。不管怎樣,異步-單線程模型由于性能好,無需并發(fā)思維,依然是現(xiàn)在很多團隊的首選。

  異步-固定多線程

  這是基于異步-單線程模型進化出來的一種模型。這種模型一般有三類線程:主線程、io線程、邏輯線程。這些線程都在內(nèi)部以全異步的方式運行,而他們之間通過無鎖消息隊列通信。

  b) 多進程游戲服務(wù)器

  多進程的游戲服務(wù)器系統(tǒng),最早起源于對于性能問題需求。由于單進程架構(gòu)下,總會存在承載量的極限,越是復(fù)雜的游戲,其單進程承載量就越低,因此開發(fā)者們一定要突破進程的限制,才能支撐更復(fù)雜的游戲。

  一旦走上多進程之路,開發(fā)者們還發(fā)現(xiàn)了多進程系統(tǒng)的其他一些好處:能夠利用上多核cpU能力;利用操作系統(tǒng)的工具能更仔細的監(jiān)控到運行狀態(tài)、更容易進行容災(zāi)處理。多進程系統(tǒng)比較經(jīng)典的模型是“三層架構(gòu)”:

  在多進程架構(gòu)下,開發(fā)者一般傾向于把每個模塊的功能,都單獨開發(fā)成一個進程,然后以使用進程間通信來協(xié)調(diào)處理完整的邏輯。這種思想[香港服務(wù)器]是典型的“管道與過濾器”架構(gòu)模式思想——把每個進程看成是一個過濾器,用戶發(fā)來的數(shù)據(jù)包,流經(jīng)多個過濾器銜接而成的管道,最后被完整的處理完。由于使用了多進程,所以首選使用單進程單線程來構(gòu)造其中的每個進程。這樣對于游戲程序開發(fā)來說,結(jié)構(gòu)清晰簡單很多,也能獲得更高的性能。

  [圖-經(jīng)典的三層模型]

  盡管有很多好處,但是多進程系統(tǒng)還有一個需要特別注意的問題——數(shù)據(jù)存儲。由于要保證數(shù)據(jù)的一致性,所以存儲進程一般都難以切分成多個進程。就算對關(guān)系型數(shù)據(jù)做分庫分表處理,也是非常復(fù)雜的,對業(yè)務(wù)類型有依賴的。而且如果單個邏輯處理進程承載不了,由于其內(nèi)存中的數(shù)據(jù)難以分割和同步,開發(fā)者很難去平行的擴展某個特定業(yè)務(wù)邏輯。他們可能會選擇把業(yè)務(wù)邏輯進程做成無狀態(tài)的,但是這更加加重了存儲[免費香港云服務(wù)器]進程的性能壓力,因為每次業(yè)務(wù)處理都要去存儲進程處拉取或?qū)懭霐?shù)據(jù)。

  除了數(shù)據(jù)的問題,多進程架構(gòu)也帶來了一系列運維和開發(fā)上的問題:首先就是整個系統(tǒng)的部署更為復(fù)雜了,因為需要對多個不同類型進程進行連接配置,造成大量的配置文件需要管理;其次是由于進程間通訊很多,所以需要定義的協(xié)議也數(shù)量龐大,在單進程下一個函數(shù)調(diào)用解決的問題,在多進程下就要定義一套請求、應(yīng)答的協(xié)議,這造成整個源代碼規(guī)模的數(shù)量級的增大;最后是整個系統(tǒng)被肢解為很多個功能短小的代碼片段,如果不了解整體結(jié)構(gòu),是很難理解一個完整的業(yè)務(wù)流程是如何被處理的,這讓代碼的閱讀和交接成本巨高無比,特別是在游戲領(lǐng)域,由于業(yè)務(wù)流程變化非常快,幾經(jīng)修改后的系統(tǒng),幾乎沒有人能完全掌握其內(nèi)容。

包括并不僅限于中國香港,美國,日本,韓國,新加坡,馬來西亞等10多個國家直接cn2高速專線接入。無條件免備案,提供智能化ddos防護升級,負載均衡優(yōu)化,數(shù)據(jù)庫集群服務(wù)及建議,cdn節(jié)點布局優(yōu)化等一系列高品質(zhì)服務(wù),打造適合企業(yè)穩(wěn)抓客戶布局全球的全能型游戲解決方案。詳詢本公司客服電話400-630-3752 。

  

  云主機如何防御DDOS攻擊

  云主機DDOS攻擊的[香港高防御主機]實質(zhì)是一種大流量攻擊,有意制造大量無法完成的不完全請求來快速耗盡服務(wù)器資源。有效防止DDOS攻擊[新家坡]的關(guān)鍵困難是無法將攻擊包從合法包中區(qū)分出來,而由于DDOS攻擊往往采取合法的數(shù)據(jù)請求技術(shù),再加上傀儡機器,造成DDoS攻擊成為目前最難防御的網(wǎng)絡(luò)攻擊之一。

  目前主要的防御方法有以下幾種:

  1、定期掃描。要定期掃描現(xiàn)有的網(wǎng)絡(luò)主節(jié)點,清查可能存在的安全漏洞,對新出現(xiàn)的漏洞及時進行清理。

  2、在骨干節(jié)點配置硬件防火墻。防火墻本身能抵御DDOS攻擊和其他一些攻擊,比如我們的云服務(wù)器前端都配置有金盾防火墻,可以有效抵御部分DDOS攻擊。

  3、隱藏自己的服務(wù)器信息,減少在網(wǎng)絡(luò)中的暴露。比如隱藏IP地址,把不用的端口全部禁用,讓客戶發(fā)現(xiàn)不了自己的主機。

  YINGSOO電話:4006 303 752

  熱門文章:【服務(wù)器端口號怎么看】【固態(tài)硬盤服務(wù)器】【傳奇架設(shè)】【云服務(wù)器和云主機區(qū)別】【網(wǎng)站服務(wù)器分類有哪些】【負載均衡的缺點】【美國高防ip訪問加速】【Interxion公司數(shù)據(jù)中心】【抗投訴能力強的荷蘭服務(wù)器】【免費云主機哪個好】【idc是什么意思】【傳奇服務(wù)器租用】【外貿(mào)郵件服務(wù)器的挑選是怎樣的】【VPS慢】【網(wǎng)站多IP服務(wù)器】【如何租用美國真正高速服務(wù)器】【德國vps】【根服務(wù)器是什么】【機房服務(wù)器】【美國高防空間優(yōu)勢】【海外主機租用】【高防服務(wù)器的防御能力有多強】【國內(nèi)服務(wù)器和香港服務(wù)器】【傳奇游戲打金服務(wù)器】【美國仿牌抗攻擊服務(wù)器一般都會受到什么攻擊】【服務(wù)器性能】【攻擊服務(wù)器】【網(wǎng)站關(guān)鍵詞】【怎樣確保業(yè)務(wù)平滑遷移到香港服務(wù)器】【吃雞怎么選服務(wù)器】【金融行業(yè)網(wǎng)站】【steam饑荒服務(wù)器】【BGP微信服務(wù)器】【外國網(wǎng)站服務(wù)器代理】【視頻CDN分發(fā)】【香港新世界電訊機房】【高防BGP服務(wù)器】【服務(wù)器租用和服務(wù)器托管有什么區(qū)別哪個更合算】【數(shù)一數(shù)韓國游戲服務(wù)器的優(yōu)勢】【什么是安全通服務(wù)器

  試用韓國云服務(wù)器,選知名品牌YINGSOO

  9年試用韓國云服務(wù)器業(yè)務(wù)運營經(jīng)驗,1200家企業(yè)客戶共同選擇.韓國Korea Telecom機房核心合作伙伴,機房帶寬資源充足,到國內(nèi)速度平均在80ms左右.

  http://www.sddonglingsh.com/products/cloud-kr.html

  境外云服務(wù)器哪里好_美國_日本_韓國精選線路,實時開通

  境外云服務(wù)器哪里好,YINGSOO,專業(yè)海外云服務(wù)器提供商,提供亞洲,歐美等全球范圍云服務(wù)器租用托管,1對1客服指導(dǎo),7x24小時保障,全球精選線路免費試用

  http://www.sddonglingsh.com/

版權(quán)聲明:本站文章來源標注為YINGSOO的內(nèi)容版權(quán)均為本站所有,歡迎引用、轉(zhuǎn)載,請保持原文完整并注明來源及原文鏈接。禁止復(fù)制或仿造本網(wǎng)站,禁止在非www.sddonglingsh.com所屬的服務(wù)器上建立鏡像,否則將依法追究法律責任。本站部分內(nèi)容來源于網(wǎng)友推薦、互聯(lián)網(wǎng)收集整理而來,僅供學習參考,不代表本站立場,如有內(nèi)容涉嫌侵權(quán),請聯(lián)系alex-e#qq.com處理。

相關(guān)文章

實時開通

自選配置、實時開通

免備案

全球線路精選!

全天候客戶服務(wù)

7x24全年不間斷在線

專屬顧問服務(wù)

1對1客戶咨詢顧問

在線
客服

在線客服:7*24小時在線

客服
熱線

400-630-3752
7*24小時客服服務(wù)熱線

關(guān)注
微信

關(guān)注官方微信
頂部