Redis
 sql >> Base de Dados >  >> NoSQL >> Redis

Execute redis na maratona (mesos) em um URL


Existem dezenas de soluções para realização de serviço de descoberta em ambiente Mesos.

Podemos dividi-los em 3 grupos pela forma como o cliente encontra os serviços:
  1. Com base em proxy
    • Quando entre clientes e serviço fica o proxy, por exemplo, HAProxy (marathon-lb é baseado nele), fabio, traefik, nixy) que cuida do balanceamento de carga de seus serviços com base no caminho HTTP, cabeçalho, domínio etc. Esta solução é fácil de desenvolver e oferece a oportunidade de ajustar o balanceamento de carga com base na solicitação. Por outro lado, adicionamos saltos adicionais e como proxy temos a situação MitM.


  1. DNSlike (pergunte a um ponto de extremidade bem conhecido especial para a localização do serviço)
    • Rede definida por software - podemos usar IP por contêiner com SDN para que cada contêiner seja exposto com IP exclusivo e apresente seus serviços usando as portas padrão 80 para HTTP, 443 para HTTPS e assim por diante. Esta é a técnica mais avançada e relativamente nova, embora use DNS simples e antigo para encontrar o IP de serviço. Pode ser mais difícil introduzir o proxy, mas funcionará com qualquer tipo de tráfego.
    • Registro de serviço - onde cada contêiner é registrado no DNS global e o cliente obtém seu IP e PORT usando consultas DNS SRV. A Consul Mesos DNS disponibiliza este tipo de servidor DNS. Também alguns outros protocolos são baseados nessa ideia (dê uma olhada em Bonjure). Ele tenta obter o melhor de SDN e proxy. É relativamente fácil de configurar e é independente de protocolo.


  1. Outro
    • Qualquer coisa que não se encaixe em outros tipos, por exemplo, solução desenvolvida internamente, etcd ou Eureka. Pode ser profundamente apertado com infraestrutura e aplicativos, fornecendo algumas otimizações. Vale a pena mencionar que existem algumas tentativas de usar o serviço de descoberta baseado em DHT - Meta Service Discovery

Você pode encontrar mais detalhes sobre as ferramentas que podem ser usadas para criar o Serviço de Descoberta aqui

Podemos dividir os Serviços de Descoberta pela maneira como são preenchidos com entradas de serviço:
  1. Agrupamento
    • Mesos/Marathon é periodicamente consultado sobre o estado. É assim que o DNS Mesos está funcionando. Este é o método mais fácil, mas causará um grande atraso entre o início/parada do serviço e as alterações na descoberta do serviço. Isso pode ser minimizado usando a verificação de integridade.
  2. Com base em eventos
    • O Marathon tem a capacidade de enviar eventos com informações sobre mudanças de estado (há uma iniciativa para incluir o barramento de eventos no Mesos também - design doc. Dessa forma, o marathon-lb está funcionando. Um trabalho semelhante é feito pelo marathon-consul, mas os dados são passados ​​para cônsul.
  3. No aplicativo/contêiner
    • As soluções acima são assíncronas, portanto, pode haver um intervalo de tempo em que seu estado de descoberta de serviço esteja obsoleto, por exemplo, o serviço foi iniciado, mas não está pronto para atender às solicitações ou o serviço acabou de morrer. Mesmo com a verificação de saúde, não poderíamos assumir que todas as coisas acontecem com 0 tempo de inatividade. A solução para minimizar o tempo de inatividade é permitir que o aplicativo se registre quando estiver pronto para atender às solicitações e cancele o registro antes que ele pare (também conhecido como desligamento normal).