Cache distribuído no caminho para a escalabilidade

Por Iqbal Khan

Se você estiver desenvolvendo um aplicativo ASP.NET, serviços da Web ou um aplicativo de computação de alto desempenho (HPC), provavelmente encontrará grandes problemas de escalabilidade ao tentar dimensionar e colocar mais carga em seu aplicativo. Com um aplicativo ASP.NET, ocorrem gargalos em dois armazenamentos de dados. O primeiro são os dados do aplicativo que residem no banco de dados e o outro são os dados de estado da sessão ASP.NET que normalmente são armazenados em um dos três modos (InProc, StateServer ou SqlServer) fornecidos pela Microsoft. Todos os três têm grandes problemas de escalabilidade.

Os serviços da Web geralmente não usam o estado da sessão, mas têm gargalos de escalabilidade quando se trata de dados de aplicativos. Assim como os aplicativos ASP.NET, os serviços da Web podem ser hospedados no IIS e implantados em um Web farm para escalabilidade.

Os aplicativos HPC projetados para executar processamento paralelo massivo também apresentam problemas de escalabilidade porque o armazenamento de dados não é dimensionado da mesma maneira. HPC (também chamado de grid computing) tradicionalmente usa Java, mas à medida que o .NET ganha participação de mercado, ele também está se tornando mais popular para aplicativos HPC. Os aplicativos HPC são implantados em centenas e às vezes milhares de computadores para processamento paralelo e muitas vezes precisam operar em grandes quantidades de dados e compartilhar resultados intermediários com outros computadores. Os aplicativos HPC usam um banco de dados ou um sistema de arquivos compartilhado como armazenamento de dados, e ambos não são muito bem dimensionados.

Leia o artigo completo

Cache distribuído

O cache é um conceito bem conhecido tanto no mundo do hardware quanto do software. Tradicionalmente, o cache tem sido um mecanismo independente, mas não funciona mais na maioria dos ambientes porque os aplicativos agora são executados em vários servidores e em vários processos dentro de cada servidor.

O cache distribuído na memória é uma forma de cache que permite que o cache abranja vários servidores para que possa crescer em tamanho e capacidade transacional. O cache distribuído tornou-se viável agora por vários motivos. Primeiro, a memória tornou-se muito barata e você pode encher computadores com muitos gigabytes a preços descartáveis. Em segundo lugar, as placas de rede tornaram-se muito rápidas, com 1 Gbit agora padrão em todos os lugares e 10 Gbit ganhando força. Finalmente, diferentemente de um servidor de banco de dados, que geralmente requer uma máquina de última geração, o cache distribuído funciona bem em máquinas de custo mais baixo (como aquelas usadas para servidores Web), o que permite adicionar mais máquinas facilmente.

Leia o artigo completo
© Copyright Alachisoft 2002 - . Todos os direitos reservados. NCache é uma marca registrada da Diyatech Corp.