Fundamentos de CQRS

Post on 11-Jan-2015

914 views 5 download

description

Minha palestra, sobre CQRS, no

Transcript of Fundamentos de CQRS

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Fundamentos de CQRSElemar Júnior

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

P&D na Promob (www.promob.com)há ~15 anos!

Programação, arquitetura,carreira, filosofia, ...

elemarjr.net

elemarjr.github.comvoidpodcast.com

Elemar Who!?

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResposibilitySegregation

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResposibilitySegregation

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResponsibilitySegregation

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CommandQueryResposibilitySegregation

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

É um pattern!

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?necessidade de colaboraçãoquando múltiplos agentes (humanos ou software) usam/modificam um conjunto limitado de dados – querendo ou não colaborar – com ou sem regras definidas;

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?“envelhecimento potencial”já que, em um ambiente colaborativo, uma vez que um dado tenha sido apresentado para um agente, esse mesmo dado pode ter sido alterado por outro.

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Quando usar?Quando “disponibilidade” e “tolerânciaa particionamento” for indispensável!

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

CAP Theorem

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

atomicity * consistency * isolation * durability

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

E o tal Event-Sourcing

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Event-SourcingForma de persistir o estado da aplicação usando a "combinação" doseventos geradores.

Permite a recuperação do estado em qualquer "tempo"

Twitter [@elemarjr] | Facebook [facebook.com/elemarjr] | Blog [elemarjr.net]

Teria bem mais...