Gateway de sincronização

Sincronização de dados da nuvem para a borda com o Couchbase Sync Gateway

O Couchbase Lançamento do Sync Gateway 2.8 anunciou o suporte à sincronização de dados de nuvem para borda de nível empresarial. A nova tecnologia de replicação inter-Sync Gateway permite a sincronização segura e dimensionável de nível empresarial entre os data centers de nuvem e de borda em um ambiente de nuvem distribuída para atender às demandas dos aplicativos de computação de borda.

Nesta postagem, apresentamos uma visão geral do recurso com alguns exemplos de como configurar sua implantação. Para obter mais detalhes, consulte a seção documentação páginas.

Primeiro, alguns casos de uso ...

Casos de uso

As implantações de nuvem distribuída, em que o armazenamento e o processamento de dados são distribuídos e tratados mais perto dos aplicativos, estão ganhando relevância à medida que os aplicativos exigem alta disponibilidade garantida, respostas em tempo real, adesão à privacidade dos dados e restrições regulatórias e estão lidando com grandes volumes de dados. Esse paradigma de computação é chamado de "Edge Computing" (computação de borda). Você pode saber mais sobre isso neste blog sobre "Arquitetando soluções de computação de borda com o Couchbase".

Aqui estão alguns exemplos de aplicativos que se beneficiam dessa arquitetura de nuvem distribuída

  • Varejo :
    As grandes lojas de varejo continuarão a atender seus clientes mesmo em caso de interrupções na Internet, executando a partir de servidores em seus servidores locais no local. Tempo de inatividade da empresa não é apenas prejudicial à experiência do cliente, mas também pode ter um impacto duradouro na reputação. Nesse caso, a garantia de alta disponibilidade de aplicativos e a resiliência são os principais fatores
  • Viagens :
    Os passageiros de navios de cruzeiro podem aproveitar todos os serviços a bordo, mesmo quando os navios ficam desconectados da Internet por dias ou meses. Nesse caso, o data center no cruzeiro continuará a atender aos passageiros durante a viagem. Esse é outro exemplo em que a garantia de alta disponibilidade de aplicativos e a resiliência são os principais fatores.
  • Hospitalidade :
    As propriedades hoteleiras podem garantir que os hóspedes façam o check-in mesmo quando houver uma queda na Internet. Os sistemas de gerenciamento de propriedades (PMS) na propriedade garantirão que a experiência do hóspede não seja comprometida. Esse é outro exemplo em que a garantia de alta disponibilidade de aplicativos e a resiliência são os principais fatores.
  • Assistência médica :
    Os sistemas de monitoramento de pacientes em hospitais podem processar localmente os dados dos pacientes e tomar medidas corretivas imediatas. O processamento de dados em tempo real e a privacidade dos dados são os principais fatores nesse caso.
  • IoT :
    Os aplicativos de IoT são um dos principais impulsionadores das arquiteturas de Edge Computing. Os aplicativos nesse espaço geram grandes volumes de dados que precisam ser analisados em tempo real. A transferência de todos esses dados para os servidores de back-end impõe muita sobrecarga à rede e aos servidores. Além disso, muitos dos dados costumam ser efêmeros por natureza e não faz muito sentido transferi-los para servidores remotos apenas para serem processados e descartados. Como um exemplo específico no espaço da IIoT, as fábricas podem monitorar, coletar e analisar dados de sensores de equipamentos localmente para manutenção preventiva. Somente os dados agregados são enviados para o data center na nuvem. O processamento de dados em tempo real e a economia de custos com a redução do uso da largura de banda são os principais motivadores nesse caso.

Implantação típica de nuvem para borda

Uma implantação típica de uma arquitetura de nuvem distribuída usando o Couchbase é mostrada abaixo.

Como o Couchbase se encaixa? Você tem o Couchbase Server nos data centers de nuvem remota e é responsável pelo armazenamento e processamento de dados em todos os data centers de borda. Em seguida, você tem uma área de cobertura menor do Couchbase Server em cada um dos data centers de borda. O tamanho dos servidores nos data centers de borda será significativamente menor do que o dos data centers de nuvem, pois atende a uma população menor de clientes na borda. Os dados locais da borda são processados pelo cluster do servidor Couchbase no local.

Mas e quanto à movimentação de dados? Em outras palavras, como os dados entre a nuvem e a borda permanecem sincronizados. É aí que entra a replicação entre os Gateways de sincronização. Para isso, você tem o Sync Gateway implantado na nuvem e nos data centers de borda, que é responsável pela replicação dos dados. Além disso, é preciso considerar que a sincronização está ocorrendo pela Internet, que não é confiável. Portanto, é necessário garantir que os dados sejam criptografados e que haja controles de segurança rigorosos para garantir o acesso autorizado aos dados. Além disso, você pode ter diferentes políticas de controle de acesso implementadas na nuvem e na borda e pode garantir que uma borda comprometida não afete a nuvem ou os outros data centers de borda.

