首頁 >web前端 >js教程 >從本地到全球:Azure 遷移提高了我們的效率和安全性

從本地到全球:Azure 遷移提高了我們的效率和安全性

Linda Hamilton
Linda Hamilton原創
2025-01-11 07:03:43885瀏覽

背景:原始系統概述

在我的一份工作中,我開發了一個強大的管理系統,該系統用 Java 開發,與 RabbitMQ 和 PostgreSQL 集成,其任務是控制大型電子商務平台的支付、運輸和庫存。原來的系統在本地資料中心本地運行,不再滿足對可擴展性和可靠性不斷增長的需求。該系統面臨關鍵事務的高延遲、維護困難以及隨著工作負載的增長而增加的營運成本等挑戰。

此次遷移的目的不僅是將系統遷移到雲端,也是為了改善架構,使其更具可擴展性、彈性和效率。選擇 Azure 作為雲端平台是因為它能夠滿足現代、穩健的架構的特定需求,同時支援安全性、治理和成本優化方面的最佳實踐,如 Azure 架構完善的框架中所述。

系統上下文:Azure 中的新模型

概述

新系統採用 Azure 架構完善框架的原則,設計具有高度可擴充性、彈性且易於管理性。該架構旨在處理增加的流量、確保高可用性並降低營運成本。遷移到 Azure 不僅僅意味著移動現有元件,還意味著對架構進行審查和現代化,以確保系統敏捷、安全和高效。

該架構規劃為 C4 模型的四個級別,重點是對上下文、容器、組件和程式碼的清晰了解。這將確保所有利害關係人(從工程師到經理)在新系統的可擴展性和可靠性目標方面保持一致。

上下文(上下文圖)

上下文圖說明了整個支付、貨運和庫存管理系統。該系統與各種外部組件交互,例如客戶、支付系統和運輸平台。此圖重點在於使用者和外部系統如何與系統互動。

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

新系統分為三個主要業務領域:

  1. 支付管理:使用與支付網關和其他外部金融服務的整合來處理金融交易。
  2. 貨運管理:與物流提供者互動以計算和監控訂單交付狀態。
  3. 庫存管理:監控庫存水準並在物品接近短缺時產生自動警報。

每個區域都被視為單獨的微服務,促進獨立的可擴展性和簡化的管理。上下文圖重點在於這些服務與外部平台之間的交互,例如支付系統、運輸系統和使用者服務。

容器(容器圖)

容器圖重點在於架構中的主要軟體容器。每個服務都轉換為單獨的應用程式容器,利用 Azure 上 Kubernetes 的容器化功能。 RabbitMQ 已被 Azure 服務匯流排取代,以改善非同步通信,而 PostgreSQL 已遷移到 Azure Database for PostgreSQL,並進行了最佳化以確保更高的可用性和可擴展性。

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

主要容器包括:

  1. 前端 Web(應用程式):與使用者互動以管理訂單、付款、運輸和庫存的 Web 應用程式。此應用程式已移至 Azure 應用程式服務。
  2. API 閘道:管理將請求路由到特定支付、運輸和庫存微服務的服務。使用 Azure API 管理來管理安全性、驗證和流量控制。
  3. 支付微服務:負責處理和驗證金融交易。它已經過重組,可以與支付網關通訊並安全地進行交易。它託管在 Azure Kubernetes 服務 (AKS) 上。
  4. 運輸微服務:負責計算運輸成本並監控交貨狀態。該服務透過 RESTful API 與外部物流提供者進行通信,並託管在 AKS 上的容器中。
  5. 庫存微服務:負責控制庫存、發出低庫存警報並與銷售系統通信,以確保客戶可以獲得產品。此服務也已移至 AKS。
  6. PostgreSQL 資料庫:資料庫已移轉到 Azure Database for PostgreSQL,提供高可用性和自動備份。遷移是在Azure資料庫遷移服務工具的幫助下進行的。
  7. 服務匯流排(RabbitMQ 被 Azure 服務匯流排取代):管理微服務之間的非同步訊息佇列,確保事務和業務流程以高效且有彈性的方式發生。

組件(組件圖)

元件圖著重於每個微服務的內部架構。每個組件都表示為一個自主且易於擴展的軟體單元。

支付微服務

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

關鍵組件包括:

  1. 支付處理組件:負責與支付網關通信,驗證和處理付款。使用 Azure Key Vault 安全地儲存憑證和敏感資訊。
  2. 通知元件:向客戶和管理員發送有關付款狀態的通知。

運輸微服務

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

關鍵組件包括:

  1. 運費計算組件:與外部 API 交互,根據重量、目的地和其他變數計算運費。它已被改編為使用Azure Logic Apps與第三方服務整合。
  2. 追蹤元件:監控訂單交付狀態並透過 Azure Functions 自動更新客戶。

庫存微服務

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

關鍵組件包括:

庫存控制組件:負責監控和調整庫存水準。與銷售系統集成,確保產品不會在沒有計劃補貨的情況下耗盡。
警報組件:當庫存水準達到最低水準時,向負責庫存補貨的人員產生警報。

代碼(代碼圖)

支付微服務:

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

運輸微服務:

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

庫存微服務:

Do Local ao Global: A Migração para Azure que Aumentou Nossa Eficiência e Segurança

結論:遷移改進和結果

系統遷移到 Azure 帶來了幾項重大改進:

  1. 可擴展性:Azure Kubernetes Service (AKS) 和 Azure App Service 的使用可讓每個微服務根據工作負載獨立擴展,確保系統能夠毫無問題地處理流量高峰。
  2. 彈性:使用 Azure 服務匯流排進行非同步訊息傳遞和具有高可用性的 Azure Database for PostgreSQL 確保系統對故障和中斷具有更強的彈性。
  3. 最佳化成本:遷移到雲端不僅可以降低實體伺服器的基礎架構和維護成本,還可以透過即用即付模式實現成本最佳化。
  4. 安全性:使用 Azure Key Vault 安全儲存憑證並實施多重驗證 (MFA) 和嚴格存取控制等安全實踐,提高了系統的整體安全性。

使用 Azure 架構完善的框架中的最佳實踐並實施 C4 模型,遷移不僅實現了架構現代化,還確保了系統更加可靠、可擴展和安全。

以上是從本地到全球:Azure 遷移提高了我們的效率和安全性的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn