Faz tempo que eu não do as cara por aqui e meio irritado com o trabalho resolvi mostrar uma coisa útil.
Tenho uma aplicação que utiliza MySql com .NET, bem muitas pessoas tem certeza que fiz uma escolha errada, mas achei um pequeno caso de sucesso com MySql.
Nosso querido Facebook.
Eu queria saber como Facebook segurou fez esta mágica para suportar semanalmente a média 2 milhões de novos usuários ?
Sensacional?
Bem, com todo o tráfego existente mais a nova carga, como eles lidam com isso?
Há um post no blog feito por Jason Sobel no blog do Facebook aqui.
Alguns dos truques estilosos incluem:
· Replicando bancos de dados MySQL
· Datacenters espalhados, um no Leste e Oeste Americano.
· A divisão de tráfego dependendo da sua localização, com um efetivo balanceamento de carga.
· Cache de dados usando memcached (originalmente desenvolvido para LiveJournal)
Os engenheiros do Facebook são astutos e conseguiram escalar de maneira eficaz e dinâmica. O Pessoal do Friendster também fez algo parecido com o MySQL.
Por incrivel que pareça não há este Case no site do MySQL, me pergunto por que não fizeram isto ainda.
Bem agora é com você ! Tem algum conselho para escalar sua aplicação utilizando PHP e MySQL? Acho legal seguir o exemplo destes pequeninos. rs.
Nada é tão maravilhoso com uma Infra-estrutura tão invejável que muitas empresas hoje em dia não se preocupam, segue o link do site time.com com as fotos de um dos Farms do Facebook.
Links:
http://uoltecnologia.blogosfera.uol.com.br/2010/12/16/voce-ja-viu-os-servidores-que-armazenam-suas-fotos-no-facebook/
http://memcached.org/