雖然新冠肺炎大流行仍在對社區(qū)生活和經濟造成不利影響,但是在另一方面,在電子商務、物流、在線學習、送餐、在線商業(yè)協(xié)作等領域,用戶對許多公司的產品和服務的需求都出現了大幅飆升。對于這些公司中的許多公司來說,就地避難所和禁閉令造成了用戶需求、以及交易和支付方式的改變,從而使一些公司的業(yè)務激增。這些激增使應用程序的使用量迅速飆升,從而可能會導致業(yè)務延遲和中斷,這會讓用戶感到沮喪。
如果你所在的企業(yè)的業(yè)務和應用程序負載急劇增加,你會做些什么?你如何才能快速提高應用程序的性能和可擴展性,以確保良好的客戶體驗呢?以下是以正確方式快速擴展應用程序的6條經驗。
了解全部挑戰(zhàn)
只解決部分問題可能達不到預期的效果,一定要考慮以下所有的因素。
技術問題:負載下的應用程序性能(以及最終的用戶體驗)由延遲和并發(fā)之間的相互作用決定。延遲是特定操作所需的時間,例如網站響應用戶請求所需的時間。并發(fā)性是指系統(tǒng)可以同時處理的請求數。當并發(fā)性不可伸縮時,需求的顯著增加可能會導致延遲的增加,因為系統(tǒng)不能在接收到所有請求時立即響應它們。這可能會導致糟糕的客戶體驗,因為響應時間從幾分之一秒增加到幾秒,甚至更長,以至于可能導致無法響應所有請求。因此,雖然確保單個請求的低延遲可能很重要,但它本身可能無法解決并發(fā)激增帶來的挑戰(zhàn)。因此,必須找到一種方法來擴展并發(fā)用戶數,同時保持所需的響應時間。此外,應用程序必須能夠在多個云提供商和內部部署服務器的混合環(huán)境中無縫擴展。
計時:一個需要數年時間才能實現的策略,比如從頭開始重新設計應用程序,對于解決眼前的需求沒有什么幫助。采用的解決方案應該能夠在幾周或幾個月內開始擴展。
成本:很少有公司在沒有預算限制的情況下應對這一挑戰(zhàn),因此將前期投資降至最低并將增加的運營成本降至最低的戰(zhàn)略至關重要。
做好短期和長期計劃
即使解決了在降低延遲的同時增加并發(fā)性的挑戰(zhàn),也不要倉促進行可能付出高昂代價的短期修復。如果應用程序的完全重新設計不是有計劃的,那么可以采用一種策略,使現有的基礎設施能夠根據需求進行大規(guī)模擴展。
選擇正確的技術
事實證明,開源內存計算解決方案是在保持或降低延遲的同時快速擴展系統(tǒng)并發(fā)性的最具成本效益的方法。例如,Apache Ignite是部署在商用服務器集群上的分布式內存計算解決方案。它將集群的可用CPU和RAM池化,并將數據和計算分發(fā)到各個節(jié)點。Ignite部署在本地、公共云、私有云或混合環(huán)境中,可以將其插入現有應用程序和數據層之間的內存數據網格,而無需對其中任何一個進行重大修改。IGNITE還支持ANSI-99 SQL和ACID事務。
Apache Ignite內存數據網格就位后,數據庫中的相關數據將“緩存”在計算集群的RAM中,并且可用于處理,而不會因正常讀寫基于磁盤的數據存儲而導致延遲。Ignite IMDG使用MapReduce方法,并在集群節(jié)點上運行應用程序代碼,以便在整個集群上執(zhí)行大規(guī)模并行處理,同時最大限度地減少網絡上的數據移動。這種內存中的數據緩存、將計算發(fā)送到集群節(jié)點和MPP的組合顯著提高了并發(fā)性并降低了延遲,與基于磁盤的數據庫構建的應用程序相比,應用程序性能提高了1,000倍。
Ignite的分布式體系結構只需添加新節(jié)點就可以增加集群的計算能力和RAM。IGNITE會自動檢測額外的節(jié)點,并跨集群中的所有節(jié)點重新分配數據,從而確保CPU和RAM組合的最佳使用。輕松將節(jié)點添加到集群的能力還可實現巨大的可擴展性,以為業(yè)務快速增長提供支持。最后,IMDG通過將應用層對IMDG中的數據所做的更改寫回源數據存儲來確保數據一致性。
Apache Ignite還可以通過支持兩個日益重要的戰(zhàn)略來驗證基礎設施的未來。
數字集成集線器(DIH):DIH架構可以支持需要360度數據視圖的實時業(yè)務流程。它提供了一個通用數據訪問層,用于聚合和處理來自數據流以及內部和基于云的源(包括內部和云數據庫、數據湖、數據倉庫和SaaS應用)的數據。然后,多個面向客戶的業(yè)務應用程序可以訪問聚合數據并以內存中的速度處理數據,而無需通過網絡移動數據。DIH自動將消費應用程序對數據所做的更改同步到后端數據存儲,同時減少或消除對這些數據源的API調用的需要。
混合事務/分析處理(HTAP):HTAP是對事務和分析的相同內存數據集的高速處理。這樣就不需要耗時的提取、轉換和加載(ETL)過程來定期將數據從聯(lián)機事務處理(OLTP)系統(tǒng)復制到單獨的聯(lián)機分析處理(OLAP)系統(tǒng)。HTAP由內存計算平臺提供支持,可在不影響整體系統(tǒng)性能的情況下對運營數據運行預定義的分析查詢。
考慮開放源碼堆棧
要繼續(xù)創(chuàng)建經濟高效、可快速擴展的基礎設施,請考慮以下其他經過驗證的開源解決方案:
Apache Kafka或Apache Flink,用于構建實時數據管道,用于將數據從股票行情或物聯(lián)網設備等流來源傳送到Apache Ignite內存數據網格。
Kubernetes用于自動部署和管理已在Docker或其他容器解決方案中集成的應用程序。將應用程序放入容器中并使其管理自動化,這是在分布式、混合、多云世界中成功構建實時、端到端業(yè)務流程的關鍵。
Apache Spark,用于處理和分析大量分布式數據。Spark利用Ignite內存計算平臺,利用通過Kafka或Flink流傳輸管道獲取的海量數據,更有效地訓練機器學習模型。
正確構建、部署和維護
由于希望在更快的時間內部署這些解決方案,同時延遲的后果可能非常高,因此必須對項目可用的內部資源進行現實的評估。如果缺乏專業(yè)知識或可用性,請毫不猶豫地咨詢第三方專家。可以根據合同輕松獲得對所有這些開放源碼解決方案的支持,從而有可能獲得所需的專業(yè)知識,而無需花費時間來擴大內部團隊。
了解更多信息
許多在線資源可以幫助你快速掌握這些技術,并確定哪些策略可能適合你的組織。
無論你的目標是在業(yè)務活動激增的情況下確保最佳的客戶體驗,還是為大流行后的經濟復蘇做準備,由內存計算提供支持的開源基礎設施堆棧都是將前所未有的速度與巨大的可擴展性相結合以實現實時業(yè)務流程的經濟高效的途徑。
責編AJX
-
移動
+關注
關注
1文章
430瀏覽量
39221 -
APP
+關注
關注
33文章
1585瀏覽量
73810 -
應用程序
+關注
關注
38文章
3322瀏覽量
58727
發(fā)布評論請先 登錄
MCP:連接AI與應用程序的開放標準!

AWTK-WEB 快速入門(6) - JS WebSocket 應用程序

AWTK-WEB 快速入門(5) - C 語言 WebSocket 應用程序

基于HPM_SDK_ENV開發(fā)應用程序的升級處理

AWTK-WEB 快速入門(4) - JS Http 應用程序

ANACONDA——關于發(fā)布數據應用程序的新簡單方法

TMETRIC:簡單步驟將工作區(qū)連接到時間跟蹤應用程序

擴展您的Chart FX應用程序:標準化升級適應更多領域

AWTK-WEB 快速入門(2) - JS 應用程序

AWTK-WEB 快速入門(1) - C 語言應用程序

評論