Akka & Akka Streams Construa sistemas distribuídos com atores
Alexandre LourençoConteúdo
No mundo em que vivemos, com uma quantidade de dados cada vez maior trafegando para todos os lados, precisamos entender conceitos que nos permitam processar esses dados com agilidade. Isso é especialmente verdade em integrações, nas quais constantemente temos que sincronizar dados de um sistema A para um sistema B.
Neste livro, Alexandre Lourenço abordará arquiteturas distribuídas simulando sistemas reais, como integrações com sistemas de arquivos, comunicação com Kafka e bancos de dados, entre outros. Você construirá uma API REST fictícia de um e-commerce e entenderá como os frameworks Akka e Akka Streams, os paradigmas de streams e de atores podem ajudar a cumprir essa missão.
Sumário
- 1 Era uma vez um sistema...
- 2 Paralelismo: o que é e por que você deveria se interessar
- 2.1 Processos
- 2.2 Threads
- 2.3 Concorrência e paralelismo
- 2.4 Compartilhamento de dados entre threads
- 2.5 Deadlocks
- 3 Trabalhando com atores no Akka
- 3.1 Atores
- 3.2 Nosso primeiro ator
- 3.3 Nosso segundo ator
- 3.4 Múltiplas mensagens e observadores (watchers)
- 3.5 Entregando mensagens com atraso (delayed messages)
- 4 Ciclo de vida e tratativa de erros em atores
- 4.1 Estados de um ator
- 4.2 Supervisores
- 4.3 Atores de ciclo de vida
- 4.4 DeadLetters
- 5 Construindo uma API: parte 1 - criando a persistência e serviços
- 5.1 Montando o ambiente
- 5.2 Fazendo a nossa primeira chamada HTTP
- 5.3 Modelando o acesso a banco de dados da nossa API
- 5.4 Conceitos básicos do Slick e criando nossos repositórios
- 5.5 Criando os serviços da aplicação
- 6 Construindo uma API: parte 2 - criando os endpoints e testando
- 6.1 Criando os endpoints da aplicação
- 6.2 Testando os endpoints
- 6.3 Acessando uma API externa
- 6.4 Medindo a robustez da nossa aplicação
- 7 Introdução ao Akka Streams
- 7.1 Conceitos do Akka Streams
- 7.2 Nossa primeira stream
- 8 Integrações do mundo real com Akka Streams
- 8.1 Integrando um sistema de arquivos com o Apache Kafka
- 8.2 Integrando o Kafka com uma base de dados relacional
- 8.3 Integrando o Kafka com APIs REST
- 9 Testes automatizados com Akka e Akka Streams
- 9.1 Testes no Akka
- 9.2 Testes no Akka Streams
- 10 Conclusão
Autor
Alexandre Lourenço
Formado em Ciência da Computação pela PUC-SP com pós-graduação pelo UNIBTA, Alexandre Eleutério Santos Lourenço trabalha com desenvolvimento de software desde 2003. Atuou com diversos frameworks, ferramentas e linguagens, como Elasticsearch, Kafka, Docker, Kubernetes, Java, Python, Scala, entre outras e, é claro, Akka Streams, tendo trabalhado com a tecnologia em desenvolvimentos ligados a integrações e sistemas de geolocalização.
Dados do produto
- Número de páginas:
- 184
- ISBN:
- 978-65-86110-90-6
- Data publicação:
- 12/2021