Konfigurieren Sie Gray Release basierend auf Apollo

Mit der rasanten Entwicklung von Internetanwendungen ist die Veröffentlichung von Konfigurationsgraustufen zu einem notwendigen Schritt im modernen Softwareentwicklungsprozess geworden. Die Graustufenfreigabe ermöglicht es uns, neue Versionen effektiv zu testen und zu verifizieren und gleichzeitig die Stabilität von Online-Diensten aufrechtzuerhalten und die Auswirkungen von Online-Ausfällen zu reduzieren. In diesem Artikel werden wir das Apollo Configuration Center verwenden, um ein einfaches Beispiel für kanonisches Publishing zu implementieren, um den Lesern zu helfen, die Prinzipien und Techniken der Konfiguration des kanonischen Publishing besser zu verstehen und anzuwenden.

Umweltvorbereitung

Bevor Sie beginnen, benötigen Sie die folgende Umgebung:

Apollo Config Service installieren und starten
Apollo Admin Service installieren und starten
Apollo Portal installieren und starten

Vorbereitung des Konfigurationszentrums

Um die Konfigurations-Graustufenfreigabe zu implementieren, müssen wir die Namespace-Funktion von Apollo verwenden. In Apollo kann ein Namespace mehrere Konfigurationselemente enthalten, und wir können für jeden Namespace unterschiedliche Anwendungen oder Umgebungen angeben. Dieses Designschema eignet sich sehr gut für die Verwendung in der Graustufenversion.

In diesem Artikel erstellen wir einen Namespace mit dem Namen „gray-config“, um Konfigurationselemente im Zusammenhang mit der Graustufenveröffentlichung zu speichern.

Namensraum erstellen

Erstellen Sie im Apollo Portal einen Namespace mit dem Namen „gray-config“. Der konkrete Vorgang ist wie folgt:
Wählen Sie „Namespace“ in der linken Navigationsleiste von Apollo Portal.
Klicken Sie auf der Seite „Namespace“ auf die Schaltfläche „Erstellen“.
Geben Sie im Popup-Fenster „Namespace erstellen“ „gray-config“ als „Namespace-Name“ ein, geben Sie eine Beschreibung ein und klicken Sie auf die Schaltfläche „Erstellen“.

Erstellen Sie Konfigurationselemente

Als Nächstes erstellen wir ein Konfigurationselement im Namespace „gray-config“, um die Graustufenveröffentlichung zu steuern. Der spezifische Vorgang ist wie folgt:

Wählen Sie „Namespace“ in der linken Navigationsleiste des Apollo Portals.
Wählen Sie auf der Seite „Namespace“ den Namespace „gray-config“ aus.
Klicken Sie auf der Namespace-Seite „gray-config“ auf die Schaltfläche „Freigeben“.
Klicken Sie auf der Seite „Release“ auf die Schaltfläche „Release erstellen“.
Geben Sie auf der Seite „Release erstellen“ den Schlüssel und den Wert des Konfigurationselements ein. Der Schlüssel kann eine beliebige Zeichenfolge sein, beispielsweise „gray-config.switch“. Der Wert kann eine beliebige Zeichenfolge sein, beispielsweise „on“.
Klicken Sie auf die Schaltfläche „Erstellen“, um das Konfigurationselement zu übermitteln.

Implementierungscode

Nachdem wir nun die Umgebung und den Namespace vorbereitet haben, können wir mit dem Schreiben des Codes für die Graustufenveröffentlichung beginnen. In diesem Artikel verwenden wir Java als Beispielsprache, Sie können es aber auch in anderen Programmiersprachen in gleicher Weise implementieren.

Wir werden eine Java-Klasse namens „GrayConfig“ erstellen, die dafür verantwortlich ist, die Graustufen-Release-Konfigurationselemente vom Apollo-Konfigurationscenter abzurufen. Die spezifische Implementierung ist wie folgt:

import com.ctrip.framework.apollo.Config;
import com.ctrip.framework.apollo.ConfigService;

	public class GrayConfig {
	  private static final String GRAY_CONFIG_NAMESPACE = "gray-config";
	  private static final String GRAY_CONFIG_SWITCH_KEY = "gray-config.switch";
	  private static Config config = ConfigService.getConfig(GRAY_CONFIG_NAMESPACE);

	public static boolean isGrayEnabled() {
	    return "on".equals(config.getProperty(GRAY_CONFIG_SWITCH_KEY, "off"));
	}
}

Im obigen Code verwenden wir die von Apollo bereitgestellte Java-Client-API, um Konfigurationselemente im Namespace „gray-config“ abzurufen. Insbesondere ConfigService.getConfig()erhalten wir das Config-Objekt durch Aufrufen der Methode und dann getProperty()den Wert des Konfigurationselements „gray-config.switch“ über die Methode. Wenn der Wert „on“ ist, bedeutet dies, dass die aktuelle Graustufenfreigabefunktion aktiviert ist.

Als Nächstes verwenden wir das Spring Boot-Framework, um einen RESTful-Dienst zu erstellen, der die Konfigurationselemente für die Graustufenveröffentlichung bei jeder Anfrage überprüft. Wenn die Graustufen-Veröffentlichungsfunktion aktiviert ist, wird ein bestimmter Antwortinhalt zurückgegeben. Andernfalls wird der Standardantwortinhalt zurückgegeben.

