
外部配置
問題陳述
微服務架構將應用程式構建為一組鬆散耦合的微服務,每個服務都可以以敏捷的方式獨立開發,從而實現持續交付/部署。這些服務通常與基礎設施服務或第三方服務互動。
基礎設施服務可能包括服務登錄檔、訊息代理、資料庫伺服器。第三方服務可以是支付服務、電子郵件服務、訊息服務。除了不同的服務之外,環境也經常不同。考慮以下情況:
配置資料 - 應向微服務提供對外部/第三方服務的配置,例如資料庫憑據、網路 URL 等。
多個環境 - 通常存在不同的環境,例如開發、測試、預釋出和生產環境。服務應該能夠在每個環境中部署,而無需任何程式碼修改。
不同的配置資料 - 對外部/第三方服務的配置在開發環境到生產環境之間也各不相同,例如開發資料庫到生產資料庫,測試支付處理器與原始支付處理器服務。
解決方案
我們可以將所有配置(從資料庫憑據到網路 URL)都外部化。服務將在啟動時讀取配置資料,例如從屬性檔案/系統環境變數或使用命令列引數。此模式有助於部署微服務,無需任何修改/重新編譯。
廣告