SlideShare uma empresa Scribd logo
1 de 22
Baixar para ler offline
Distribuindo e Escalando
(e dismistificando escalabilidade)
iFind Plataform
http://ifind.io
Who am I?
I’m not Batman! But I whis I was!
http://ifind.io
System Architect ( about 14 years in 2013 )
PHP Evangelist ( hell yeah!! )
Javascript lover ( since … well, since I discovered it )
Minimalist, Purist, Pain in the ass(!?)
Worked in some cool projects: DHL, Wal*Mart and
Perdigão’s GPS Tracking System / CallCenter
Systems / SAP Integrations / Privalia / Coquelux /
Super Exclusivo / Ci&T / Axia Value Chain / Ernst &
Young / bla bla bla …
"
"
Can say I had work in more than 200 projects =)
Escalabilidade
http://ifind.io
Bixo de sete cabeças"
"
Escalabilidade
http://ifind.io
Muito oneroso!"
"
Escalabilidade
http://ifind.io
Alta complexidade!"
"
Escalabilidade
http://ifind.io
Infra / Dev / Gestão / Rede"
"
O que é o Memcached?
Aspectos funcionais da ferramenta
http://ifind.io
Caching
Key / Value
Runtime
Não é um banco de dados
O Memcached é uma maneira escalável, simples,
leve e inteligente de cachear e organizar dados
cacheados. A principal função reduzir o volume de
chamadas a banco, mas também serve para
transportar dados entre aplicações uma vez que
q u a s e t o d a s a s l i n g u a g e n s p o s s u e m
implementação da API.
"
"
Simples, MUITO, simples!
O que é o Memcached?
Aspectos funcionais da ferramenta
http://ifind.io
Fácil Configuração
Multiplos Servidores
Peso/Prioridade dos servidores
API rica em recursos
Escalável
Open Source
Poliglota : C++, PHP, Python,
Ruby, .NET, Lua, Perl, CLI, LISP, MySQL,
PostgreSQL, …
O que é o Gearman?
Aspectos funcionais da ferramenta
http://ifind.io
Framework para gerenciar "farms" de tasks
Filas ( persistentes ou não: mysql, libdrizzle, sqlite3, memcached, ... - Redis
and MongoDB under development )
Paralelizador de tarefas ( Sincronas ou Não )
Map & Reduce
O Gearman é em sua essência uma ferramenta
para gerir e distribuir tarefas porém dentro das
funcionalidades ele permite você fazer e ir muito
mais além integrando funcionalidades como filas e
map/reduce.
"
"
Tolerante a Falhas
Como funciona o Gearman?
http://ifind.io
/users/123/sendMail SMTP mail.server.com
App Server Response OK Mail Server Response OK
Users x Requests = (????) SMTP Calls
Até onde eu posso aumentar uma única máquina?
Quantos serviços ( pagamentos por ex ) estão sendo prejudicados pela queda de performance?
Como faço pra garantir as entregas uma vez que todas estão rodando simultaneamente e
gargaladas? (Runtime)
Como funciona o Gearman?
Enviando emails de forma correta
http://ifind.io
/users/123/sendMail SMTP mail.server.com
App Server Response OK
Asyncronous
Response OK
Workers x Requests = SMTP Calls ( Numero Controlado de Workers )
Enfileiramento das Requests
Diminuição exponencial do load do servidor e controlar a carga a ser processada
É possível persistir a fila e garantir as entregas caso aconteça algum gargalo ou problema
Worker
Call
Gearman
Server
Como funciona o Gearman?
http://ifind.io
Como funciona o Gearman?
http://ifind.io
Como funciona o Gearman?
http://ifind.io
/users/123/sendMail
App Server Response OK
Asyncronous
Workers
192.168.1.
10
Call
Gearman
Server
Workers
192.168.1.
11
Workers
192.168.1.
12
Map/Reduce automático
Escolher worker mais "disponível"
Especialização de servidores de acordo com o tipo de worker
Escalabilidade "infinita"
Como funciona o Gearman?
http://ifind.io
Mitos
http://ifind.io
Escalar custa caro
Mitos
http://ifind.io
Escalar custa caro
Mitos
http://ifind.io
Para escalar essa aplicação legado eu preciso criar
uma nova versão/refatorar/ horas de trabalho / é
difícil, bla bla bla….
Mitos
http://ifind.io
Para escalar essa aplicação legado eu preciso criar
uma nova versão/refatorar/ horas de trabalho / é
difícil, bla bla bla….
Mitos
http://ifind.io
Para escalar essa aplicação legado eu preciso criar
uma nova versão/refatorar/ horas de trabalho / é
difícil, bla bla bla….
Curiosidades
http://ifind.io
iFind Plataform
http://ifind.io
Klederson Bueno
+55 - 19 - 9444-7994
klederson@ifind.com.br
Thanks for watching! =)

