了解最新公司動態(tài)及行業(yè)資訊
關(guān)于作者
徐峰
盛大游戲高級研究員
2006年畢業(yè)于南京大學(xué),2011年加入盛大游戲,擁有十年運(yùn)維經(jīng)驗(yàn),曾參與盛大游戲旗下多款大型端游、手游的線上運(yùn)維,領(lǐng)導(dǎo)統(tǒng)一運(yùn)維平臺的產(chǎn)品功能設(shè)計(jì)與實(shí)現(xiàn),并具有工信部認(rèn)證的高級信息系統(tǒng)項(xiàng)目經(jīng)理資格
前言
首先,請?jiān)试S我做一個(gè)簡短的自我介紹。我叫徐峰,來自盛大游戲,現(xiàn)任系統(tǒng)工程高級研究員。我寫了一本書,叫《Linux Best 》。
在這次演講中,我把它分為三個(gè)方面。
第一個(gè)方面,我們來看看為什么要做一個(gè)自動化運(yùn)維系統(tǒng),也就是解決“3W”中的why和what,why和what的問題。
第二個(gè)方面是看盛大游戲的各個(gè)運(yùn)維子系統(tǒng)是如何工作的,如何設(shè)計(jì)、運(yùn)營和處理問題,如何解決“3W”問題,如何去做。
三是總結(jié)一下我們在盛大游戲自動化運(yùn)維過程中遇到的一些問題。
自動化運(yùn)維系統(tǒng)介紹
首先,我們來看看為什么我們需要做一個(gè)自動化的運(yùn)維系統(tǒng)。首先,我們來看看運(yùn)維中遇到的一些挑戰(zhàn),以及第一個(gè)游戲的要求。它表現(xiàn)在三個(gè)方面。我們都知道盛大游戲是比較知名的老牌游戲廠商。它現(xiàn)在運(yùn)營著數(shù)百款游戲。第二種游戲結(jié)構(gòu)復(fù)雜。
游戲公司和普通的互聯(lián)網(wǎng)公司有一個(gè)很大的區(qū)別,就是游戲的來源可能有很多,國外的、國內(nèi)的、大廠商的、小廠商的。每個(gè)游戲的結(jié)構(gòu)可能不同,有的分區(qū),有的很大,需求多樣。
另一個(gè)是操作系統(tǒng)的種類很多,和剛才的原因差不多。開發(fā)者的背景和編程偏好不同,如Linux、Linux等。二是在硬件環(huán)境上,主要表現(xiàn)在大量的服務(wù)器和大量的服務(wù)器型號上。由于公司成立十余年,在這個(gè)過程中分批分期采購的服務(wù)器幾乎跨越了各大主機(jī)廠的主要產(chǎn)品線,而且型號比較多且雜。
另一個(gè)是人為因素。在構(gòu)建自動化運(yùn)維系統(tǒng)的過程中,比較重要的考慮因素之一就是人的因素。如果每個(gè)人都是好人,很多時(shí)候一個(gè)人可以完成所有的工作。 ,也許你不需要自動化運(yùn)維系統(tǒng)。正是因?yàn)槲覀兠總€(gè)人的能力不同,技術(shù)水平參差不齊,甚至運(yùn)維習(xí)慣也不同,所以我們必須建立一個(gè)標(biāo)準(zhǔn)化的自動化運(yùn)維體系來提高我們的工作效率。
看看我們構(gòu)建這個(gè)自動化運(yùn)維系統(tǒng)的目標(biāo),也就是我們的原則是什么?我認(rèn)為做任何事情,目標(biāo)和原則都很重要。
我構(gòu)建自動化運(yùn)維系統(tǒng)的目標(biāo)總結(jié)為四個(gè)字:
運(yùn)維子系統(tǒng)詳解
1.自動化安裝系統(tǒng)
我們來看看盛大游戲目前自動化運(yùn)維系統(tǒng)的幾個(gè)子系統(tǒng),以及它們是如何協(xié)同工作的。第一個(gè)是自動安裝系統(tǒng)。服務(wù)器由自動化安裝系統(tǒng)安裝完成后,由自動化運(yùn)維平臺接管。
自動化運(yùn)維平臺為自動化安全檢查系統(tǒng)、自動化客戶端更新系統(tǒng)和服務(wù)器端更新系統(tǒng)提供底層支持。自動數(shù)據(jù)分析系統(tǒng)和自動客戶端更新系統(tǒng)是相關(guān)聯(lián)的。自動化數(shù)據(jù)分析系統(tǒng)將反饋?zhàn)詣踊蛻舳烁孪到y(tǒng)的結(jié)果。
讓我們來看看每個(gè)子系統(tǒng)是如何設(shè)計(jì)和工作的。說到自動化安裝,大家可能并不陌生。我們剛才提到,挑戰(zhàn)是多兩個(gè)少兩個(gè),模型和操作系統(tǒng)很多,但是人少,可用時(shí)間少。
整個(gè)過程采用了一個(gè)通用的框架。首先是通過PXE啟動,是否安裝,是否是Linux,然后根據(jù)系統(tǒng)自動識別要安裝的驅(qū)動。在服務(wù)器交付給用戶之前,會進(jìn)行基本的安全設(shè)置。
比如在防火墻設(shè)置中,關(guān)閉了里面的共享,在一定程度上提高了安全性,也減少了一些需要手動進(jìn)行的操作。
2.自動化運(yùn)維平臺
服務(wù)器由自動化安裝系統(tǒng)安裝后,將由自動化運(yùn)維平臺接管。自動化運(yùn)維平臺是運(yùn)維人員的操作平臺。它解決的主要問題是服務(wù)器和操作系統(tǒng)是異構(gòu)的,數(shù)量非常龐大。
我們可以看到,在這張圖中,我們的操作系統(tǒng)也是五花八門的。在設(shè)計(jì)系統(tǒng)的過程中,我們有幾個(gè)考慮因素。首先是將整個(gè)系統(tǒng)設(shè)計(jì)為基于瀏覽器的用戶界面。一個(gè)架構(gòu)。
運(yùn)維工程師可以隨時(shí)隨地管理您的系統(tǒng)進(jìn)行運(yùn)維操作,更加方便。服務(wù)器將向正在操作的機(jī)器發(fā)出指令。你可以看看這里的一個(gè)特性,服務(wù)器也是由 SSH 管理的。過去每個(gè)人都對它的感覺感到厭惡。
事實(shí)上,你可以很好地管理它。你可以參考這里,看看你是否能得到幫助。我們采用開源SSH方式進(jìn)行管理,可以批量更新補(bǔ)丁到系統(tǒng),批量密碼管理和操作。
所有系統(tǒng)都是通過SSH管理的,而不是在上面開發(fā)一些Agent,這也體現(xiàn)了自動化運(yùn)維的觀點(diǎn),至少我尊重。很多時(shí)候我們不需要自己造輪子,而是自己搭建一個(gè)客戶端的方法服務(wù)器運(yùn)維,很多時(shí)候在生產(chǎn)環(huán)境中并沒有得到強(qiáng)烈的驗(yàn)證。
但是SSH協(xié)議本身已經(jīng)存在很多年了,在盛大游戲中也使用了很多年。問題已解決。與造輪子相比,這更穩(wěn)定、更可驗(yàn)證、更易于使用。方便的。升級之后也有升級,可以更簡單。
3.自動安檢系統(tǒng)
下一個(gè)系統(tǒng)是自動化安全檢查系統(tǒng),因?yàn)槲覀冇懈嗟淖酉到y(tǒng)和更多的業(yè)務(wù)。那么我們?nèi)绾卧O(shè)計(jì)一個(gè)系統(tǒng)來保證他們的安全呢?然后我這里講了兩個(gè)主要系統(tǒng),一個(gè)是自動化安檢平臺。
游戲公司和一般互聯(lián)網(wǎng)公司的一個(gè)區(qū)別是他們有很多客戶端,尤其是大客戶端,或者需要發(fā)送給玩家更新、下載和安裝的補(bǔ)丁文件。如果有病毒和木馬,那將是一件非常糟糕的事情,甚至?xí)I(yè)務(wù)和公司的聲譽(yù)造成很大的影響。
這些文件在發(fā)送到玩家電腦之前,必須經(jīng)過病毒檢測系統(tǒng),確保沒有被注入相應(yīng)的病毒代碼。另一個(gè)是服務(wù)器端,主要通過安全掃描架構(gòu)來完成。我們都知道,安全往往不是一朝一夕的過程,也不是一勞永逸的過程。如果您不不斷地檢查、檢測和檢測您的系統(tǒng),那么您的一些誤操作將導(dǎo)致您的系統(tǒng)暴露在互聯(lián)網(wǎng)上或被惡意攻擊。在攻擊者的眼皮底下。
通過一種主動、自發(fā)的安全掃描架構(gòu),它會掃描您的所有服務(wù)器以確保安全,您可以在很大程度上規(guī)避這個(gè)問題。舉個(gè)例子,我們?nèi)ツ暌灿龅竭^一個(gè)情況。當(dāng)某臺交換機(jī)的ACL達(dá)到一定數(shù)量時(shí),整個(gè)ACL就失效了。如果您沒有相關(guān)的支持機(jī)制進(jìn)行檢查和檢測,那么您的服務(wù)器、您認(rèn)為保護(hù)良好的端口或敏感IP可能已經(jīng)暴露。
所以通過這種主動檢測,可以減少很多系統(tǒng)或人的安全問題。
4.自動客戶端更新系統(tǒng)
說到客戶端更新,我們都知道游戲是周期性的,尤其是在游戲發(fā)售當(dāng)天或者有版本更新的時(shí)候。這時(shí)候玩家很活躍,下載行為也很多。
但是在平時(shí),更新和下載帶寬可能不會很大,這也是游戲一個(gè)非常顯著的特點(diǎn)。但是這個(gè)特性對我們構(gòu)建這樣一個(gè)分發(fā)系統(tǒng)提出了很大的挑戰(zhàn)。
那么第一個(gè)就是游戲產(chǎn)生的帶寬在高峰期可能達(dá)到數(shù)百G。其次,很多小型運(yùn)營商或中小型運(yùn)營商都有一些緩存機(jī)制。當(dāng)然,如果這個(gè)緩存機(jī)制處理不好,就會影響業(yè)務(wù),也就是非法緩存的問題。
另一個(gè)問題是關(guān)于 DNS 調(diào)度的。 DNS調(diào)度本身是根據(jù)玩家自己的Local DNS機(jī)制解析的。對此,會出現(xiàn)調(diào)度不準(zhǔn)確的問題。此外,DNS 污染或 DNS TTL 機(jī)制會使您的調(diào)度變得不那么敏感和準(zhǔn)確。
我們有兩個(gè)系統(tǒng)來解決這些問題。第一套是系統(tǒng),解決大文件的更新下載,多CDN廠商的流量調(diào)度。操作過程也比較簡單。運(yùn)維人員上傳文件,進(jìn)行安全檢查,然后同步到CDN。 CDN將文件分發(fā)到相關(guān)的邊緣節(jié)點(diǎn),最后解壓文件。
它有一個(gè)特點(diǎn),剛才提到了游戲的周期性特點(diǎn),就是平時(shí)帶寬不是很大,但是在節(jié)點(diǎn)的時(shí)候,或者是重大事件的時(shí)候,帶寬就比較大了。如果自己搭建CDN系統(tǒng),可能不太劃算,所以我們引進(jìn)國內(nèi)很多大型CDN廠商來調(diào)度資源。
我們的調(diào)度是通過302的方式,而不是把域名分給其中的一個(gè)或幾個(gè)。因?yàn)橹苯邮褂肅NAME很難按比例調(diào)度,特別是帶寬大的時(shí)候,CDN廠商解決不了,或者本地出現(xiàn)故障,需要快速移除。這樣的功能可以通過集中調(diào)度系統(tǒng)來實(shí)現(xiàn)。
所有用戶的第一個(gè)請求是在我方調(diào)度,但不產(chǎn)生直接下載帶寬,而是通過相關(guān)算法按比例和面積調(diào)度給第三方CDN廠商,然后在客戶端,播放器實(shí)際上是由第三方 CDN 供應(yīng)商節(jié)點(diǎn)下載的。
剛才提到小運(yùn)營商或者部分運(yùn)營商的非法緩存機(jī)制會影響業(yè)務(wù)。那么對于一些關(guān)鍵文件,如果緩存到舊版本,可能會造成很大的問題。
比如在我們的區(qū)域服務(wù)器列表中,如果我們在服務(wù)器端添加了一個(gè)新的區(qū)域服務(wù)器,但它沒有出現(xiàn)在客戶端,就會導(dǎo)致玩家無法進(jìn)入新的區(qū)域服務(wù)器進(jìn)行游戲.
針對這些問題,我們設(shè)計(jì)了內(nèi)部代號系統(tǒng),因?yàn)檫@些文件本身比較小,數(shù)量也不是特別多,但是需要HTTPS加密,小運(yùn)營商的緩存問題可以通過加密避免。
所以我們對所有的key文件都有自己的節(jié)點(diǎn),并且在節(jié)點(diǎn)上支持HTTPS加密,避免一些小運(yùn)營商緩存帶來的問題。
5.自動服務(wù)器端更新系統(tǒng)
讓我們來看看服務(wù)器端更新。我們使用的服務(wù)器端更新方式,也是類似于CDN的傳統(tǒng)方式。目標(biāo)服務(wù)器通過緩存節(jié)點(diǎn)到中心節(jié)點(diǎn)下載,由緩存節(jié)點(diǎn)緩存控制,可以減少網(wǎng)絡(luò)傳輸量,提高效率。
有一個(gè)小插曲。我們在設(shè)計(jì)這個(gè)系統(tǒng)的時(shí)候也想過用P2P來做,但是因?yàn)樵谏a(chǎn)中大家都覺得P2P是一個(gè)很炫的東西,或者說是節(jié)省帶寬的東西。 ,但是在生產(chǎn)中用于分發(fā)大文件時(shí)存在幾個(gè)問題。一是安全控制問題。如何在這些服務(wù)器之間傳輸數(shù)據(jù)并保護(hù)安全端口是一個(gè)難題。
另外,如何控制流量或限制流量也是P2P中的一個(gè)挑戰(zhàn),所以最終我們采用了一個(gè)比較簡單的結(jié)構(gòu)來做。
6.自動化數(shù)據(jù)分析系統(tǒng)
說到客戶端更新。更新有什么效果,或者玩家是否安裝成功或進(jìn)入游戲。很多時(shí)候我們不知所措或者可以看日志,但是日志中的很多信息是不完整的服務(wù)器運(yùn)維,不完整的。
下載客戶端的時(shí)候,如果查看HTTP日志,里面有一個(gè)206代碼。你很難計(jì)算出玩家完整下載了多少客戶端,甚至很難知道他是否下載了驗(yàn)證結(jié)果。 所以我們最終設(shè)計(jì)了這樣一個(gè)自動化的數(shù)據(jù)分析系統(tǒng)。它的目標(biāo)是查看從下載過程開始到您登錄游戲時(shí)數(shù)據(jù)是如何轉(zhuǎn)換的。
一個(gè)理想的情況可能是用戶下載后進(jìn)入游戲,但這是一個(gè)理想的情況。很多時(shí)候,比如他的網(wǎng)絡(luò)不好,最后下載不成功,或者是賬號有問題,最后沒有登錄游戲。
那么它呈現(xiàn)的數(shù)據(jù)形式就是一個(gè)漏斗狀的情況。那么我們的目標(biāo)就是讓最終登錄的用戶數(shù)接近我們開始下載的用戶數(shù)。
讓我們來看看系統(tǒng)架構(gòu)。首先,播放器端有下載器或安裝客戶端。部分 SDK 集成在游戲客戶端列表中。對于任何一個(gè)關(guān)鍵點(diǎn),比如下載按鈕或者終止按鈕NYU上報(bào)數(shù)據(jù),當(dāng)然不會涉及敏感信息。上報(bào)后會有一個(gè)集群,然后集群處理后寫入。
看一個(gè)例子,這是一款在某個(gè)時(shí)間點(diǎn)大量安裝失敗的游戲。
在啟動過程中查看此游戲的問題。左邊一欄分為三個(gè)文件,一個(gè)是3MB,兩個(gè)是2G以上的文件。事實(shí)上,你可以想象它。很多時(shí)候玩家看到小文件直接下載安裝小文件,其實(shí)并不完整。這也告訴我們,在很多情況下,無論是運(yùn)營還是業(yè)務(wù)上,都需要在引導(dǎo)上更加合理,避免出現(xiàn)一些問題。
7.自動數(shù)據(jù)備份系統(tǒng)
請葛優(yōu)叔叔出去。大家想想如果一個(gè)游戲在運(yùn)行過程中,數(shù)據(jù)突然沒了,沒有備份。有任何想法嗎?我覺得葛優(yōu)叔做得很好?;旧?,就是這種感覺?;旧?,你的身體已經(jīng)被掏空了,基本都難以駕馭。
有沒有人想過解決這個(gè)問題的辦法,有沒有人舉手,看來大家只有一個(gè)想法收拾行李走吧?這是一個(gè)小故事。游戲運(yùn)營初期,很多時(shí)候都是粗放,沒有備份機(jī)制。
在這種情況下,某游戲公司確實(shí)有這樣的問題,他們到底是怎么做的?它實(shí)際上是一個(gè)活動,讓玩家來填寫他們的賬戶信息和屬性,以及你正確填寫了哪些金幣,系統(tǒng)會為你匹配金幣。那個(gè)時(shí)代的玩家是很無辜的。很多人填的信息,我們就填你填的。這個(gè)數(shù)據(jù)恢復(fù)了很多,游戲繼續(xù)運(yùn)行。
在這之后,很多玩家看到這樣的言論就不會這樣做了,所以我提醒大家做好備份,并保證備份的可恢復(fù)性。
這是我們第一個(gè)發(fā)生嚴(yán)重事故的備份系統(tǒng)版本,其設(shè)計(jì)和實(shí)現(xiàn)都比較簡單和簡單。也就是根據(jù)不同的機(jī)房,我們會有一個(gè)FTP服務(wù)器,然后寫入機(jī)房的FTP服務(wù)器,再寫入磁帶,這樣會導(dǎo)致你的磁帶分散,沒有集中存儲地方。那么基于FTP上傳會有帶寬甚至延遲的要求。
然后我們設(shè)計(jì)了這樣一個(gè)集中式備份系統(tǒng)。在這種情況下,它主要解決了幾個(gè)問題。
第一個(gè)是為我們所有的機(jī)房配置一個(gè)負(fù)載均衡器IP??蛻舳诵枰蟼魑募r(shí),通過負(fù)載均衡器獲取實(shí)際上傳地址,然后從左側(cè)第二個(gè)框開始上傳文件。如果驗(yàn)證沒有問題,則轉(zhuǎn)入HDFS集群。目前該集群規(guī)模為數(shù)十PB,日上傳量為數(shù)T。
每個(gè)人都會思考一個(gè)問題。在中國,對運(yùn)維人員的網(wǎng)絡(luò)要求非常高,運(yùn)營商之間的差距甚至是一些壁壘,導(dǎo)致網(wǎng)絡(luò)不穩(wěn)定,丟包,如何解決時(shí)延問題?如果在大文件傳輸過程中基于 TCP 進(jìn)行,則涉及到單個(gè)連接上帶寬延遲乘積的理論限制。我們這里創(chuàng)新的是我們的客戶端上傳使用UDP協(xié)議,UDP本身沒有控制權(quán)。說白了就是客戶端可以任意硬發(fā)送。
那么服務(wù)器最終會檢查你收到了哪些文件段,然后通知客戶端重新上傳一些沒有上傳的文件?;谶@種方法,可以避免很多由網(wǎng)絡(luò)抖動甚至大的網(wǎng)絡(luò)延遲引起的問題。當(dāng)然,你也可以在客戶端做流量控制。以后遇到問題的時(shí)候,可能會想一些非常規(guī)的解決方案,也可能存在。
8.自動監(jiān)控報(bào)警系統(tǒng)
我們來看看我們游戲的監(jiān)控系統(tǒng)。剛才提到游戲的架構(gòu)決定了有游戲客戶端,有服務(wù)器,有網(wǎng)絡(luò)鏈路,所以你必須有一個(gè)比較完善的系統(tǒng)才能全方位進(jìn)行,這樣的三維監(jiān)控可以保證業(yè)務(wù)會在問題發(fā)生前發(fā)出預(yù)警,或在問題發(fā)生時(shí)發(fā)出警報(bào)。
對于機(jī)房鏈路,我們有IDC的網(wǎng)絡(luò)質(zhì)量監(jiān)控來做。在服務(wù)器網(wǎng)絡(luò)設(shè)備和硬件方面,將有服務(wù)器健康檢查、性能監(jiān)控、網(wǎng)絡(luò)設(shè)備和流量監(jiān)控。在系統(tǒng)程序方面,我們會收集和分析系統(tǒng)日志,在游戲服務(wù)器端應(yīng)用方面,會有服務(wù)器端程序監(jiān)控。在客戶端,會有一個(gè)植入的SDK,用于收集下載和更新效果,以及收集其崩潰的數(shù)據(jù)。
看左邊那一欄,為什么用紅色標(biāo)出,因?yàn)槲蚁霃?qiáng)調(diào)它的重要性。當(dāng)我們考慮運(yùn)維或架構(gòu)設(shè)計(jì)的問題時(shí),我們的視角不局限于技術(shù)方面,或者我們想思考技術(shù)有多酷和牛逼,我們必須考慮技術(shù)在業(yè)務(wù)中的架構(gòu)。方面?;蛘呶覀兪欠窨梢酝ㄟ^業(yè)務(wù)指標(biāo)來監(jiān)控我們的運(yùn)維能力和運(yùn)維系統(tǒng)。
游戲中的一個(gè)重要指標(biāo)是在線人數(shù)。通過監(jiān)控在線人數(shù)等一個(gè)業(yè)務(wù)指標(biāo),可以知道我左邊的系統(tǒng)是否正常工作,是否有漏報(bào)或誤報(bào),因?yàn)楹芏鄷r(shí)候任何一個(gè)環(huán)節(jié)都有問題。
最終表現(xiàn)的問題,都是關(guān)于業(yè)務(wù)和產(chǎn)生價(jià)值的數(shù)據(jù),所以我們會有一個(gè)監(jiān)控人數(shù)的系統(tǒng)。每款游戲上線前,都會與系統(tǒng)連接,采集一直在線的人數(shù)。在系統(tǒng)中,如果出現(xiàn)異常抖動等,會顯示在里面,可以告訴你是否有問題。
這是一個(gè)框架,讓我們來看看細(xì)節(jié),我們?nèi)绾芜M(jìn)行服務(wù)器監(jiān)控。
結(jié)構(gòu)是這樣的。首先運(yùn)維工程師配置監(jiān)控策略,然后到監(jiān)控策略平臺。監(jiān)控策略平臺會根據(jù)數(shù)據(jù)對數(shù)據(jù)進(jìn)行格式化,格式化成相關(guān)格式,然后推送到第三頁P(yáng)PT中提到的自動化運(yùn)維平臺,自動化運(yùn)維平臺會監(jiān)控是否它來自外部來源,遠(yuǎn)程檢測,網(wǎng)絡(luò)模擬或本地監(jiān)控。
例如監(jiān)控流量、本地進(jìn)程、本地日志等推送到遠(yuǎn)程檢測服務(wù)器,或者游戲服務(wù)器本身。
然后他們會報(bào)告數(shù)據(jù)。數(shù)據(jù)上報(bào)后,會根據(jù)運(yùn)維工程師配置的閾值觸發(fā)相關(guān)告警,然后通知運(yùn)維工程師進(jìn)行相關(guān)處理。因?yàn)殡m然有各種各樣的游戲,各種各樣的操作系統(tǒng),或者各種各樣的操作系統(tǒng),但總有一些東西是大家可以共享的。
您可以將其視為監(jiān)控模板或監(jiān)控策略。我們還對服務(wù)器的東西進(jìn)行了整合和總結(jié)。你可以看到我們有很多插件。運(yùn)維人員只需選擇相關(guān)插件,匹配閾值,匹配時(shí)間,可以節(jié)省大家的時(shí)間和學(xué)習(xí)成本,提高你的配置策略效率。 .
配置策略完成后,可以直接綁定到你要監(jiān)控的服務(wù)器。
總結(jié)
從 2000 年初到現(xiàn)在,我們一直致力于自動化運(yùn)維系統(tǒng)。這么多年,我們也想考慮一個(gè)問題。總結(jié)我們的過去,我覺得可以從三個(gè)方面給大家建議。
第一個(gè)是循序漸進(jìn)的原則,尤其是對于中小型公司或初創(chuàng)公司。很多時(shí)候我們不需要一個(gè)高級的、白色的、豐富的系統(tǒng)。您可能需要專注于當(dāng)前的問題并妥善處理它們。 ,處理完美,后面的問題也是可以輕松解決的情況。如果您開始設(shè)計(jì)一個(gè)非常龐大且功能豐富的系統(tǒng),可能會導(dǎo)致一些無法控制的情況。
比如這個(gè)系統(tǒng)最終可能不工作,或者因?yàn)轳詈咸珡?qiáng),開發(fā)無法控制,或者項(xiàng)目費(fèi)用擱淺。
但是如果最初的目標(biāo)是解決一些具體的問題,有一些針對性,推進(jìn)起來也比較簡單。
另一個(gè)是考慮可擴(kuò)展性。在我們設(shè)計(jì)系統(tǒng)的時(shí)候,你可能不需要在功能或者設(shè)計(jì)上考慮那么多,但是對于當(dāng)前的問題,你需要考慮你的服務(wù)器。當(dāng)一些比較大的擴(kuò)展發(fā)生時(shí),是否還能支持它??們,比如十到一百、一千的數(shù)量級,仍然可以使用,這也是一個(gè)需要考慮的問題,也就是考慮可擴(kuò)展性。
另外,它是出于實(shí)用目的,這也體現(xiàn)在我們的系統(tǒng)中。在很多情況下,市場上可能有一些相對成熟的協(xié)議和工具可以做到這一點(diǎn)。我們只需要通過相關(guān)的評估就可以認(rèn)為它在生產(chǎn)中??捎?,很多時(shí)候不需要自己再做一套。
你做的另一套沒有經(jīng)過多次驗(yàn)證,可能會帶來安全問題?;诔墒斓膮f(xié)議和框架來做,而不是自己重新發(fā)明輪子,通??梢蕴岣吣愕男剩_保你的穩(wěn)定性和安全性。
問答
更多精彩繼續(xù)
12月16-17日,北京站將在國際會議中心舉行,將為您呈現(xiàn)更多精彩內(nèi)容。
立即注冊,在 10 月 30 日前享受早鳥價(jià) 20% 的折扣。
24小時(shí)免費(fèi)咨詢
請輸入您的聯(lián)系電話,座機(jī)請加區(qū)號