Substituição do Memcached para escalabilidade

Lidando com os desafios do Memcached

Você está lidando com problemas do memcached, como cache frio, contenção pesada dos recursos do RDBMS e falta de flexibilidade de expansão? O Couchbase Server, um banco de dados NoSQL, pode ser usado como um substituto alternativo para a camada do memcached para enfrentar esses desafios.

Leia o WhitePaper

Diferença entre memcache e memcached

A resposta curta é: nada. A resposta mais longa é que, como o memcache é executado em segundo plano nos sistemas Linux (e, portanto, é considerado um "daemon"), o arquivo de programa usado para iniciar o software é denominado memcached para seguir as convenções de nomenclatura de daemon. Portanto, tecnicamente, memcache se refere ao software e memcached se refere ao nome do arquivo de programa. Mas a maioria das pessoas simplesmente usa memcached para se referir a ambos neste momento.

Como se pronuncia memcached?

É memcached (como em "acabei de armazenar em cache") ou é memcache-dee? Ambas são amplamente usadas nos círculos técnicos, mas se você se apegar às raízes do UNIX, pronunciará "memcache-dee".

Desafios do Memcached

Desafio 1: Cold Cache

Sintomas

Desaceleração ou colapso da camada de serviço de dados devido a um RDBMS altamente sobrecarregado quando os nós do memcached ficam inoperantes (por falha ou para manutenção)

Solução

Os dados são replicados automaticamente no cluster do Couchbase, proporcionando alta disponibilidade de dados mesmo em caso de falhas

Desafio 2: Contenção pesada de RDMBS

Sintomas

Várias solicitações de itens de dados que não existem no cache resultam em uma mudança repentina de carga para o banco de dados relacional, causando grande contenção

Solução

Ao replicar os dados no cluster, o Couchbase Server oferece desempenho consistente sem transferir a carga para a camada RDBMS

Desafio 3: falta de escalabilidade

Sintomas

Adicionar ou remover nós do memcached é complicado e causa uma degradação imprevisível do desempenho do aplicativo

Solução

A fragmentação automática e o rebalanceamento on-line no Couchbase Server proporcionam uma expansão fácil e sem interrupções do cluster

Desafio 4: monitoramento complexo

Sintomas

O gerenciamento de nós individuais do memcached aumenta a complexidade das operações e não tem uma visão única e consistente da camada de cache

Solução

O Couchbase Server fornece um console de administração integrado para gerenciamento e monitoramento de todo o cluster, bem como APIs RESTful para facilitar a automação e a integração de terceiros

Arquitetura de referência

O diagrama de arquitetura abaixo mostra um ambiente memcached antes e depois de a camada de cache ser substituída pelo Couchbase Server.

Um dos casos de uso do Couchbase Server é funcionar como uma camada de cache em uma arquitetura típica baseada na Web, conforme mostrado acima. A baixa latência, o desempenho consistente e a escalabilidade linear do Couchbase Server o tornam adequado como substituto da camada de memcache; sua tecnologia de cache incorporada permite tempos de resposta inferiores a milissegundos, iguais aos do memcached.

Os dados no Couchbase Server são automaticamente particionados e distribuídos entre os nós do cluster. Cada nó do cluster do Couchbase é idêntico e os dados são replicados entre os nós, de modo que cada nó armazene documentos ativos e réplicas. Os clientes do Couchbase são sensíveis à topologia e encaminham automaticamente as solicitações diretamente para o nó apropriado.

Além disso, o console de administração do Couchbase Server permite monitorar e gerenciar no nível do cluster (e não no nível do servidor, como no memcached), simplificando o gerenciamento e as operações do sistema e economizando seu tempo.

Recursos relacionados

ESTUDO DE CASO
ESTUDO DE CASO

Fale com um engenheiro de soluções do Couchbase