Successfully reported this slideshow.
We use your LinkedIn profile and activity data to personalize ads and to show you more relevant ads. You can change your ad preferences anytime.

Microsserviços - Lições Aprendidas, Padrões e Práticas

1,334 views

Published on

Arquiteturas baseadas em Microsserviços não são fáceis de implementar. Nessa palestra, compartilho um pouco das lições que aprendi, no campo de batalha, implementando arquiteturas baseadas em microsserviços. Trata-se de um pequeno catálogo de recomendações.

Published in: Software

Microsserviços - Lições Aprendidas, Padrões e Práticas

  1. 1. Compila��o de Li��es Aprendidas Vers�o APIX 2018 ELEMAR JR | falecom@elemarjr.com MICROSSERVI�OS: BOAS PR�TICAS DO CAMPO DE BATALHA
  2. 2. S�o as cicatrizes que contam a hist�ria do guerreiro.
  3. 3. #0 EVIDENCIE A ARQUITETURA!
  4. 4. Componentes + Responsabilidades + Relacionamentos Estrat�gia
  5. 5. ARQUITETURA DE SOFTWARE
  6. 6. #1 FOQUE NOS OBJETIVOS DO NEG�CIO!
  7. 7. Complexidade do Dom�nio Complexidade do Legado Complexidade da Solu��o T�cnica Complexidade do Software
  8. 8. Complexidade do Dom�nio Complexidade do Legado Complexidade da Solu��o T�cnica Complexidade do Software Complexidade Essencial Complexidade Acidental
  9. 9. Complexidade do Dom�nio Complexidade do Legado Complexidade da Solu��o T�cnica Complexidade do Software Complexidade Essencial Complexidade Acidental
  10. 10. Complexidade do Dom�nio Complexidade do Legado Complexidade da Solu��o T�cnica Complexidade do Software Complexidade Essencial Complexidade Acidental
  11. 11. LEMBRETE: Complexidade � CUSTO!
  12. 12. Capacidade de manter o Sistema Est�vel Resposta R�pida para Demandas do Neg�cio
  13. 13. #2 N�O REINVENTE A RODA.
  14. 14. http://bit.ly/elemarjr-fiefdom
  15. 15. DESACOPLAMENTO
  16. 16. #2 N�o fragmente demais. COMECE COM OS BOUNDED CONTEXTS!
  17. 17. #3 PROCESSOS> DADOS
  18. 18. #4 N�O COMPARTILHE BANCOS DE DADOS!
  19. 19. Sales Support
  20. 20. Sales Support
  21. 21. Sales Support
  22. 22. Sales Support
  23. 23. Sales Support
  24. 24. Sales Support Shopping Cart
  25. 25. #4.1 N�O COMPARTILHE BANCOS DE DADOS - USE SAGAS!
  26. 26. Sales FinancialLogistic Delivery Criar o Pedido Separar Produto Efetivar Cobran�a Iniciar Entrega
  27. 27. Sales FinancialLogistic Delivery Criar o Pedido Separar Produto Efetivar Cobran�a Iniciar Entrega TRANSA��O
  28. 28. Sales FinancialLogistic Delivery Criar o Pedido Separar Produto Efetivar Cobran�a Iniciar Entrega TRANSA��O Devolver DinheiroDevolver ProdutoCancelar PedidoA��o Compensat�ria
  29. 29. Sales FinancialLogistic Delivery Criar o Pedido Separar Produto Efetivar Cobran�a Iniciar Entrega Devolver DinheiroDevolver ProdutoCancelar PedidoA��o Compensat�ria SAGA
  30. 30. Sales FinancialLogistic Delivery Criar o Pedido Separar Produto Efetivar Cobran�a Iniciar Entrega SAGA Devolver DinheiroDevolver ProdutoCancelar PedidoA��o Compensat�ria SAGA MANAGER
  31. 31. #5 IDENTIDADE! IDENTIDADE!
  32. 32. Sales Support Shopping CartIdentidade
  33. 33. #6 SEJA CONSISTENTE!
  34. 34. Sales Support Shopping CartIdentidade API GATEWAY WEB MOBILE
  35. 35. #6 PREOCUPE-SE COM DISPONIBILIDADE!
  36. 36. Sales Support Shopping CartIdentidade API GATEWAY WEB MOBILE
  37. 37. Sales Support Shopping CartIdentidade API GATEWAY WEB MOBILE 99% 99%
  38. 38. Sales Support Shopping CartIdentidade API GATEWAY WEB MOBILE 99% 99% 98%
  39. 39. Sales Support Shopping CartIdentidade API GATEWAY WEB MOBILE 99% 99% 99%
  40. 40. Sales Support Shopping CartIdentidade API GATEWAY WEB MOBILE
  41. 41. API GATEWAY WEB MOBILE Identidade Sales Shopping Cart Support Shopping Cart LB
  42. 42. #7 BUSQUE ABSTRA��ES SIMPLES
  43. 43. App Core (Domain) WebAPI Queue Subscriber Domain Events Publisher PersistenceAgent OtherService Integration
  44. 44. http://bit.ly/elemarjr-mais-4-recomendacoes
  45. 45. #8 DOCUMENTE CONSISTENTEMENTE
  46. 46. App Core (Domain) WebAPI Queue Subscriber Domain Events Publisher PersistenceAgent OtherService Integration OpenAPISpec
  47. 47. http://bit.ly/elemarjr-falhas
  48. 48. #9 CONTAINERS! CONTAINERS!
  49. 49. http://bit.ly/elemarjr-mais-4-recomendacoes
  50. 50. #10 PREPARE-SE PARA FALHAS!
  51. 51. Sales Shopping CartShopping Cart X What If?
  52. 52. Sales Shopping CartShopping Cart X What If? Retry!
  53. 53. Consumer ProducerCircuit breaker
  54. 54. Closed Open Half-Open Sucesso Uma Tentativa Bem Sucedida Fail Fast Falha Sucesso Falha
  55. 55. Sales Shopping CartShopping Cart X What If?
  56. 56. http://bit.ly/elemarjr-consumir-microsservicos
  57. 57. http://bit.ly/elemarjr-consumir-microsservicos
  58. 58. http://bit.ly/elemarjr-consumir-microsservicos
  59. 59. http://bit.ly/elemarjr-consumir-microsservicos
  60. 60. http://bit.ly/elemarjr-saude-microsservicos
  61. 61. http://bit.ly/elemarjr-saude-microsservicos
  62. 62. #11 ...
  63. 63. DESACOPLAMENTO
  64. 64. Compila��o de Li��es Aprendidas Vers�o APIX 2018 ELEMAR JR | falecom@elemarjr.com MICROSSERVI�OS: BOAS PR�TICAS DO CAMPO DE BATALHA

×