Couchbase Mobile

Como se sentir confortável com o Couchbase Mobile: Sincronizar o gateway por meio da linha de comando

Introdução

Esta é a continuação da minha série "Getting Comfortable with Couchbase Mobile" (postagem #5). Desta vez, veremos como explorar Gateway de sincronização na linha de comando. Isso pode ser muito útil, tanto para compreensão quanto para testes/depuração. (No final, há links para outras postagens da série).

Couchbase Mobile Stack

Histórico

Para se sentir confortável com todo o processo Couchbase Mobile é ótimo instalar e executar tudo em uma única máquina. Nesta série de postagens, explicarei as etapas para começar a usar cada componente. Também mostrarei como fazer uma pequena exploração extra ao longo do caminho.

Farei apenas a configuração mínima. O objetivo não é explicar o que você precisa para um ambiente de produção. Presumo que você conheça alguns conceitos básicos de NoSQL, tenha algum conhecimento sobre o Couchbase e saiba como criar aplicativos em algo como Java, Android ou iOS. Se quiser ler sobre bancos de dados NoSQL ou sobre o Couchbase, você pode encontrar muitos recursos no site Couchbase local.

O Couchbase é de código aberto. Tudo o que usarei aqui é gratuito para ser testado. Consulte o final da postagem para obter mais recursos se precisar de ajuda.

Gateway de sincronização

O Sync Gateway é um aplicativo de gateway da Web seguro com APIs de sincronização, REST, fluxo, lote e evento para acessar e sincronizar dados pela Web. O Sync Gateway permite, entre outras coisas, a replicação segura de dados entre o Couchbase Server e o Couchbase Lite.

O Sync Gateway tem poucas dependências e pode ser executado na maioria das distribuições Linux (mesmo no Raspberry Pi), Windows e OSX/macOS. As etapas específicas de instalação variam de acordo com a plataforma. Consulte a seção downloads para todos os pacotes disponíveis. Para instalar em distribuições Linux que não sejam as suportadas, consulte esta postagem.

Configuração e execução

Depois de instalar o Sync Gateway, abra um shell de linha de comando.

Em seguida, tenho duas configurações listadas. Você pode encontrá-las na seção exemplos de sua instalação, ou copie e cole o texto aqui em sua própria pasta.

O primeiro pode ser usado se você tiver Servidor Couchbase em execução em seu computador. Essa é a configuração que você encontrará em examples/basic-couchbase-bucket.json.

Ou, para usar o Sync Gateway de forma autônoma (geralmente apenas para testes), use esta configuração (encontrada em examples/basic-walrus-bucket.json):

Criação de um documento

Na linha de comando, execute o Sync Gateway e forneça o caminho para o arquivo de configuração.

Nesse momento, o usuário especial GUEST está habilitado. Podemos ir em frente e criar um documento.

A resposta mostra que a gravação foi bem-sucedida. Você também pode ver isso na saída de log do Sync Gateway e observando o bucket de apoio no arquivo Console da Web do servidor Couchbase.

Esta é a resposta que vemos na linha de comando.

Atualização de um documento

Em seguida, vamos tentar fazer uma alteração no documento.

O resultado mostra que houve falha.

Por quê? Se você se lembra de outras partes desta série do blog, o Couchbase Mobile usa algo chamado Controle de Concorrência Multiversão para rastrear as revisões. Isso significa que, quando fazemos alterações em um documento, temos que indicar qual é o documento "pai".

Vamos tentar novamente, desta vez especificando a revisão principal.

Isso funciona. A resposta é

Monitoramento do feed de alterações

O feed de alterações oferece uma ótima maneira de rastrear o banco de dados. Você pode usar isso para escrever uma lógica do lado do servidor orientada por eventos ou implementar um sistema automatizado de resolução de conflitos.

Mostraremos uma versão que mantém o feed aberto. Talvez você queira abrir outra janela de linha de comando para observar a saída.

Aqui, definimos o tipo de alimentação como contínuo. Vários elementos ao longo de um caminho de rede podem fechar uma conexão que pareça ociosa. O Sync Gateway pode enviar um heartbeat para evitar isso. Definimos um tempo limite de 26000 milissegundos.

O último parâmetro, desdeinforma ao Sync Gateway onde queremos começar na sequência geral de alterações. Normalmente, você deve tratar esse parâmetro como um valor opaco. Normalmente, um aplicativo iniciará sem especificar esse parâmetro (obtendo todas as alterações) e, em seguida, rastreará o valor enviado de volta para uso em solicitações futuras.

Veja como é um conjunto de alterações.

Adição de um usuário

Agora, vamos adicionar um novo usuário, jdoe. Essa é uma função de administrador, portanto, a solicitação deve passar pela porta de administrador. (Porta 4985 se você estiver usando uma das configurações listadas).

Também desabilitaremos o acesso anônimo (GUEST).

Não é mais possível acessar o Sync Gateway a partir da porta pública (4984) sem fornecer um nome de usuário e uma senha.

Canais

Vamos adicionar um documento com um campo especial, canais.

Você deve ver esse retorno.

O Sync Gateway passa cada documento por uma função especial, chamada função de sincronização, sempre que um documento é atualizado. Como não especificamos uma função de sincronização, o padrão é usado automaticamente.

A função padrão procura por canais nas propriedades do documento. Se for encontrado, o documento será atribuído a esse canal.

Um usuário deve ter acesso a um canal para receber um documento atribuído a esse canal. Você pode ler mais sobre canais aqui. Veremos o impacto em breve.

Apenas para ver o que acontece quando não autenticamos, tente este comando. A solicitação é rejeitada

com a resposta esperada.

E se tentarmos novamente, fornecendo o nome de usuário e a senha corretos?

Isso às vezes pega as pessoas de surpresa. Somos rejeitados novamente, mas por um motivo diferente.

O que aconteceu? Lembre-se de que, quando escrevemos o documento, nós o atribuímos ao canal abc. Mesmo que o usuário jdoe escreveu o documento, não demos acesso ao abc canal. Sem isso, jdoe não tem permissão para ler o documento de volta.

Alterar os canais jdoe tem acesso a

e ver que o usuário agora pode acessar o documento.

Sucesso!

Concluindo

Espero que isso lhe dê algumas informações sobre o Sync Gateway. Eu o encorajo a dar uma olhada no API REST mais. Você pode encontrar informações mais interessantes no utilitário de administração da Web incorporado ao Sync Gateway (https://localhost:4985/_admin/) e no Console da Web do Couchbase Server.

Para ver um exemplo interessante de uso do Sync Gateway autônomo, consulte nossa palestra do CouchBase Connect 2016: https://www.youtube.com/watch?v=6Ra4NeY7TNA

[buttongroup][button style="btn-link btn-lg" icon="fa fa-arrow-left" align="left" iconcolor="#dd3333″ type="link" target="false" title="Anterior: Instalando o Sync Gateway" link="https://www.couchbase.com/blog/getting-comfortable-couchbase-mobile-installing-sync-gateway/" linkrel=""][button style="btn-link btn-lg" icon="fa fa-arrow-right" align="left" iconcolor="#dd3333″ type="link" target="false" title="Next: TBD" link="" linkrel=""][/buttongroup]

Pós-escrito

Confira mais recursos em nosso portal do desenvolvedor e nos siga no Twitter @CouchbaseDev.

Você pode postar perguntas em nosso fóruns. E participamos ativamente de Estouro de pilha.

Você pode me seguir pessoalmente em @HodGreeley

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

Autor

Postado por Hod Greeley

Hod Greeley é um defensor dos desenvolvedores da Couchbase e mora no Vale do Silício. Ele tem mais de duas décadas de experiência como engenheiro de software e gerente de engenharia. Trabalhou em diversas áreas de software, incluindo física e química computacional, segurança de computadores e redes, finanças e dispositivos móveis. Antes de ingressar na Couchbase em 2016, Hod liderou as relações com desenvolvedores para dispositivos móveis na Samsung. Hod é Ph.D. em física química pela Universidade de Columbia.

2 Comentários

  1. [...] pode experimentar. Você também pode usar ferramentas de linha de comando e a interface de administração do Sync Gateway. Dê uma olhada aqui para saber mais sobre [...]

  2. [...] Anterior: Couchbase Server via linha de comando Próximo: Sync Gateway por meio da linha de comando [...]

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.