Mais conteúdo relacionado

Semelhante a Gearman and Memcached

Rails Summit 2008 - Web Operations - George Guimarães - Pagestacker
Rails Summit 2008 - Web Operations - George Guimarães - PagestackerRails Summit 2008 - Web Operations - George Guimarães - Pagestacker
Rails Summit 2008 - Web Operations - George Guimarães - PagestackerGeorge Guimarães
 
Cacheamento Lado Servidor
Cacheamento Lado ServidorCacheamento Lado Servidor
Cacheamento Lado ServidorMario Guedes
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosRafael Chaves
 
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...iMasters
 
Segredos não ditos de PWA - muito além do Web App Manifest
Segredos não ditos de PWA - muito além do Web App ManifestSegredos não ditos de PWA - muito além do Web App Manifest
Segredos não ditos de PWA - muito além do Web App ManifestEduardo Matos
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Tiago Marchetti Dolphine
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sitesthiagolima
 
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalLight Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalEmanuel Gonçalves
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devopsDiego Pacheco
 
Parse - Backend As A Service
Parse - Backend As A ServiceParse - Backend As A Service
Parse - Backend As A ServiceHenrique Morbin
 
Docker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na KonkerDocker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na KonkerAndré Rocha
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareFábio Nogueira de Lucena
 
Cobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIPCobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIPHerberth Amaral
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agileJuan Maiz
 
The twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realThe twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realJosé Filipe Lyra
 
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...Amazon Web Services LATAM
 
Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"flaviohalmeida
 

Semelhante a Gearman and Memcached (20)

Rails Summit 2008 - Web Operations - George Guimarães - Pagestacker
Rails Summit 2008 - Web Operations - George Guimarães - PagestackerRails Summit 2008 - Web Operations - George Guimarães - Pagestacker
Rails Summit 2008 - Web Operations - George Guimarães - Pagestacker
 
Cacheamento Lado Servidor
Cacheamento Lado ServidorCacheamento Lado Servidor
Cacheamento Lado Servidor
 
XML-RPC.pdf
XML-RPC.pdfXML-RPC.pdf
XML-RPC.pdf
 
Construindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutosConstruindo um micro-serviço Java 100% funcional em 15 minutos
Construindo um micro-serviço Java 100% funcional em 15 minutos
 
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
InterCon 2017 - Segredos não ditos de PWA - muito além do Web App Manifest - ...
 
Segredos não ditos de PWA - muito além do Web App Manifest
Segredos não ditos de PWA - muito além do Web App ManifestSegredos não ditos de PWA - muito além do Web App Manifest
Segredos não ditos de PWA - muito além do Web App Manifest
 
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
Microservices: uma abordagem para arquitetura de aplicações (Devcamp 2015)
 
Framework Entities
Framework EntitiesFramework Entities
Framework Entities
 
Apresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo SitesApresentação Minas - Desenvolvendo Sites
Apresentação Minas - Desenvolvendo Sites
 
Light Talk sobre JavaScript Funcional
Light Talk sobre JavaScript FuncionalLight Talk sobre JavaScript Funcional
Light Talk sobre JavaScript Funcional
 
Workshop soa, microservices e devops
Workshop soa, microservices e devopsWorkshop soa, microservices e devops
Workshop soa, microservices e devops
 
Parse - Backend As A Service
Parse - Backend As A ServiceParse - Backend As A Service
Parse - Backend As A Service
 
Docker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na KonkerDocker SP - Orquestrando docker via Marathon e Mesos na Konker
Docker SP - Orquestrando docker via Marathon e Mesos na Konker
 
Kyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de softwareKyrios: Infra-estrutura livre para desenvolvimento de software
Kyrios: Infra-estrutura livre para desenvolvimento de software
 
Cobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIPCobrancas online na sua aplicacao com MoIP
Cobrancas online na sua aplicacao com MoIP
 
Web Offline
Web OfflineWeb Offline
Web Offline
 
rails_and_agile
rails_and_agilerails_and_agile
rails_and_agile
 
The twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo realThe twelve factor app - Princípios e boas práticas aplicados no mundo real
The twelve factor app - Princípios e boas práticas aplicados no mundo real
 
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
Como o Magazine Luiza inova suas operações utilizando as soluções de IoT e Bi...
 
Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"Flávio Almeida MEAN Stack "to be or not to be mean"
Flávio Almeida MEAN Stack "to be or not to be mean"
 

Gearman and Memcached

  • 1. Distribuindo e Escalando (e dismistificando escalabilidade) iFind Plataform http://ifind.io
  • 2. Who am I? I’m not Batman! But I whis I was! http://ifind.io System Architect ( about 14 years in 2013 ) PHP Evangelist ( hell yeah!! ) Javascript lover ( since … well, since I discovered it ) Minimalist, Purist, Pain in the ass(!?) Worked in some cool projects: DHL, Wal*Mart and Perdigão’s GPS Tracking System / CallCenter Systems / SAP Integrations / Privalia / Coquelux / Super Exclusivo / Ci&T / Axia Value Chain / Ernst & Young / bla bla bla … " " Can say I had work in more than 200 projects =)
  • 7. O que é o Memcached? Aspectos funcionais da ferramenta http://ifind.io Caching Key / Value Runtime Não é um banco de dados O Memcached é uma maneira escalável, simples, leve e inteligente de cachear e organizar dados cacheados. A principal função reduzir o volume de chamadas a banco, mas também serve para transportar dados entre aplicações uma vez que q u a s e t o d a s a s l i n g u a g e n s p o s s u e m implementação da API. " " Simples, MUITO, simples!
  • 8. O que é o Memcached? Aspectos funcionais da ferramenta http://ifind.io Fácil Configuração Multiplos Servidores Peso/Prioridade dos servidores API rica em recursos Escalável Open Source Poliglota : C++, PHP, Python, Ruby, .NET, Lua, Perl, CLI, LISP, MySQL, PostgreSQL, …
  • 9. O que é o Gearman? Aspectos funcionais da ferramenta http://ifind.io Framework para gerenciar "farms" de tasks Filas ( persistentes ou não: mysql, libdrizzle, sqlite3, memcached, ... - Redis and MongoDB under development ) Paralelizador de tarefas ( Sincronas ou Não ) Map & Reduce O Gearman é em sua essência uma ferramenta para gerir e distribuir tarefas porém dentro das funcionalidades ele permite você fazer e ir muito mais além integrando funcionalidades como filas e map/reduce. " " Tolerante a Falhas
  • 10. Como funciona o Gearman? http://ifind.io /users/123/sendMail SMTP mail.server.com App Server Response OK Mail Server Response OK Users x Requests = (????) SMTP Calls Até onde eu posso aumentar uma única máquina? Quantos serviços ( pagamentos por ex ) estão sendo prejudicados pela queda de performance? Como faço pra garantir as entregas uma vez que todas estão rodando simultaneamente e gargaladas? (Runtime)
  • 11. Como funciona o Gearman? Enviando emails de forma correta http://ifind.io /users/123/sendMail SMTP mail.server.com App Server Response OK Asyncronous Response OK Workers x Requests = SMTP Calls ( Numero Controlado de Workers ) Enfileiramento das Requests Diminuição exponencial do load do servidor e controlar a carga a ser processada É possível persistir a fila e garantir as entregas caso aconteça algum gargalo ou problema Worker Call Gearman Server
  • 12. Como funciona o Gearman? http://ifind.io
  • 13. Como funciona o Gearman? http://ifind.io
  • 14. Como funciona o Gearman? http://ifind.io /users/123/sendMail App Server Response OK Asyncronous Workers 192.168.1. 10 Call Gearman Server Workers 192.168.1. 11 Workers 192.168.1. 12 Map/Reduce automático Escolher worker mais "disponível" Especialização de servidores de acordo com o tipo de worker Escalabilidade "infinita"
  • 15. Como funciona o Gearman? http://ifind.io
  • 18. Mitos http://ifind.io Para escalar essa aplicação legado eu preciso criar uma nova versão/refatorar/ horas de trabalho / é difícil, bla bla bla….
  • 19. Mitos http://ifind.io Para escalar essa aplicação legado eu preciso criar uma nova versão/refatorar/ horas de trabalho / é difícil, bla bla bla….
  • 20. Mitos http://ifind.io Para escalar essa aplicação legado eu preciso criar uma nova versão/refatorar/ horas de trabalho / é difícil, bla bla bla….
  • 22. iFind Plataform http://ifind.io Klederson Bueno +55 - 19 - 9444-7994 klederson@ifind.com.br Thanks for watching! =)