0

我在尋找Reactive和Resilient之間的區別。Reactive和Resilient有什麼區別?

我經歷了幾篇文章,但這些讓我有些清楚,但與外交解釋混淆很多。

我的理解彈性的意思是,如果同一個服務的實例的數量增加時請求的數量增加。同樣,如果請求較少,則會減少。所以,即使有多少個實例在增加或減少,其穩定狀態的容易和快速也被稱爲彈性。

我對無效沒有明確的想法。

回答

1

彈性是反應系統的一個特性,如Reactive Manifesto中所定義。換句話說,反應性是一個比韌性更廣泛的術語。

你對彈性的理解聽起來更像是反應系統的另一個屬性:彈性。的分別elasticityscalability,宣言的定義,以及這兩者之間的關係,如下:

彈性(相對於可擴展性)

彈性意味着,系統的吞吐量可擴展至或隨着資源按比例添加或移除而自動降低以滿足不同的需求。系統需要具有可伸縮性(請參閱可伸縮性),以便在運行時動態添加或刪除資源。彈性因此建立在可擴展性上,並通過添加自動管理的概念擴展它。


伸縮性

的系統的利用的更多的計算資源,以提高其性能的能力由吞吐量增益的比率的資源的增加。一個完美可擴展的系統的特點是兩個數字成正比:雙重資源分配將使吞吐量翻倍。可擴展性通常受到系統內瓶頸或同步點的引入的限制,導致可伸縮性受限,請參閱Amdahl’s Law and Gunther’s Universal Scalability Model

0

根據the reactive manifesto你混淆了這兩個概念是不同的。一種反應系統具有4個屬性:

  • 響應

  • 彈性

  • 彈性

  • 消息驅動

因此,反應系統是彈性的,沒有「差異」。

的宣言定義彈性爲:

彈性:系統停留在響應失敗的臉。這個 不僅適用於高度可用的任務關鍵型系統 - 任何不具有彈性的系統在失敗後都將無響應。 通過複製,包容,隔離和代理實現彈性。每個組件中都包含故障,將組件彼此隔離,從而確保系統的各個組件可以在發生故障和恢復時不會將整個系統作爲整個系統進行妥協。將每個組件的恢復委託給另一個(外部)組件,並通過複製確保高可用性,其中 是必需的。組件的客戶端不負擔處理其 失敗的負擔。

但是,如果彈性系統缺少其他3個屬性,它可能不是「反應性」的。例如:一個系統可能對故障具有彈性,但對增加需求不具彈性,因此不具有響應性。