Zuerst müssen wir die folgenden Abhängigkeiten in der Datei pom.xml hinzufügen:

<dependency>
    <groupId>org.springframework.boot</groupId>
    <artifactId>spring-boot-starter-web</artifactId>
</dependency>
<dependency>
    <groupId>com.ctrip.framework.apollo</groupId>
    <artifactId>apollo-client</artifactId>
    <version>1.5.1</version>
</dependency>

Anschließend können wir einen Spring MVC-Controller mit dem Namen „GrayController“ erstellen, der Anfragen im Zusammenhang mit der Graustufenveröffentlichung verarbeitet. Die spezifische Implementierung ist wie folgt:

import org.springframework.web.bind.annotation.RestController;

@RestController
public class GrayController {

    @GetMapping("/hello")
    public String sayHello() {
        if (GrayConfig.isGrayEnabled()) {
            return "Hello from Gray!";
        } else {
            return "Hello from Main!";
        }
    }
}


Im obigen Code haben wir einen GET-Anfragehandler namens „sayHello“ erstellt. Wenn die Graustufen-Veröffentlichungsfunktion aktiviert ist, gibt der Prozessor „Hello from Gray!“ zurück, andernfalls „Hello from Main!“.

Schließlich müssen wir die Spring Boot-Anwendung in der Einstiegsklasse der Anwendung starten. Die spezifische Implementierung ist wie folgt:

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class GrayApp {

    public static void main(String[] args) {
        SpringApplication.run(GrayApp.class, args);
    }
}


Jetzt haben wir die Code-Implementierung der Graustufenveröffentlichung abgeschlossen. Als Nächstes ändern wir den Wert des Konfigurationselements „gray-config.switch“ im Apollo-Konfigurationscenter, um zu testen, ob unser Code ordnungsgemäß funktioniert.

prüfen

Wir werden den Wert des Konfigurationselements „gray-config.switch“ im Apollo Portal ändern und von „on“ auf „off“ schalten, um zu testen, ob die Anwendung die Graustufenveröffentlichung korrekt verarbeitet. Der spezifische Vorgang ist wie folgt:

  1. Wählen Sie „Namespace“ in der linken Navigationsleiste des Apollo Portals.
  2. Wählen Sie auf der Seite „Namespace“ den Namespace „gray-config“ aus.
  3. Klicken Sie auf der Namespace-Seite „gray-config“ auf die Schaltfläche „Freigeben“.
  4. Geben Sie „gray-config.switch=off“ in das Popup-Fenster „Veröffentlichen“ ein und klicken Sie auf die Schaltfläche „Veröffentlichen“.

Nachdem wir nun den Wert des Konfigurationselements „gray-config.switch“ erfolgreich von „on“ auf „off“ geändert haben, werden wir testen, ob die Anwendung diese Änderung korrekt verarbeitet.

Wir können den cURL-Befehl verwenden, um die Anwendung zu testen. Die spezifische Implementierung ist wie folgt:

  1. Öffnen Sie ein Terminalfenster und geben Sie den folgenden Befehl ein:
curl http://localhost:8080/hello
  1. Da wir den Wert des Konfigurationselements „gray-config.switch“ von „on“ auf „off“ geändert haben, sollten wir mit dem Antwortinhalt „Hello from Main!“ rechnen. Nachdem Sie den Befehl ausgeführt haben, sollten Sie die folgende Ausgabe sehen:
Hello from Main!

Dies zeigt, dass unsere Anwendung die Änderung des Konfigurationselements bei der Graustufenveröffentlichung korrekt verarbeitet und den entsprechenden Antwortinhalt entsprechend dem Wert des Konfigurationselements bereitgestellt hat.

abschließend

In diesem Tutorial haben wir vorgestellt, wie Sie das Apollo Configuration Center verwenden, um die Konfigurations-Graustufenveröffentlichung zu implementieren. Wir haben zunächst im Apollo Configuration Center einen Namespace mit dem Namen „gray-config“ erstellt und ein Konfigurationselement mit dem Namen „gray-config.switch“ hinzugefügt. Anschließend rufen wir den Wert dieses Konfigurationselements in Java mithilfe der von Apollo bereitgestellten Client-API ab und verwenden ihn, um das Verhalten der Anwendung zur Laufzeit zu steuern. Schließlich haben wir das Spring Boot-Framework verwendet, um einen RESTful-Dienst zu erstellen, der basierend auf dem Wert des Konfigurationselements „gray-config.switch“ unterschiedliche Antwortinhalte bereitstellt.

Durch dieses Tutorial haben Sie gelernt, wie Sie das Apollo-Konfigurationscenter verwenden, um die Konfigurations-Graustufenfreigabe zu implementieren, und haben ein funktionierendes Beispiel implementiert. Sie können dieses Beispiel als Grundlage verwenden und es entsprechend Ihren eigenen Bedürfnissen erweitern und anpassen.

おすすめ

転載: blog.csdn.net/bairo007/article/details/131892416