top of page

網站架構設計的高可用性原則

在一些交易網站的架構設計中,經常涉及到高併發性和高可用性。以下部分將簡要總結高可用性原則。高可用性原則一般分為以下四點:降級、限流、斷流和回滾。

1退化

交換機的高可用性設計是非常重要的。在設計降級開關時,主要依據如下。

1.1交換機集中管理:通過推送機制將交換機推送到各個應用。

1.2降級多級服務:例如,服務調用降級為只讀本地緩存、只讀分佈式緩存、只讀默認降級數據

1.3交換機前置:如果架構為nginx和tomcat,可以將交換機前置到nginx接入層,交換機在nginx層進行。請求流量不會返回到後端Tomcat應用程序的源,或者只有一小部分流量返回到源。

1.4業務降級:當高併發流量攻擊時,保證用戶能够下單和付款是電子商務系統大促銷設計的覈心要求,並保證數據的最終一致性。

2限流

流量限制的目的是防止惡意請求流量、惡意攻擊或流量超過系統峰值。可以考慮以下想法:

2.1惡意請求流量只訪問緩存

2.2對於穿透後端應用的流量,可以使用nginx的limit模塊進行處理

2.3對於惡意IP,可以使用nginx deny進行遮罩

其原理是將流量滲透限制在後端的弱應用層。

三。切流

對於大型應用來說,减少流量是非常重要的。例如,在多機房環境中,一個機房掛了,機架掛了,服務器掛了。以下方法可用於切換。

3.1dns:切換機房入口。

3.2 httpdns:在主應用場景中,用戶端分配流量入口,繞過運營商的本地DNS,實現更精確的流量調度

3.3 LVS/haproxy:切換故障nginx接入層。

3.4nginx:切換失敗的應用層。

另外,為了方便切換,有些應用還可以在nginx接入層進行切換。一些流量可以通過nginx交換,但不能通過LVS/haproxy。

4它可以回滾

版本控制的目的是實現稽核跟踪和回滾。當出現程式或數據錯誤時,如果有版本控制機制,可以通過回滾恢復到最新的正確版本,如事務回滾、程式碼基回滾、部署版本回滾、數據版本回滾、靜態資源版本回滾,回退機制可以保證系統在一定場景下的高可用性。


You Might Also Like:
bottom of page