網(wǎng)站功能減負-設計為能夠禁用的
- 編輯:admin -一條架構(gòu)設計原則是把功能設計為能夠禁用的。這種設計方法與設計為能夠回退的相比,至少有兩點不同之處。其-.如果實現(xiàn)得當,禁用個功能通常比把它恢復到之前的版本或發(fā)布要快。情況好時,應用會偵聽專用的信道,根據(jù)指令禁用某個功能。其他的方法則可能需要重啟應用,以便采用新的配置文件。但無論哪種方法,禁用造成擴展問題的功能,通常都比用之前發(fā)布的版本替換當前的版本要快得多。
一條架構(gòu)設計原則是把功能設計為能夠禁用的。這種設計方法與設計為能夠回退的相比,至少有兩點不同之處。其-.如果實現(xiàn)得當,禁用個功能通常比把它恢復到之前的版本或發(fā)布要快。情況好時,應用會偵聽專用的信道,根據(jù)指令禁用某個功能。其他的方法則可能需要重啟應用,以便采用新的配置文件。但無論哪種方法,禁用造成擴展問題的功能,通常都比用之前發(fā)布的版本替換當前的版本要快得多。
禁用功能與回退的另一點 不同之處在于,它允許一個發(fā)布中的其他功能, 無論是新功能還是修改過的功能,繼續(xù)正常運行。用我們的約會網(wǎng)站做例子,如果我們一一次發(fā)布了兩個功能,一個是搜索“他和我們的朋友約會過嗎”,另一個是對某次約會進行評級,我們可以只禁用搜索功能,直到它破修復了為止,而不是回退整個發(fā)布,導致兩個功能都不能用。對于-次發(fā)布中包含多個修復、修改過的功能或新功能,這種方法具有明顯的優(yōu)勢。
不過,如果把所有功能都設計為能夠禁用的,有時增加的成本甚至比設計為能夠回退到指定發(fā)布版本的還多。理想的情況是,設計為能夠禁用的和設計為能夠回退的實現(xiàn)成本都很低,公司可以選擇為所有新的和修改過的功能都實現(xiàn)這兩種設計。但更可能的是,找出高風險的功能,從而確定哪些功能應該被設計為能夠禁用的。代碼重用或異步調(diào)用的共享服務有助于大大減少實現(xiàn)能夠根據(jù)需求禁用的功能的成本。同時實現(xiàn)回退和功能禁用,可以創(chuàng)造出具有適應性、靈活的生產(chǎn)環(huán)境,而不必依賴像量大、高成本又往往低回報的性能測試這樣的預測性方法,從而可以實現(xiàn)敏捷性。
如果實現(xiàn)得當,網(wǎng)站建設設計為能夠禁用的和設計為能夠回退的實際上可以縮短上市時間,因為它們允許你在生產(chǎn)過程中冒一些風險,而這在沒有應用這倆原則時是不會被考慮的。雖然無法取代負輕松回退實現(xiàn)。載測試和性能測試,但它們允許你以更快的方式執(zhí)行這些測試,因為你知道發(fā)布之后你仍然可以測試。
