En aplicaciones distribuidas, a menudo es necesario modificar propiedades de configuración, como actualizar cadenas de conexión a bases de datos y direcciones de caché. Si no hay muchas aplicaciones, puedes modificarlas manualmente; una vez que hay muchas aplicaciones, la configuración distribuida es muy importante; este artículo explica la arquitectura de almacenamiento clave/valor de .net/c# basada en Consul para implementar la configuración distribuida.
Instala al cónsul
Breve introducción
Consul es una herramienta de descubrimiento y registro de servicios distribuida y altamente escalable.
Consul incluye principalmente las siguientes características:
- Descubrimiento de servicios: Soporte para el registro y descubrimiento de servicios tanto para protocolos HTTP como DNS.
- Controles de monitorización: Soporta múltiples controles de salud.
- Almacenamiento de claves/valores: Soporta almacenamiento distribuido de datos KV a través de la API HTTP.
- Soporte para múltiples centros de datos: Se soportan cualquier número de centros de datos.
Instalación
Dirección de descarga:
El inicio de sesión del hipervínculo es visible.
Este artículo utiliza Windows 10 x64 como entorno de prueba.
Después de descargar y descomprimir, ejecuta el comando cmd, el código es el siguiente:
dev significa ejecutarse en modo desarrollo, y el parámetro -client puede usarse para especificar qué IP puede ser accedida por el cliente, por ejemplo, -client 127.0.0.1 significa que puede usarse, y en modo desarrollo, los datos no se conservarán.
(se recomienda el modo de desarrollo, el modo cluster para entornos de producción)
Acceso:http://127.0.0.1:8500/ui/dc1/servicesVer más abajo:
Interfaz KV
Dirección de documentación de la API:
El inicio de sesión del hipervínculo es visible.
Primero, uso una página web online y creo un nuevo par clave/valor.
Obtén el valor a través de la ruta de solicitud GET /v1/kv/:key.
http://127.0.0.1:8500/v1/kv/test
[ { "LockIndex": 0, "Clave": "prueba", "Banderas": 0, "Value": "aXRzdnNlLmNvbQ==", "CreateIndex": 194, "ModifyIndex": 194 }
]
- CreateIndex es un valor de índice interno que representa el momento en que se creó la entrada.
- ModifyIndex es el último índice en modificar esta clave. Este índice corresponde al valor de cabecera devuelto por X-Consul-Index en la respuesta, y puede establecerse por ? El parámetro de consulta de índice se utiliza para establecer consultas bloqueantes. Incluso puedes realizar consultas bloqueadoras contra todo el subárbol de la tienda KV: ¿y si...? recurse proporciona una consulta, y el valor retornado X-Consul-Index corresponde al valor más reciente de ModifyIndex en el prefijo; usando la consulta bloqueante ?index esperará hasta que se actualice cualquier clave en ese prefijo.
- LockIndex es el número de veces que la llave en la cerradura ha sido adquirida con éxito. Si se mantiene el candado, la clave de sesión proporcionará la sesión que posee el candado.
- La clave es simplemente el camino completo de la entrada.
- Las banderas son enteros opacos sin signo que pueden añadirse a cada entrada. Los clientes pueden elegir usar esta opción, pero tiene sentido para su aplicación.
- Value es un blob de datos codificado en base64.
.NET/C# Clave/Valor lectura y escritura
Primero, crea un proyecto .NET 4.6.1 y utiliza Nuget para instalar los paquetes necesarios, de la siguiente manera:
El código es el siguiente:
Las representaciones son las siguientes:
- La clave es sensible a mayúsculas minúsculas
- Claves duplicadas, los valores de valor se sobrescribirán
(Fin) |