dividir para conquistar

Post on 24-Jan-2018

455 Views

Category:

Technology

3 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Dividir para conquistarUsando Ruby

Bruno Grasselli@grasselli

MinhaApp

MinhaApp

Produtos/Admin

Produtos/Site

Usuários/Admin

MinhaApp

Produtos/Admin

Produtos/Site

Usuários/Admin

Imagens/Admin

Relatórios/Admin

Índice para buscaCrop de imagens

Fale conosco/Site

Fale conosco/Site

Expurgo Cache

Problemas com merge!

Feature de uma equipe quebrando a outra

Rollback único!

Fez Sucesso!

MinhaApp

MinhaApp

MinhaApp MinhaApp MinhaApp

MinhaApp MinhaApp MinhaApp

MinhaApp MinhaApp MinhaApp

Escalar ficou caro!

Pense em dividir!

1

MinhaApp

Produtos/Admin

Produtos/Site

Usuários/Admin

Imagens/Admin

Relatórios/Admin

Índice para buscaCrop de imagens

Fale conosco/Site

Fale conosco/Site

Expurgo Cache

Admin

Site

Escala mais fácil!

Admin

Site

Admin

Site

Admin

Site Site Site Site Site

Admin

Produtos Imagens Usuários

Site

REST

REST

• ActiveResource

REST

• ActiveResource

• Restfulie

REST

• ActiveResource

• Restfulie

• Roar

Aplicações mais simples

Aplicações mais simples

SinatraRack

Menor impacto em produção

2

MinhaApp

Produtos/Admin

Usuários/Admin

Imagens/Admin

Relatórios/Admin

Índice para buscaCrop de imagens

Expurgo Cache

Processamento assíncrono com filas

Admin

Consumidorcrop de imagens

Consumidoríndice para busca

Consumidorexpurgo de cache

Fila

Clientes de fila (RabbitMQ)

• AMQP

• Bunny

Consumidores

• DaemonKit

3

MinhaApp

Produtos/Admin

Usuários/Admin

Imagens/Admin

Relatórios/Admin

Rails Engines!

MinhaApp

Produtos

Usuários

Imagens

Relatórios

Melhor paralelismo

Resumindo...

Não é fácil

IMHO, compensa!

Dúvidas?

Obrigado!

top related