Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy...

21
Circuit Breaker Implementação com Azure Functions e Service Bus

Transcript of Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy...

Page 1: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Circuit BreakerImplementação com Azure Functions e Service Bus

Page 2: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

índi

ce 1. Circuit Breaker Pattern

2. Azure Functions

3. Estudo de caso

Page 3: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Circuit Breaker Pattern

Page 4: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Sistemas distribuídos

Chamadas através da

rede

Serviços indisponíveis ou com alta

latência

Falhas em Cascata

Cenário atual

Circuit Breaker Pattern

Page 5: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Definição

Circuit Breaker Pattern

“O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas em uma chamada e deve decidir se permite que a operação continue ou retorne uma exceção imediatamente.” (Cruz, Rafael)

Page 6: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Vantagens

Circuit Breaker Pattern ●Falhar rápido

●Retorno de erro customizado

●Não derrubar o ambiente

Page 7: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas
Page 8: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Azure Functions

Page 9: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Definição

Azure Functions ●Serverless

●Dimensionamento escalonável

●Múltiplas linguagens de programação

● .NET, Javascript, Java, Python

Page 10: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Cobrança

Azure Functions ●Quantidade de execuções

●Tempo de execução

●Consumo de memória

Page 11: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Gatilhos

Azure Functions ●Blob Trigger

●Cosmos DB Trigger

●Http Trigger

●ServiceBus Trigger

●Timer Trigger

Page 12: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Estudo de caso

Page 13: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Estudo de caso

Circuit Breaker Pattern ● Integração com sistema terceiro

●Qtde. Mensagens: 200.000 / dia

● Indisponibilidade: 45 minutos / mês

●Timeout padrão: 30 s

Page 14: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Estudo de caso

Circuit Breaker Pattern ●Tentativas de entrega: 10 (padrão)

●Memória: 512 MB

●Qtde. mens. afetadas: 6250 / mês

●Custo de execução: R$ 109,53 / mês

● Tam. Memória x Tempo Exec. x Qtde. Exec.

Page 15: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas
Page 16: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas
Page 17: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas
Page 18: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas
Page 19: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

"Breakers on their own are valuable, but clients using them need to react to breaker failures.”

(Fowler, Martin)

Page 20: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Referências

Circuit Breaker Pattern

● https://martinfowler.com/bliki/CircuitBreaker.html

● https://itnext.io/understand-circuitbreaker-design-pattern-with-simple-practical-example-92a752615b42

● https://itnext.io/understand-circuitbreaker-design-pattern-with-simple-practical-example-92a752615b42

● https://rafaelcruz.azurewebsites.net/2018/05/22/implementando-o-circuit-breaker-pattern-parte-1/

● https://rafaelcruz.azurewebsites.net/2018/06/11/implementando-o-circuit-breaker-pattern-parte-2/

Page 21: Circuit Breaker - Amazon S3€¦ · Circuit Breaker Pattern “O Circuit Breaker atua como um proxy em operações que podem falhar. Esse proxy monitora o número de falhas ocorridas

Givaldo Moreira

MUITO OBRIGADO!

www.dtidigital.com.br