Sistemas reativos (eBook)
338 Seiten
Casa do Código (Verlag)
978-65-86110-83-8 (ISBN)
Neste livro, Guilherme Moraes aborda a aplicação da perspectiva reativa no desenvolvimento para garantir que seus sistemas sejam mais resilientes, elásticos e responsivos. Você passará por conceitos complexos da Arquitetura de Software e sistemas distribuídos, mas em uma aprendizagem envolvente com doses cavalares de humor e descontração, estabelecendo relações práticas com muito do que você já faz em seu dia a dia. E, meio sem perceber, você ampliará sua perspectiva sobre software e nunca mais reagirá da mesma maneira ao escutar a seguinte pergunta: "A gente já chegou?".
Nascido e criado em Fortaleza (CE) e também conhecido como a cintura mais solta do oeste, comecei a tentar programar com apenas 13 anos e hoje, orgulhosamente, digo que ainda estou na peleja. Quase 20 anos depois, virei bacharel em Ciências da Computação com ênfase em Engenharia de Software, especialista em Engenharia de Software Ágil e 32% mestre em Computação Aplicada que, pelo andar da carruagem, só devo concluir por volta de 2045. Tive também a oportunidade de trabalhar em empresas das quais me orgulho muito, como ThoughtWorks, iFood e Amazon Web Services (AWS) - Canadá e nas mais diversas áreas, como desenvolvimento web, internet das coisas, sistemas embarcados e até desenvolvimento de jogos. Dedico muito do meu tempo ao desenvolvimento de uma infinidade de projetos pessoais que podem ser conferidos em pagehub.me/virgs e github.com/virgs.
Parte 1: A qualidade e o propósito
1 O bom e o ruim
1.1 O propósito do código
1.2 O código bom
1.3 Como ler o livro
Parte 2: Mais uma vez microsserviços...
2 Afinal, o que são microsserviços?
2.1 Definição de microsserviços
2.2 Justificativa
2.3 Conclusão
3 Características dos microsserviços
3.1 Autonomia, autonomia, autonomia e compensação
3.2 Conclusão
4 Microsserviços e a Orientação a Objetos
4.1 Princípios de OO nos microsserviços
4.2 Princípios SOLID nos microsserviços
4.3 Conclusão
Parte 3: Sistemas reativos
5 Um discurso de ódio à proatividade
5.1 Diga, não peça
5.2 Conclusão
6 A Reatividade diz "olar"
6.1 Propriedades reativas
6.2 Conclusão
7 Dificuldades da reatividade
7.1 Distribuição de dados
7.2 Desempenho reativo
7.3 Conversão à reatividade
7.4 Conclusão
8 Orientação a Objeto Orientada a Mensagens Reativas
8.1 Regras da OOOMR
8.2 Serviços | Objetos
8.3 E não é que funciona?
8.4 Resultado do experimento
8.5 Conclusão
Parte 4: Orientação a Mensagens
9 Mensagens distribuídas
9.1 Conceito
9.2 Decomposição de mensagens
9.3 CQRS
9.4 Orientação a Mensagens vs Orientação a Eventos
9.5 Conclusão
10 Controle de vazão
10.1 Processamento em lote
10.2 Contrapressão
10.3 Conclusão
11 Mensagens poliglotas
11.1 Protocolos de comunicação
11.2 Fluxos poliglotas
11.3 Conclusão
12 Por que (de novo) REST/http?
12.1 Dando número aos bois
12.2 Por que http?
12.3 Por que não http?
12.4 Conclusão
Parte 5: Elasticidade
13 Distribuição elástica
13.1 Química dos dados
13.2 Transações ACID
13.3 Transações BASE
13.4 Balanceamento ACID-BASE
13.5 Conclusão
14 Jogo de dados
14.1 Disputa de dados
14.2 Transações frustradas
14.3 Teorema CAP
14.4 Escalabilidade
14.5 Escalabilidade dinâmica
14.6 Técnicas de escalabilidade
14.7 Conclusão
15 Inconsistência distribuída
15.1 Erros de fluxos concorrentes
15.2 Princípio do Escritor Único
15.3 Lá e de volta outra vez: ACID 2.0
15.4 Conclusão
16 O inferno da consistência
16.1 O que é consistência
16.2 Consistência no mundo distribuído
16.3 Modelos de consistência
16.4 Conclusão
Parte 6: Resiliência
17 Fluxos resilientes
17.1 Disponibilidade
17.2 Defeitos, erros e falhas
17.3 Padrões de resiliência
17.4 A resiliência corrói a robustez
17.5 Conclusão
18 Transações distribuídas
18.1 Uma jornada inesperada
18.2 Confirmação de duas fases (2PC)
18.3 SAGA
18.4 Conclusão
19 Coordenação de fluxos
19.1 Orquestração
19.2 Coreografia
19.3 Orquestração vs. coreografia
19.4 Abordagem híbrida
19.5 Conclusão
20 Observabilidade de sistemas
20.1 Observabilidade
20.2 Alertas
20.3 Pilares da observabilidade
20.4 Conclusão
Parte 7: Responsividade
21 O negócio e a responsividade
21.1 Capacidade de resposta
21.2 Usuário vs. desenvolvedor
21.3 O propósito do sistema
21.4 Conclusão
Parte 8: Considerações finais
22 Fim
23 Bibliografia
| Erscheint lt. Verlag | 10.9.2021 |
|---|---|
| Verlagsort | São Paulo |
| Sprache | portugiesisch |
| Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
| Schlagworte | Arquitetura de Software • Desenvolvimento de Software • Programação • Programação reativa • reactive programming • Reatividade • responsividade |
| ISBN-10 | 65-86110-83-1 / 6586110831 |
| ISBN-13 | 978-65-86110-83-8 / 9786586110838 |
| Informationen gemäß Produktsicherheitsverordnung (GPSR) | |
| Haben Sie eine Frage zum Produkt? |
Kopierschutz: Adobe-DRM
Adobe-DRM ist ein Kopierschutz, der das eBook vor Mißbrauch schützen soll. Dabei wird das eBook bereits beim Download auf Ihre persönliche Adobe-ID autorisiert. Lesen können Sie das eBook dann nur auf den Geräten, welche ebenfalls auf Ihre Adobe-ID registriert sind.
Details zum Adobe-DRM
Dateiformat: EPUB (Electronic Publication)
EPUB ist ein offener Standard für eBooks und eignet sich besonders zur Darstellung von Belletristik und Sachbüchern. Der Fließtext wird dynamisch an die Display- und Schriftgröße angepasst. Auch für mobile Lesegeräte ist EPUB daher gut geeignet.
Systemvoraussetzungen:
PC/Mac: Mit einem PC oder Mac können Sie dieses eBook lesen. Sie benötigen eine
eReader: Dieses eBook kann mit (fast) allen eBook-Readern gelesen werden. Mit dem amazon-Kindle ist es aber nicht kompatibel.
Smartphone/Tablet: Egal ob Apple oder Android, dieses eBook können Sie lesen. Sie benötigen eine
Geräteliste und zusätzliche Hinweise
Buying eBooks from abroad
For tax law reasons we can sell eBooks just within Germany and Switzerland. Regrettably we cannot fulfill eBook-orders from other countries.
aus dem Bereich