Considere estas estratégias principais de armazenamento em cache para microsserviços
O armazenamento em cache de dados é uma parte fundamental para garantir que os microsserviços tenham acesso fácil aos dados de que precisam. Revisamos algumas estratégias principais de armazenamento em cache.
O armazenamento em cache de dados reduz a quantidade de viagens que um microsserviço precisa fazer para um servidor de banco de dados e evita chamadas redundantes para outros microsserviços. O cache também pode melhorar a disponibilidade, pois você ainda pode obter dados do cache se um serviço estiver inativo.
No entanto, existem desafios relacionados à maneira como você gerencia seu cache. Existem certas considerações, especialmente quando se trata de quais dados e quantos dados você armazena em cache. Aqui estão algumas estratégias de armazenamento em cache de microsserviços para evitar sobrecarregar um cache com dados obsoletos ou redundantes e para manter um alto desempenho de microsserviços.
Determine o que armazenar em cache
Existem dois tipos de caches: pré-carregados e carregados lentamente. Em caches pré-carregados, os dados são preenchidos antes que um serviço seja iniciado e ficam prontos antes que um serviço os solicite. Em caches com carregamento lento, os dados são mantidos em espera até que um serviço os solicite. Os dados no cache são preenchidos sob demanda na primeira vez que um serviço solicita seus dados, e todas as solicitações subsequentes para a mesma parte dos dados são servidas do cache.
Você precisará decidir qual dessas estratégias de armazenamento em cache de microsserviço é a melhor para um aplicativo específico. Como exemplo, um aplicativo de comércio eletrônico pode precisar pré-carregar itens usados com frequência no cache para que um novo pedido seja processado usando um item que reside no cache. No entanto, os aplicativos que não precisam acessar os dados dessa maneira podem ser armazenados em cache com carregamento lento para evitar sobrecargas de dados.
Considere o armazenamento em cache compartilhado
Quando os computadores armazenam dados em cache para uma instância de serviço, cada instância mantém sua própria cópia desses dados para usar assim que for necessário. Mas, embora esse tipo de armazenamento em cache seja rápido, ele ainda é limitado, pois o armazenamento é limitado à memória diretamente disponível para o serviço.
Se o armazenamento para esses serviços for limitado, as equipes podem usar o cache compartilhado, onde os dados são compartilhados entre as instâncias do aplicativo e todos os serviços acessam o mesmo cache. Essa abordagem é facilmente escalonável, pois você pode adicionar mais e mais servidores conforme necessário. Normalmente, esse cache é hospedado como um serviço separado, conforme mostrado na Figura 1.
Decida por quanto tempo manter seus dados
Se algum dado for alterado, você deve garantir que os dados residentes no cache estejam sincronizados com os armazenamentos de dados atuais. Os dados no cache podem ficar desatualizados por períodos de tempo, portanto, você deve decidir por quanto tempo os dados no cache permanecerão desatualizados.
Considere definir um tempo de vida cronometrado que invalide os dados e os remova do cache após um determinado limite para evitar que se tornem obsoletos. Portanto, uma solicitação de dados expirada resultará em uma solicitação de cache com falha, mas isso é aceitável, desde que as solicitações com falha não superem as solicitações bem-sucedidas.