Este artigo é um artigo espelhado de tradução automática, por favor clique aqui para ir para o artigo original.

Vista: 32919|Resposta: 0

[Fonte] [Arquitetura]. net/c# implementa configuração distribuída do armazenamento de chaves/valores baseado no Consul

[Copiar link]
Postado em 16-10-2020 18:18:06 | | | |
Em aplicações distribuídas, frequentemente é necessário modificar propriedades de configuração, como atualizar strings de conexão de banco de dados e endereços de cache. Se não houver muitas aplicações, você pode modificá-las manualmente; quando houver muitas aplicações, a configuração distribuída é muito importante, este artigo explica a arquitetura de armazenamento chave/valor do .net/c# baseada no Consul para implementar a configuração distribuída.

Instale o Cônsul

Breve introdução

Consul é uma ferramenta de descoberta e registro de serviços distribuída e altamente escalável.

Consul inclui principalmente as seguintes características:

  • Descoberta de serviços: Suporte para registro e descoberta de serviços tanto para protocolos HTTP quanto DNS.
  • Monitoramento de Verificações: Suporta múltiplas verificações de saúde.
  • Armazenamento de Chave/Valor: Suporta armazenamento distribuído de dados KV via API HTTP.
  • Suporte a múltiplos data centers: Qualquer número de data centers é suportado.


Instalação

Endereço de Download:

O login do hiperlink está visível.

Este artigo utiliza o Windows 10 x64 como ambiente de teste.

Após baixar e descompactar, execute usando o comando cmd, o código é o seguinte:



dev significa rodando no modo de desenvolvimento, e o parâmetro -client pode ser usado para especificar qual IP pode ser acessado pelo cliente, por exemplo, -client 127.0.0.1 significa que pode ser usado, e no modo de desenvolvimento, os dados não serão preservados.

(modo desenvolvedor, modo cluster recomendado para ambientes de produção)



Acesso:http://127.0.0.1:8500/ui/dc1/servicesVeja abaixo:



Interface KV

Endereço da Documentação da API:

O login do hiperlink está visível.

Primeiro, uso uma página online e crio um novo par chave/valor.

Obtenha o valor pelo caminho da solicitação GET /v1/kv/:key.

http://127.0.0.1:8500/v1/kv/test



[
    {
        "LockIndex": 0,
        "Chave": "teste",
        "Bandeiras": 0,
        "Value": "aXRzdnNlLmNvbQ==",
        "CreateIndex": 194,
        "ModifyIndex": 194
    }
]


  • CreateIndex é um valor interno de índice que representa quando a entrada foi criada.
  • ModifyIndex é o último índice a modificar essa chave. Esse índice corresponde ao valor do cabeçalho retornado por X-Consul-Index na resposta, e pode ser definido por ? O parâmetro de consulta de índice é usado para estabelecer consultas bloqueantes. Você pode até realizar consultas bloqueadoras contra toda a subárvore da loja KV: e se? recurse fornece uma consulta, e o valor retornado X-Consul-Index corresponde ao valor mais recente de ModifyIndex no prefixo; usando a consulta bloqueadora ?index espera até que qualquer chave nesse prefixo seja atualizada.
  • LockIndex é o número de vezes que a chave na fechadura foi adquirida com sucesso. Se a fechadura estiver segurada, a chave de Sessão fornecerá a sessão que possui a fechadura.
  • A chave é apenas o caminho completo da entrada.
  • Flags são inteiros opacos sem sinal que podem ser atribuídos a cada entrada. Os clientes podem escolher usar essa opção, mas faz sentido para a aplicação deles.
  • Value é um blob de dados codificado em base64.


.NET/C# Leitura e escrita de chave/valor

Primeiro, crie um projeto .NET 4.6.1 e use o Nuget para instalar os pacotes necessários, conforme segue:



O código é o seguinte:



As renderizações são as seguintes:



  • A chave-chave é sensível a maiúsculas minúsculas
  • Chave duplicada, valores serão sobrescritos


(Fim)




Anterior:Depurando programas .NET com o Bloco de Notas em casa em um computador por dez anos
Próximo:Arquitetura: ASP.NET Core configura dinamicamente as atualizações quentes com base no Consul
Disclaimer:
Todo software, material de programação ou artigos publicados pela Code Farmer Network são apenas para fins de aprendizado e pesquisa; O conteúdo acima não deve ser usado para fins comerciais ou ilegais, caso contrário, os usuários terão todas as consequências. As informações deste site vêm da Internet, e disputas de direitos autorais não têm nada a ver com este site. Você deve deletar completamente o conteúdo acima do seu computador em até 24 horas após o download. Se você gosta do programa, por favor, apoie um software genuíno, compre o registro e obtenha serviços genuínos melhores. Se houver qualquer infração, por favor, entre em contato conosco por e-mail.

Mail To:help@itsvse.com