SlideShare uma empresa Scribd logo
1 de 26
Baixar para ler offline
Introdução ao Modelo de Atores
e Akka
Rafael Avelar Pacheco
ravpacheco@gmail.com
@ravpachecco
BH-TEC Talks
Rafael Avelar Pacheco ravpacheco
Graduado em Engenharia de Computação
ravpacheco@gmail.com
ravpacheco.com
@ravpachecco
Mestrando em Modelagem Matemática e
Computacional
Tema: Programação distribuída utilizando modelo de atores.
Desenvolvedor C#, Java, Android e Xamarin
Google
server room in Council Bluffs, Iowa.
Concorrência por
compartilhamento de estado
 Condição de corrida;
 Deadlocks;
 Starvation;
 Código bloqueante;
 Pouca visibilidade da regra de negócio
(Código ofuscado);
 Dificuldade de implementação;
 Difícil de testar e debugar;
Carl Hewitt’s
Modelo de Atores
- Modelo de computação (Ator)
 Processa
 Armazena
 Comunica
- 3 regras para o modelo
 Criar novos atores
 Enviar mensagens para atores conhecidos
 Projetar como o ator deve manusear a próxima mensagem
Slides de: Johan Andrén
Curiosidades
T: 4096 Threads / 1 GB
A: 3 milhões Atores / 1 GB
T: Threads são n dimensionais
A: Atores 1d (Uma única coisa por vez)
T: Comunicação das Threads por Lock
A: Atores comunicam por mensagem
Slides de: Johan Andrén
Slides de: Johan Andrén
Slides de: Johan Andrén
Slides de: Johan Andrén
Slides de: Johan Andrén
Slides de: Johan Andrén
Slides de: Johan Andrén
Slides de: Johan Andrén
Premissas do manifesto reativo
Demo...
Quando o erro acontece
...eu 
Cálculo de PI distribuído
...
Master
Router
Workers
Listener
Gostou do modelo de atores mas
não gosto de akka?
Oz
Occam
Introdução ao Modelo de Atores e Akka

Mais conteúdo relacionado

Semelhante a Introdução ao Modelo de Atores e Akka

Apresentacao Ii Encontro Sl Amazonas Integracao De Frameworks
Apresentacao Ii Encontro Sl Amazonas Integracao De FrameworksApresentacao Ii Encontro Sl Amazonas Integracao De Frameworks
Apresentacao Ii Encontro Sl Amazonas Integracao De FrameworksNelson Sozinho
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangElaine Naomi
 
Desmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java AssociateDesmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java AssociateMagno A. Cavalcante
 
Java one
Java oneJava one
Java oneIsmael
 
Engenharia de software - Overview
Engenharia de software - OverviewEngenharia de software - Overview
Engenharia de software - OverviewGesse Santos
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehaveMarcelo Zeferino
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros PassosJackson F. de A. Mafra
 
Apresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionalApresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionaljamersonlima
 
Protótipos mobile na prática
Protótipos mobile na práticaProtótipos mobile na prática
Protótipos mobile na práticaRichard Jesus
 
Protótipos Mobile na Prática
Protótipos Mobile na PráticaProtótipos Mobile na Prática
Protótipos Mobile na PráticaMergo
 
Java: A Máquina Virtual e seu Mercado de Trabalho
Java: A Máquina Virtual e seu Mercado de TrabalhoJava: A Máquina Virtual e seu Mercado de Trabalho
Java: A Máquina Virtual e seu Mercado de TrabalhoAndrey Masiero
 
[Roadsec23] Dominando Angular com o ChatGPT
[Roadsec23] Dominando Angular com o ChatGPT[Roadsec23] Dominando Angular com o ChatGPT
[Roadsec23] Dominando Angular com o ChatGPTWender Machado
 
[MoT] :: MURAL DE VAGAS - JUL.AGO.2019
[MoT] :: MURAL DE VAGAS - JUL.AGO.2019[MoT] :: MURAL DE VAGAS - JUL.AGO.2019
[MoT] :: MURAL DE VAGAS - JUL.AGO.2019Lucas Fraga
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementCampus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementRamon Durães
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introduçãoFelipe Lyra
 
CV - Andre De Conto Matter
CV - Andre De Conto MatterCV - Andre De Conto Matter
CV - Andre De Conto MatterAndre Matter
 

Semelhante a Introdução ao Modelo de Atores e Akka (20)

Apresentacao Ii Encontro Sl Amazonas Integracao De Frameworks
Apresentacao Ii Encontro Sl Amazonas Integracao De FrameworksApresentacao Ii Encontro Sl Amazonas Integracao De Frameworks
Apresentacao Ii Encontro Sl Amazonas Integracao De Frameworks
 
Além da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e ErlangAlém da programação funcional com Elixir e Erlang
Além da programação funcional com Elixir e Erlang
 
Desmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java AssociateDesmistificando a Certificação de Sun Java Associate
Desmistificando a Certificação de Sun Java Associate
 
Java one
Java oneJava one
Java one
 
Engenharia de software - Overview
Engenharia de software - OverviewEngenharia de software - Overview
Engenharia de software - Overview
 
Academia do programador
Academia do programadorAcademia do programador
Academia do programador
 
Behaviour driven development, com jbehave
Behaviour driven development, com jbehaveBehaviour driven development, com jbehave
Behaviour driven development, com jbehave
 
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout  Tempo Real Eventos - Javascript - Os Primeiros PassosHangout  Tempo Real Eventos - Javascript - Os Primeiros Passos
Hangout Tempo Real Eventos - Javascript - Os Primeiros Passos
 
Apresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissionalApresentação da defesa da dissertação do mestrado profissional
Apresentação da defesa da dissertação do mestrado profissional
 
Protótipos mobile na prática
Protótipos mobile na práticaProtótipos mobile na prática
Protótipos mobile na prática
 
[MOT] Mural de Vagas - ago.set-19
[MOT] Mural de Vagas - ago.set-19[MOT] Mural de Vagas - ago.set-19
[MOT] Mural de Vagas - ago.set-19
 
Protótipos Mobile na Prática
Protótipos Mobile na PráticaProtótipos Mobile na Prática
Protótipos Mobile na Prática
 
Java: A Máquina Virtual e seu Mercado de Trabalho
Java: A Máquina Virtual e seu Mercado de TrabalhoJava: A Máquina Virtual e seu Mercado de Trabalho
Java: A Máquina Virtual e seu Mercado de Trabalho
 
Sistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOASistemas Distribuídos: RMI, CORBA e SOA
Sistemas Distribuídos: RMI, CORBA e SOA
 
[Roadsec23] Dominando Angular com o ChatGPT
[Roadsec23] Dominando Angular com o ChatGPT[Roadsec23] Dominando Angular com o ChatGPT
[Roadsec23] Dominando Angular com o ChatGPT
 
[MoT] :: MURAL DE VAGAS - JUL.AGO.2019
[MoT] :: MURAL DE VAGAS - JUL.AGO.2019[MoT] :: MURAL DE VAGAS - JUL.AGO.2019
[MoT] :: MURAL DE VAGAS - JUL.AGO.2019
 
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle ManagementCampus Party Brasil 2010 - ALM - Application Lifecycle Management
Campus Party Brasil 2010 - ALM - Application Lifecycle Management
 
Contr avali engenharia de software-introdução
Contr avali   engenharia de software-introduçãoContr avali   engenharia de software-introdução
Contr avali engenharia de software-introdução
 
Introducao ao .Net
Introducao ao .NetIntroducao ao .Net
Introducao ao .Net
 
CV - Andre De Conto Matter
CV - Andre De Conto MatterCV - Andre De Conto Matter
CV - Andre De Conto Matter
 

Mais de Rafael Pacheco

Como criar e publicar um chatbot
Como criar e publicar um chatbotComo criar e publicar um chatbot
Como criar e publicar um chatbotRafael Pacheco
 
Google home and actions
Google home and actionsGoogle home and actions
Google home and actionsRafael Pacheco
 
Chatbot - A revolução da comunicação entre pessoas e empresas
Chatbot - A revolução da comunicação entre pessoas e empresasChatbot - A revolução da comunicação entre pessoas e empresas
Chatbot - A revolução da comunicação entre pessoas e empresasRafael Pacheco
 
Boas práticas para a construção de chatbots relevantes.
Boas práticas para a construção de chatbots relevantes.Boas práticas para a construção de chatbots relevantes.
Boas práticas para a construção de chatbots relevantes.Rafael Pacheco
 
Como ser um profissional no desenvolvimento de software
Como ser um profissional no desenvolvimento de softwareComo ser um profissional no desenvolvimento de software
Como ser um profissional no desenvolvimento de softwareRafael Pacheco
 
Como ser um 'profissional' no desenvolvimento de código.
Como ser um 'profissional' no desenvolvimento de código.Como ser um 'profissional' no desenvolvimento de código.
Como ser um 'profissional' no desenvolvimento de código.Rafael Pacheco
 
Apresentação Take.Net MTC2015
Apresentação Take.Net MTC2015Apresentação Take.Net MTC2015
Apresentação Take.Net MTC2015Rafael Pacheco
 
Criando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairyCriando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairyRafael Pacheco
 
Resumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POAResumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POARafael Pacheco
 

Mais de Rafael Pacheco (12)

Como criar e publicar um chatbot
Como criar e publicar um chatbotComo criar e publicar um chatbot
Como criar e publicar um chatbot
 
Google home and actions
Google home and actionsGoogle home and actions
Google home and actions
 
Chatbot - A revolução da comunicação entre pessoas e empresas
Chatbot - A revolução da comunicação entre pessoas e empresasChatbot - A revolução da comunicação entre pessoas e empresas
Chatbot - A revolução da comunicação entre pessoas e empresas
 
Boas práticas para a construção de chatbots relevantes.
Boas práticas para a construção de chatbots relevantes.Boas práticas para a construção de chatbots relevantes.
Boas práticas para a construção de chatbots relevantes.
 
Como ser um profissional no desenvolvimento de software
Como ser um profissional no desenvolvimento de softwareComo ser um profissional no desenvolvimento de software
Como ser um profissional no desenvolvimento de software
 
MVVM – Hello World
MVVM – Hello WorldMVVM – Hello World
MVVM – Hello World
 
Como ser um 'profissional' no desenvolvimento de código.
Como ser um 'profissional' no desenvolvimento de código.Como ser um 'profissional' no desenvolvimento de código.
Como ser um 'profissional' no desenvolvimento de código.
 
Let's go log!
Let's go log!Let's go log!
Let's go log!
 
Coded UI
Coded UICoded UI
Coded UI
 
Apresentação Take.Net MTC2015
Apresentação Take.Net MTC2015Apresentação Take.Net MTC2015
Apresentação Take.Net MTC2015
 
Criando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairyCriando um ambiente real de distribuição de aplicativos usando TestFairy
Criando um ambiente real de distribuição de aplicativos usando TestFairy
 
Resumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POAResumo do TheDeveloperConference 2014 - POA
Resumo do TheDeveloperConference 2014 - POA
 

Introdução ao Modelo de Atores e Akka