Dica de configuração de implantação

O cluster do Sync Gateway no qual a replicação é inicializada ou agendada é o "Cluster ativo" e o cluster remoto do Sync Gateway que é o destino da replicação é o "Cluster passivo".

Se você tiver várias replicações a serem configuradas entre dois clusters, é recomendável escolher um cluster como o cluster ativo para todas as suas replicações. Isso é válido independentemente da direção de sua replicação - push, pull ou push-pull. Essa configuração simplifica a implementação, a administração e a solução de problemas de suas replicações

Particularmente no contexto da sincronização de nuvem para borda, prevemos que a borda será o cluster ativo que iniciará as replicações para o cluster de nuvem remoto. É provável que os clusters de borda não sejam acessíveis por uma rede externa.

Atributos da tecnologia Sync

Lidar com a sincronização em escala em uma rede não confiável e em condições de rede não confiáveis não é um desafio fácil. Há várias considerações a serem feitas e aqui está uma visão geral de como a replicação do Gateway inter-Sync. Consulte a seção documentação para obter detalhes

Recurso Replicação inter-Sync Gateway
Escalabilidade O número de dados de borda pode variar de 10s a 100s a 1000s. O protocolo é capaz de ser dimensionado para lidar com esse número de bordas
Segurança A sincronização está ocorrendo pela Internet, que é inerentemente não confiável. Todos os dados são criptografados por TLS e há controles de acesso rigorosos para evitar o acesso não autorizado aos dados. Além disso, você pode ter diferentes políticas de controle de acesso implementadas na nuvem e na borda e pode garantir que uma borda comprometida não afete a nuvem ou os outros data centers de borda.
Resiliência da rede O protocolo implementa um algoritmo de tentativa de backoff exponencial. O período de backoff é configurável
Eficiência Para otimizar o uso da largura de banda da rede e reduzir os custos de transferência, o protocolo suporta a sincronização delta - capacidade de sincronizar partes do documento que foram alteradas. A sincronização pode operar tanto no modo contínuo quanto no modo de disparo único, sob demanda. Assim, os aplicativos têm controle sobre quando sincronizar os dados e, por exemplo, podem optar por fazê-lo fora dos horários de pico
Conflitos de dados Estratégia abrangente de resolução de conflitos. O Sync Gateway oferece suporte à resolução automática de conflitos com resolvedores prontos para uso e você pode definir seu próprio resolvedor de conflitos - de forma semelhante à maneira como a função de sincronização é definida, você pode definir uma função JS como parte do arquivo de configuração do Sync Gateway.
Facilidade operacional Alta disponibilidade de replicações, balanceamento de carga/distribuição automática de replicações uniformemente entre os nós do Sync Gateway e uma interface REST para administração e gerenciamento remotos
Topologias flexíveis Hierárquico. O número de níveis na hierarquia pode ser maior que 1 - por exemplo, o data center em nuvem pode se comunicar com data centers downstream que, por sua vez, podem se comunicar com mais data centers downstream.

Configurações de amostra

Nesta seção, apresentamos alguns exemplos de configurações típicas de replicadores.

As réplicas têm o escopo de um banco de dados e podem ser configuradas no Arquivo de configuração do Sync Gateway e programados durante o lançamento ou podem ser inicializados por meio do _replicação em qualquer ponto após a inicialização.

Por padrão, todos os nós participam das replicações. Isso implica que as replicações configuradas para um cluster de nós do Sync Gateway são distribuídas uniformemente entre todos os nós. Um nó do Sync Gateway pode ser configurado para não participar da replicação usando o parâmetro sgreplicate_enabled opção de configuração.

Replicação pull-only one-shot com resolução de conflitos padrão

Neste exemplo, uma replicação com Id pull-from-target-oneshot é configurado para fazer uma extração única de documentos pertencentes ao canal channel:storechannel do lojas no banco de dados do remoto endpoint. Os documentos são replicados para o endpoint local minha_loja_local banco de dados. As credenciais do usuário replicante são especificadas por meio do parâmetro nome de usuário e senha parâmetros.

A replicação está inicialmente em estado interrompido e pode ser iniciada em um momento posterior por meio de status da replicação endpoint. Os conflitos são tratados automaticamente pelo Sync Gateway usando políticas predefinidas.

Replicação contínua bidirecional com resolução de conflitos pronta para uso

Neste exemplo, uma replicação com Id pushandpull-com-alvo-contínuo é configurado para fazer um push e pull contínuos de documentos pertencentes ao canal channel:storechannel de lojas no banco de dados do remoto endpoint. Os documentos são replicados para o endpoint local minha_loja_local banco de dados. As credenciais do usuário replicante são especificadas por meio do parâmetro nome de usuário e senha parâmetros.

