Arquiteturas de sistemas reais
-
Upload
inael-rodrigues -
Category
Documents
-
view
220 -
download
0
Transcript of Arquiteturas de sistemas reais
Arquitetura de Sistemas Reais
Bruno Marquete da SilvaGeovane Pazine Filho
Igor Vinicius dos Santos SilvaInael Rodrigues de Oliveira Neto
Jackeline Neves de AlmeidaVinícius Gonçalves Braga
Agenda
● Visão geral de arquiteturas;● Node.js● Facebook● Twitter● Google (Search)● Exemplo de código
Visão GeralA arquitetura de Software é a estrutura do sistema que compreende:
● Os elementos que o compõem● Os relacionamentos entre eles● Seus relacionamentos com o ambiente
Node.js
Objetivo:Fornecer uma maneira fácil de criar programas
de rede escaláveisComo:
JavaScript do lado do servidor
Node.js
● O Node soluciona o problema de gargalo de arquitetura de aplicativos da web mudando a forma como uma conexão é feita no servidor.
● Nunca ocorrerá um impasse de bloqueios.● Um servidor que o execute pode suportar dezenas de milhares de
conexões simultâneas.● Programação direcionada a eventos.
Node.jsPara o que ele é bom?
● Uma API RESTful - Um serviço da Web que forneça uma API RESTful recebe alguns parâmetros, interpreta-os, monta uma resposta e envia-a de volta ao usuário.
● Fila do Twitter - A função do Node é rapidamente coletar o tweet e passar essa informação para outro processo, responsável por gravá-lo.
● Servidor de arquivos de imagem - (pense no Facebook ou Flickr) a empresa pode usá-lo para codificar um recuperador de arquivos fácil e, a seguir, tratar dezenas de milhares de conexões.
● MySQL/InnoDB para armazenamento;● Multifeed - um sistema desenvolvido pelo Facebook
responsável por notificar e ranquear as atualizações dos perfis;
● Thrift para comunicação;● Memcached - sistema de cache distribuído, utilizado
para manter as informações do Timeline.
Facebook (Timeline)
Facebook (Timeline)
● Tudo na RAM○ Banco de dados é Backup (Cassandra)
● Ruby em front-end, Scala em back-end● Modelo de Mensagem e processo
assincrono● Niveis de cache
○ Fragment cache (Versões serializadas dos tweets)○ Row cache (Usuários e Tweets)○ Vector cache (Array de IDs de Tweet)
● Middleware é uma mistura de C com Scala
Como já sabemos, o Google tem uma história na busca de recursos
computacionais que suportem a sua missão, de forma confiável e eficiente,
com o menor custo.
"Organizar as informações do mundo e torná-las mundialmente acessíveis e úteis.
Missão do Google
Google (Search)
Google (Search)