( Padrões para construção de sistemas distribuídos para a empresa )
Distributed Systems
Goals Reliable Scalable Maintainable
Tools Mathematical models Patterns Practices
This Course
Patterns CQRS Event Sourcing Domain Driven Design Event Driven Architectures
Theory CAP Theorem Eventual Consistency Full and Partial Order
Practice Services Queues Enterprise Service Busses Sagas Histories
Foi postulada por Dr. Eric Brewer em 2000
Ele descreve o comportamento de um sistema distribuido.
Em um sistema cheio de nó, onde em um dos nó, gravamos uma informação e recuperamos esta informação em outro nó.
Consistência
Disponibilidade
Tolerância a partição
( Podemos garantir somente dois, não todos. )
Uma informação gravada em um nó será recuperada em outro nó sempre atualizada.
Cada leitura recebe a escrita mais recente ou um erro
Um informação tem um tempo para ser disponibilizado
Cada pedido recebe uma resposta (sem erro) - sem garantia de que contém a escrita mais recente
Um conjunto de nó pode ser separados em redes diferentes, onde essas redes fiquem mutuamente desconectadas.
O sistema continua a funcionar apesar de um número arbitrário de mensagens serem descartadas (ou atrasadas) pela rede entre nós.
Ubiquitous Languege (Linguagem Ubiquitous)
Bounded Context (Limitada Contextos)
Aggregate Roots (Raízes agregadas)