AKKA.

Slides:



Advertisements
Apresentações semelhantes
Tecnologias para Internet Thyago Maia Tavares de Farias Aula 19.
Advertisements

Ferramenta de apoio aos testes baseados em requisitos Acadêmico: Leandro da Cunha Orientador: Everaldo Artur Grahl.
Programando em Python Claudio Esperança. Por que programar? É divertido Melhor que usar programas feitos por outros Fazer programas = resolver quebra-cabeças.
Diagrama de Use Cases. Objetivo  O Diagrama de Use Cases tem o objetivo de auxiliar a comunicação entre os analistas e o cliente.
Arquitetura de Sistemas de Software. Introdução as tecnologias Web Services: SOAP, WSDL, UDDI  No ano de 2000, a W3C (World Wide Web Consortium) aceitou.
Você já conhece as ferramentas que estarão à sua disposição para a mediação com os alunos? Então venha comigo!

Prof. Anderson Terroso Março/2017
Heurísticas de Usabilidade de Jakob Nielsen
“Modelo de Camadas OSI e TCP/IP ” Nataniel Vieira
Introdução e Conceitos.
UNIVERSIDADE FEDERAL DE GOIÁS INSTITUTO DE INFORMÁTICA
Diagrama de Sequencia Prof. Thales Castro.
Introdução ao OpenMP Open MultiProcessing.
ASP.NET Passo a Passo AJAX
Módulo VII – O Sistema de Informações de Marketing (S.I.M)
UML – Diagramas de componentes
Diagrama de Use Cases.
Sistemas Distribuídos Aula 7
Browser Um browser (web browser), ou navegador, é um programa de computador que permite aceder a documentos virtuais da Internet, também conhecidos como.
APROM Aplicação para Gestão de Projetos
Aula 05 Pilha TCP/IP.
Técnicas de detecção e correcção de erros em transmissões digitais
Sistema Automatizado de Hospedagem de Sites
AMBIENTE MULTIMÍDIA DE SUPORTE À DISCIPLINA DE PÓS-GRADUAÇÃO
REDES INDUSTRIAIS TREINAMENTO ELIPSE E3 Capítulo 3 Alunos: Bruno Nunes
Método de Christian: precisão
Programação Gráfica em Java Animação
Wordpress.
UML – Diagramas de Componentes e Modelação da Arquitectura Física
SISTEMAS OPERACIONAIS
Workshop Agile tdd - Test Driven development
Arquitetura de Computadores
NoSQL.
Administração de Sistemas Livres
Engenharia de Software II
Redes e Comunicação de Dados Topologia de Redes
INTRODUÇÃO À COMPUTAÇÃO PARALELA
Diógenes Pereira Jr. Igor Thiago Marques Mendonça
Apresentação Conceitual
Diagramas de Sequência
Tema do Seminário: Frameworks para desenvolvimento Web Linguagem e Técnicas de Programação II – LTP2 Professor: Uedson Reis.
Programação para Internet Rica
Programação para Internet Rica
Programação.
A decisão de Concessão de Crédito
Roteiro Motivação Proposta do Trabalho Sistemas CMS Tecnologia Utilizada Gerenciador de Conteúdos Considerações Finais Trabalhos Futuros Bibliografia/Obras.
Remote Method Invocation
, operações, intervalos e desigualdades.
Uma arquitetura reflexiva Copyleft by Ana Paula Mota
DISTRIBUIÇÕES AMOSTRAIS
Sistemas Operacionais
Complexidade de Algoritmos
elaboração de plano de ação
FUNDAMENTOS DA GESTÃO DE PROCESSOS Business Process Modeling Notation
Capítulo 8 Seleção da amostra. Capítulo 8 Seleção da amostra.
Arquitetura de Sistemas Operacionais
Mestrado Profissional em Física Médica
Protocolos de comunicação - CanOpen
Estágio supervisionado na CECAE
Modelo de Análise.
Rafael Duarte Alexandre Mota [rmd,
Tecnologias de Informação e Comunicação
Prática - BD Distribuído
Metodologia Científica e Tecnológica
SISTEMAS DISTRIBUIDOS
Modelagem de Sistemas
Diagnóstico Remoto SCANIA
Arquitetura e padrões de software
Sistemas de Informação
Transcrição da apresentação:

AKKA

A Akka é um kit de ferramentas livre e de código aberto e tempo de execução simplificando a construção de aplicativos concorrentes e distribuídos na JVM. A Akka suporta múltiplos modelos de programação para a concorrência, mas enfatiza a concorrência baseada em atores.

Existem ligações de linguagem para Java e Scala. Akka está escrito em Scala e, a partir de Scala 2.10, a implementação do ator de Akka está incluída como parte da biblioteca padrão de Scala.

Original author(s) Jonas Bonér Developer(s) Lightbend Initial release July 2009 Stable release 2.5.1[1] / May 2, 2017[2] Repository github.com/akka/akka Development status Active Written in Scala Operating system Cross-platform Platform Java Virtual Machine License Apache License 2.0 Website akka.io

Concorrência é baseada em mensagens e assíncrono. Os pontos-chave que distinguem as aplicações baseadas nos atores da Akka Concorrência é baseada em mensagens e assíncrono. Normalmente, não são compartilhados dados mutables e não são utilizadas primitivas de sincronização. Akka implementa o modelo do ator.

O que é um ator em Akka? Um ator é essencialmente nada mais do que um objeto que recebe mensagens e toma ações para lidar com elas.

O que é um ator em Akka? Está desacoplado da fonte da mensagem e a sua única responsabilidade é reconhecer adequadamente o tipo de mensagem recebida e agir em conformidade.

O que é um ator em Akka? Ao receber uma mensagem, um ator pode tomar uma ou mais das seguintes ações: Execute algumas operações em si (como realizar cálculos, dados persistentes, chamar um serviço externo da Web e assim por diante) Reencaminhar a mensagem, ou uma mensagem derivada, para outro ator

O que é um ator em Akka? Instanciar um novo ator e encaminhar a mensagem para ele Alternativamente, o ator pode optar por ignorar a mensagem inteiramente (ou seja, pode escolher a inação), se considerar apropriado fazê-lo.

O que é um ator em Akka? A maneira como os atores interagem é a mesma se eles estão no mesmo host ou hosts separados, se comunicando diretamente, executando em algumas threads ou muitos threads.

O que é um ator em Akka? Esses detalhes podem ser alterados no tempo de implantação através de um mecanismo de configuração, permitindo um programa a ser ampliado (para fazer uso de servidores mais poderosos) e sair (para fazer uso de mais servidores) sem modificação.

Os atores são organizados hierarquicamente em relação às falhas do programa, que são tratadas como eventos a serem tratados pelo supervisor de um ator (independentemente do ator que enviou a mensagem que desencadeia a falha).

Akka impõe a supervisão dos pais, o que significa que cada ator é criado e supervisionado por seu ator principal.

Para implementar um ator, é necessário ampliar a característica akka Para implementar um ator, é necessário ampliar a característica akka.actor. Actor e implementar o método de recebimento. O método de recebimento de um ator é invocado (por Akka) quando uma mensagem é enviada para esse ator.

Sua implementação típica consiste em correspondência de padrões, como mostrado no seguinte exemplo Akka, para identificar o tipo de mensagem e reagir de acordo:

https://www.toptal.com/scala/concurrency-and-fault-tolerance-made-easy-an-intro-to-akka

O casamento de padrões é uma técnica relativamente elegante para lidar com mensagens, que tende a produzir código "mais limpo" e mais fácil de navegar do que uma implementação comparável baseada em retorno de chamada. Considere, por exemplo, uma implementação simplista de solicitação/resposta HTTP.