Configurar la versión Gray basada en Apollo

Con el rápido desarrollo de las aplicaciones de Internet, la publicación de configuraciones en escala de grises se ha convertido en un paso necesario en el proceso de desarrollo de software moderno. El lanzamiento en escala de grises nos permite probar y verificar nuevas versiones de manera efectiva mientras mantenemos la estabilidad de los servicios en línea, lo que reduce el impacto de las fallas en línea. En este artículo, utilizaremos el Centro de configuración de Apollo para implementar un ejemplo simple de publicación canónica para ayudar a los lectores a comprender y aplicar mejor los principios y técnicas de configuración de la publicación canónica.

Preparación ambiental

Antes de comenzar, necesita el siguiente entorno:

Instalar e iniciar el servicio Apollo Config
Instalar e iniciar el servicio Apollo Admin
Instalar e iniciar el portal Apollo

Preparación del centro de configuración.

Para implementar la configuración en escala de grises, necesitamos utilizar la función de espacio de nombres de Apollo. En Apollo, un espacio de nombres puede contener múltiples elementos de configuración y podemos especificar diferentes aplicaciones o entornos para cada espacio de nombres. Este esquema de diseño es muy adecuado para que lo utilicemos en la versión en escala de grises.

En este artículo, crearemos un espacio de nombres llamado "gray-config" para almacenar elementos de configuración relacionados con la publicación en escala de grises.

crear espacio de nombres

Cree un espacio de nombres llamado "gray-config" en Apollo Portal. La operación específica es la siguiente:
seleccione "Espacio de nombres" en la barra de navegación izquierda del Portal Apollo.
Haga clic en el botón Crear en la página Espacio de nombres.
En el cuadro emergente "Crear espacio de nombres", complete "gray-config" como "Nombre del espacio de nombres", complete una descripción y haga clic en el botón "Crear".

Crear elementos de configuración

A continuación, crearemos un elemento de configuración en el espacio de nombres "gray-config" para controlar la publicación en escala de grises. La operación específica es la siguiente:

Seleccione "Espacio de nombres" en la barra de navegación izquierda del Portal Apollo.
Seleccione el espacio de nombres "gray-config" en la página "Espacio de nombres".
Haga clic en el botón "Liberar" en la página del espacio de nombres "gray-config".
Haga clic en el botón Crear versión en la página Versión.
Complete la clave y el valor del elemento de configuración en la página "Crear versión". La clave puede ser cualquier cadena, como "gray-config.switch". El valor puede ser cualquier cadena, como "on".
Haga clic en el botón "Crear" para enviar el elemento de configuración.

Código de implementación

Ahora que hemos preparado el entorno y el espacio de nombres, podemos comenzar a escribir el código para la publicación en escala de grises. En este artículo, usaremos Java como lenguaje de ejemplo, pero puedes implementarlo de la misma manera en otros lenguajes de programación.

Crearemos una clase Java llamada "GrayConfig", que será responsable de obtener los elementos de configuración de la versión en escala de grises del centro de configuración de Apollo. La implementación específica es la siguiente:

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"));
	}
}

En el código anterior, utilizamos la API del cliente Java proporcionada por Apollo para obtener elementos de configuración en el espacio de nombres "gray-config". Específicamente, ConfigService.getConfig()obtenemos el objeto Config llamando al método y luego getProperty()obtenemos el valor del elemento de configuración "gray-config.switch" a través del método. Si el valor está "activado", significa que la función de liberación de escala de grises actual está habilitada.

A continuación, usaremos el marco Spring Boot para crear un servicio RESTful que verificará los elementos de configuración de publicación en escala de grises en cada solicitud. Si la función de publicación en escala de grises está habilitada, se devolverá un contenido de respuesta específico. De lo contrario, devuelva el contenido de respuesta predeterminado.

Primero, necesitamos agregar las siguientes dependencias en el archivo pom.xml:

<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>

Luego podemos crear un controlador Spring MVC llamado "GrayController" que manejará las solicitudes relacionadas con la publicación en escala de grises. La implementación específica es la siguiente:

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!";
        }
    }
}


En el código anterior, creamos un controlador de solicitudes GET llamado "sayHello". Si la función de publicación en escala de grises está habilitada, el procesador devolverá "¡Hola desde Gray!"; de lo contrario, devolverá "¡Hola desde Main!".

Finalmente, necesitamos iniciar la aplicación Spring Boot en la clase de entrada de la aplicación. La implementación específica es la siguiente:

import org.springframework.boot.autoconfigure.SpringBootApplication;

@SpringBootApplication
public class GrayApp {

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


Ahora hemos completado la implementación del código de publicación en escala de grises. A continuación, cambiaremos el valor del elemento de configuración "gray-config.switch" en el centro de configuración de Apollo para probar si nuestro código funciona correctamente.

prueba

Modificaremos el valor del elemento de configuración "gray-config.switch" en Apollo Portal y lo cambiaremos de "activado" a "desactivado" para probar si la aplicación maneja correctamente la publicación en escala de grises. La operación específica es la siguiente:

  1. Seleccione "Espacio de nombres" en la barra de navegación izquierda del Portal Apollo.
  2. Seleccione el espacio de nombres "gray-config" en la página "Espacio de nombres".
  3. Haga clic en el botón "Liberar" en la página del espacio de nombres "gray-config".
  4. Ingrese "gray-config.switch=off" en la ventana emergente Publicar y haga clic en el botón Publicar.

Ahora que hemos cambiado con éxito el valor del elemento de configuración "gray-config.switch" de "activado" a "desactivado", probaremos que la aplicación maneje este cambio correctamente.

Podemos usar el comando cURL para probar la aplicación. La implementación específica es la siguiente:

  1. Abra una ventana de terminal e ingrese el siguiente comando:
curl http://localhost:8080/hello
  1. Dado que hemos cambiado el valor del elemento de configuración "gray-config.switch" de "activado" a "desactivado", deberíamos esperar ver el contenido de la respuesta "¡Hola desde Main!". Después de ejecutar el comando, debería ver el siguiente resultado:
Hello from Main!

Esto muestra que nuestra aplicación manejó correctamente el cambio del elemento de configuración en la publicación en escala de grises y proporcionó el contenido de respuesta correspondiente de acuerdo con el valor del elemento de configuración.

en conclusión

En este tutorial, presentamos cómo utilizar el Centro de configuración de Apollo para implementar la publicación de configuración en escala de grises. Primero creamos un espacio de nombres llamado "gray-config" en el Centro de configuración de Apollo y agregamos un elemento de configuración llamado "gray-config.switch". Luego recuperamos el valor de este elemento de configuración en Java usando la API del cliente proporcionada por Apollo y la usamos para controlar el comportamiento de la aplicación en tiempo de ejecución. Finalmente, utilizamos el marco Spring Boot para crear un servicio RESTful que proporciona contenido de respuesta diferente según el valor del elemento de configuración "gray-config.switch".

A través de este tutorial, ha aprendido cómo utilizar el centro de configuración de Apollo para implementar la versión de configuración en escala de grises y ha implementado un ejemplo funcional. Puede utilizar este ejemplo como base y ampliarlo y personalizarlo según sus propias necesidades.

Supongo que te gusta

Origin blog.csdn.net/bairo007/article/details/131892416
Recomendado
Clasificación