Arquivo pela Tag: escalabilidade

NoSQL – Do teorema CAP para P?(A|C):(C|L)

Postado em 07. dez, 2011 por .

5

Existem muitas motivações para os bancos NoSQL, como por exemplo usar um modelo mais adequado para os seu dados ou facilitar alterações de schema; ou ainda além, melhorar o desempenho e simplificar a replicação para ter a tão sonhada escalabilidade linear. O teorema CAP Claro que todos os benefícios não vem sem custo, comparado com os more »

Continue Lendo

Vivendo no cloud: a infraestrutura externa da Caelum em 11 soluções

Postado em 03. fev, 2011 por .

19

Há muito tempo que falamos de cloud computing na Caelum, para minimizar a necessidade de infraestrutura própria e especializada. Mas, mais que falar, a Caelum como empresa aprendeu ao longo dos últimos anos a usar serviços disponíveis na nuvem para as mais diversas tarefas. Somos clientes de diversas soluções SaaS, PaaS e IaaS. Muitos nos more »

Continue Lendo

5 dicas simples de escalabilidade com Ruby

Postado em 08. dez, 2010 por .

4

Escrever aplicações Ruby e Rails, justamente pela alta produtividade dessa plataforma, permite a criação e implantação de um novo projeto em um curto espaço de tempo. Colocar o projeto rapidamente em produção para receber feedback dos clientes faz parte da cultura ágil. Mas e se a aplicação atingir um público maior que o esperado inicialmente? more »

Continue Lendo

Quando muitos dados passam a atrapalhar: replicação e sharding

Postado em 30. nov, 2010 por and .

5

Quando pensamos na arquitetura de sistemas com grande volume de dados a primeira palavra que vem a mente é escalar. Além de desejar que cada uma das pesquisas em nosso sistema execute o mais rápido possível, precisamos criar meios para que, quando necessário, seja fácil adicionar mais recursos (como memória ou novos servidores) e o more »

Continue Lendo

JavaEE 6: contexto assíncrono das Servlets para o Ajax push

Postado em 27. set, 2010 por .

14

Desenvolvedores de backend que precisam de muita escalabilidade já conhecem os truques de IO não-blocante há muito tempo: selector, poll e epoll no Linux, kqueue no MacOS e BSD e I/O Completion Ports no Windows. A palestra do Renato Lucindo no QConSP abordava questões e soluções que podiam ser implementadas com essas abordagens. Curiosamente são more »

Continue Lendo

Um servidor, um banco

Um produto para muitos clientes: implementando multitenancy

Postado em 23. ago, 2010 por .

7

São diversos as aplicações web disponíveis, como quadros eletrônicos, sistemas de tracking, email e aplicações para empresas, ou até mesmo controle de clientes e vendas. Eles até ganharam um pomposo nome dentro do cloud computing: Software as a Service (SAAS). O que essas aplicações possuem em comum? Todas elas atendem diversos clientes sem que um more »

Continue Lendo

Escalando sistemas com soluções NoSQL

Postado em 07. jun, 2010 por .

10

Um dos grandes desafios enfrentados no dia a dia do desenvolvedor eficaz é o de cumprir requisitos não-funcionais de uma aplicação, principalmente os relacionados a performance e escalabilidade. Uma das alternativas mais conhecidas para escalar horizontalmente é a de dividir as tarefas que não necessitam de retorno imediato ao cliente em processos batch. Para tanto, more »

Continue Lendo

Escrevendo e migrando aplicações para o Google App Engine

Escrevendo e migrando aplicações para o Google App Engine

Postado em 17. nov, 2009 por .

11

Recentemente migramos nosso site para o Google App Engine (GAE), o serviço de cloud computing do Google, fazendo uso do suporte a aplicações Java. A ideia é que você desenvolva sua webapplication normalmente e faça o upload do war para os servidores do Google usando um SDK, que também possui um servidor local para desenvolvimento. more »

Continue Lendo

Bancos de dados não relacionais e o movimento NoSQL

Postado em 30. out, 2009 por .

31

Nas grandes aplicações web é cada vez mais comum a quantidade de informações ser enorme, e ainda temos uma certeza: amanhã teremos mais dados para armanezar. Como lidar com isso de maneira eficiente? Muito se fala ultimamente sobre os novos bancos não relacionais. Houve um encontro inicial e a segunda conferência também já aconteceu. O more »

Continue Lendo

A java.net.SocketException Broken Pipe

Postado em 19. out, 2009 por .

17

Quando começamos a programar com banco de dados, rapidamente aprendemos que devemos sempre usar um pool de conexões para acessa-lo, caso contrário podemos facilmente atrapalhar o bom funcionamento do mesmo, devido o excesso de conexões. Passamos então a usar um pool de conexões, e ao colocar o sistema em produção, nos deparamos com outro problema: more »

Continue Lendo

Vazamento de memória e de conexões

Vazamento de memória e de conexões

Postado em 02. set, 2008 por .

19

Descrevo aqui a minha aventura junto com diversos desenvolvedores da Caelum: Cauê Guerra, Filipe Sabella, Anderson Leite, Pedro Mariano e o Pedro Matiello para resolver um grande problema que ocorria em um dos nossos projetos. Assim como quando um avião cai, não é um bug que gera um grande problema, mas sim uma série de more »

Continue Lendo

Melhorando o GUJ: Jetty, NIO e load balancing

Postado em 27. jun, 2008 por .

28

Durante boa parte da vida do GUJ.com.br, na sua segunda versão (screenshot acima), o site sofreu diversas quedas e passou por muitos períodos de lentidão, mesmo depois de ter migrado para um servidor dedicado. A grande verdade é que por um bom tempo ficamos devendo a devida atenção ao deployment do GUJ. Sempre que um more »

Continue Lendo