A replicação é iniciada automaticamente quando programada - esse é o valor padrão de initial_state bandeira. Em caso de conflito, o lado remoto é o vencedor.

Replicação contínua bidirecional com resolução de conflitos personalizada

Este exemplo é idêntico ao caso anterior, exceto pelo fato de associarmos um resolvedor de conflitos personalizado ao replicador. Agora, toda vez que o Sync Gateway detecta um conflito durante a replicação, o resolvedor de conflitos é chamado com as revisões conflitantes. O resolvedor tem acesso ao corpo completo do documento e aos metadados que podem ser usados para resolver o conflito. Obviamente, você pode optar por retornar qualquer uma das revisões conflitantes para implementar o equivalente à estratégia "LocalWins" ou "RemoteWins".

A propósito, não se prenda muito aos detalhes do que está acontecendo no resolvedor ou à sua precisão/eficiência. Tenho certeza de que há maneiras melhores de fazer isso em Javascipt - isso é apenas para demonstrar o conceito.

É claro que há muitos outros configuração opções para escolher, o que permitirá que você o personalize para atender às necessidades do seu aplicativo. Você pode consultar nossa documentação para obter detalhes.

Monitoramento de réplicas

Quando suas configurações estiverem em funcionamento, você poderá monitorá-las por meio do status da replicação . Na versão 2.8, também lançamos um novo endpoint de métricas no modo Developer Preview. Esse endpoint também exporta estatísticas no formato Prometheus, o que facilitaria muito o monitoramento com o Prometheus e a visualização usando o Grafana. Você poderá saber mais sobre isso em um próximo blog.

E quanto ao "SG-Replicate"?

Se você tem trabalhado com o gateway Sync, provavelmente está familiarizado com a função SG-Replicar que pode ser usado para replicação entre os nós do Sync Gateway em diferentes clusters. A nova versão do protocolo, que é baseada em websockets, foi reprojetada desde o início para oferecer vários recursos de nível empresarial, como balanceamento automático de carga de replicações entre os nós do Sync Gateway participantes, alta disponibilidade (HA), resolução automática de conflitos integrada com resolvedores de conflitos personalizados, suporte à sincronização delta, melhorias significativas na escalabilidade e no desempenho e muito mais.

Embora o "SG-Replicate" continue a ter suporte na versão 2.8, ele foi descontinuado e os aplicativos existentes devem migrar para a nova versão da tecnologia de replicação do Gateway de sincronização interna.

O que vem a seguir

A solução de sincronização da nuvem para a borda do Couchbase Sync Gateway é segura, dimensionável e fácil de configurar e gerenciar. O sync é a única solução de sincronização de banco de dados ponto a ponto que permite que os clientes se comuniquem diretamente entre si em ambientes desconectados.

Você pode download do Sync Gateway e avaliar a funcionalidade gratuitamente.

Se quiser se aprofundar nos detalhes, veja aqui onde você pode encontrar mais informações
Vídeo de conexão com demonstração: Usando a replicação do Gateway inter-Sync
Documentação: Replicação do gateway inter-Sync
Página de soluções: Computação de borda

O Fóruns do Couchbase é um ótimo lugar para entrar em contato com perguntas. Deixe um comentário abaixo ou sinta-se à vontade para entrar em contato comigo via Twitter ou enviar-me um e-mail

 

Compartilhe este artigo
Receba atualizações do blog do Couchbase em sua caixa de entrada
Esse campo é obrigatório.

Autor

Postado por Priya Rajagopal, Diretora Sênior, Gerenciamento de Produtos

Priya Rajagopal é diretora sênior de gerenciamento de produtos da Couchbase, responsável pelas plataformas de desenvolvedor para a nuvem e a borda. Ela desenvolve software profissionalmente há mais de 20 anos em vários cargos técnicos e de liderança de produtos, com mais de 10 anos de foco em tecnologias móveis. Como delegada de padrões de IPTV da TISPAN, ela foi uma das principais colaboradoras das especificações de padrões de IPTV. Ela tem 22 patentes nas áreas de rede e segurança de plataforma.

Deixe um comentário

Pronto para começar a usar o Couchbase Capella?

Iniciar a construção

Confira nosso portal do desenvolvedor para explorar o NoSQL, procurar recursos e começar a usar os tutoriais.

Use o Capella gratuitamente

Comece a trabalhar com o Couchbase em apenas alguns cliques. O Capella DBaaS é a maneira mais fácil e rápida de começar.

Entre em contato

Deseja saber mais sobre as ofertas do Couchbase? Deixe-nos ajudar.