設計 C S協議 可擴充套件性

2021-10-23 05:47:25 字數 353 閱讀 5677

c-s架構下,介面返回值定義需要考慮後續的可擴充套件性。這裡是指廣義的客戶端-服務端。原則上,對於協議的返回值,後續的變更只能新增欄位而不能發生結構性的變更(比如修改結構或刪除),否則就無法向前相容。

如果非要變更,需要做好相容性處理。分兩種case:

1.服務端相容,需要客戶端傳入版本號,服務端根據版本號相容,低版本的使用老協議下發,高版本的使用新協議下發,如果無法區分客戶端版本,那麼服務端無法相容,一版推薦走服務端相容;

2.客戶端相容,這種僅用於web端或者客戶端可以統一強公升的情況,把所有的客戶端都改為新協議;但是客戶端仍然需要相容處理,服務端協議變更可能需要一定時間,比如伺服器數目較多,在公升級期間仍會有新老協議並存的情況,客戶端需要相容。

CSS可擴充套件性

今日在寫pc官網的時候,一直對於html css的結構編寫完全按照自己的思維方式,今天把 交給老大的時候,被他指出很多編寫 的錯誤性,比如 結構,標籤的使用,語義化,css的可擴充套件性,由於 主要還是需要做seo優化,所以在標籤使用上也有些不合理之處,給了我一些建議,自己記錄以下 1 在html標...

匯入 設計的可擴充套件性

敏捷思想的流行使得很多人對可擴充套件設計產生了一種懷疑的態度。這有幾方面的原因,一方面是j2ee平台本身提供的分布式機制等技術因素很容易誘導你定義不 必要的擴充套件需求,第二是基於目前的技術手段對於程式結構的分解仍然有著很大限制,具體的程式實現中往往會引入某種強制依賴,削弱了潛在的可擴充套件性,第三...

Flume的可擴充套件性

flume的可擴充套件性 flume採用了三層架構,分別為agent,collector和storage,每一層均可以水平擴充套件。其中,所有agent和 collector由master統一管理,這使得系統容易監控和維護,且master允許有多個 使用zookeeper進行管理和負載均衡 這就避 ...