Utilizando Cache Com Redis E Nodejs

18 May 2018 20:40
Tags

Back to list of posts

Na atualidade, existem imensas APIs em Node.js que trabalham com muito processamento, consulta em banco de detalhes relacionais e não relacionais, acesso em disco, serviços legados e inclusive novas APIs. Enorme quantidade de fatores que geram tempo de requisição, banda e processamento nos deixam sujeitos a estruturas que, se mal planejadas, conseguem gerar um débito técnico no futuro, exigindo transformações pela arquitetura para aprimorar a performance da aplicação. Novas vezes ficamos presos a serviços impostos pelo comprador e seus requisitos, o que nos impede de implementar alguma coisa mais estruturado.Quando você percebe todos os detalhes da sua aplicação sabe que podem existir processos que são realizados várias vezes e retornam fatos que não são alterados com tanta periodicidade. A cada solicitação feita, como a leitura de um arquivo, serviços de terceiros ou banco, caímos em uma série de fatores que implicam em tempo, processamento e banda. Uma ocorrência, tais como, seria eu ter que acessar um arquivo e retorná-lo ao usuário.Por esse caso, como neste instante exibido pela literatura, a leitura de um arquivo é lenta e depende de várias condições, entre tempo de hd storage hp Seek, o quão espalhado este arquivo está no teu hd para servidor dell, entre algumas. Nesta ocasião, imagine outra situação. Tua API precisa fazer uma requisição pra 5 outros serviços que irão desde a uma request SOAP, consulta ao banco, serviços de terceiros e uma busca no Elasticsearch.Supondo que cada requisição demore 1000ms, precisaríamos de um tempo total de 5000ms pra regressar a requisição. No caso do Node. Aproveitando a oportunidade, encontre bem como hd para servidor dell este outro website, trata de um conteúdo referente ao que escrevo nesse artigo, poderá ser proveitoso a leitura: hd storage hp. js, poderíamos utilizar qualquer pacote npm para que as requisições fossem chamadas em paralelo. Mesmo sendo assim, se eu fizer a mesma requisição muitas vezes na minha API e os detalhes dos outros serviços não forem alteradas periodicamente, nossa aplicação realizará o mesmo procedimento muitas vezes.Botões 'Start' e 'Select' imediatamente se chamam 'View' e 'Menu'Você paga a diferença na marcaEonica Braçal argumentou: 30/07/doze ás 00:48Licenciamento dos usuários de e-mailis?qRouz_Eus9Bpm7Bn6EVdl4DHe0pNNUTFVII1tRT96oM&height=180 Não seria mais fácil nossa aplicação alcançar reconhecer que essa solicitação imediatamente foi feita e regressar os dados salvos em algum espaço, sem a indispensabilidade de fazer tudo novamente? E podemos fazer isso de inúmeras formas, porém o modelo mais famoso é usando cache. O emprego do cache pode deslocar-se de ponta a ponta em nosso sistema, seja na camada do consumidor, do servidor internet até depois, na aplicação. Na camada do servidor internet, no caso do Ngnix poderia ser adicionado o ETAG que ajudaria a discernir no momento em que houve uma variação naquela requisição e Expires/cache-control pra tempo de existência que pode ser utilizado aquele conteúdo.Pela camada do consumidor, mesmo criando estruturas que salvem estes dados, seria ao menos imprescindível elaborar uma interface com a aplicação pra identificar no momento em que os detalhes ainda conseguem ser utilizados. Além do mais, possuímos incontáveis tipos de compradores. Dizendo somente de Browser, temos os mais antigos, que são difíceis de depurar, browsers de dispositivos móveis de versões antigas, além do suporte às APIs que cada um possui. Pela camada de servidor internet queremos ter outro defeito, como um controle generalizado de cache. Na camada da aplicação utilizar cache em memória assim como não é uma ideia tão favorável, já que uma legal prática é não salvar o estado de nada na API (Stateless).Seria uma complicação necessitar escalar horizontalmente e atingir manter a integridade nesse cache. Uma das maneiras mais robustas de cuidar esses empecilhos é ter uma característica melhor no cache, usando um servidor ou serviço. O mais comum nos dias de hoje é o Redis, que é um banco de fatos NoSQL de chave e valor. Segundo um survey alcançado pelo RisingStack com mais de 1000 desenvolvedores, essa ferramenta é adotada por quase 50% dos desenvolvedores que trabalham com Node.js, o que mostra a segurança deles nesse ecossistema.Contudo por que nte.escolher o Redis em vez do Memcached, plataforma que de imediato está há longo tempo no mercado? Comparando os dois, ambos são capazes de realizar tarefas de cache com alta performance alocando tudo na memória, logo se transcorrer um dificuldade e o servidor do memcached for reiniciado, o seu cache estaria a salvo numa memória volátil. Com o redis o caso neste instante é contrário, em razão de ele tem um fallback e salva tudo em disco.

Comments: 0

Add a New Comment

Unless otherwise stated, the content of this page is licensed under Creative Commons Attribution-ShareAlike 3.0 License