Este artículo es un artículo espejo de traducción automática, por favor haga clic aquí para saltar al artículo original.

Vista: 32919|Respuesta: 0

[Fuente] [Arquitectura]. net/c# implementa la configuración distribuida del almacén de claves/valores basada en Consul

[Copiar enlace]
Publicado el 16-10-2020 18:18:06 | | | |
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)




Anterior:Depurando programas .NET con el Bloc de notas en casa en un ordenador durante diez años
Próximo:Arquitectura: ASP.NET Core configura dinámicamente las actualizaciones en caliente basadas en Consul
Renuncia:
Todo el software, materiales de programación o artículos publicados por Code Farmer Network son únicamente para fines de aprendizaje e investigación; El contenido anterior no se utilizará con fines comerciales o ilegales; de lo contrario, los usuarios asumirán todas las consecuencias. La información de este sitio proviene de Internet, y las disputas de derechos de autor no tienen nada que ver con este sitio. Debes eliminar completamente el contenido anterior de tu ordenador en un plazo de 24 horas desde la descarga. Si te gusta el programa, por favor apoya el software genuino, compra el registro y obtén mejores servicios genuinos. Si hay alguna infracción, por favor contáctanos por correo electrónico.

Mail To:help@itsvse.com