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.

DevCommerce Conference 2016: Concorrência em aplicações que exigem baixa latência e alta disponibilidade

192 views

Published on

Guilherme Roveri e Eder Magalhães, Arquitetos de Software Netshoes, palestraram sobre "Concorrência em aplicações que exigem baixa latência e alta disponibilidade", no DevCommerce Conference 2016.

O DevCommerce Conference 2016 aconteceu nos dias 06 e 07 de junho de 2016, no Hotel Tivoli em São Paulo-SP http://devcommerce2016.imasters.com.br/

Published in: Education
  • Be the first to comment

  • Be the first to like this

DevCommerce Conference 2016: Concorrência em aplicações que exigem baixa latência e alta disponibilidade

  1. 1. Concorrência, baixa latência e alta disponibilidade
  2. 2. HELLO! Guilherme Roveri Arquiteto de Software – Grupo Netshoes @gbroveri 2 Eder Magalhães Arquiteto de Software – Grupo Netshoes @edermag
  3. 3. Agenda ▫  Realidade de um e-commerce ▫  Alguns desafios ▫  Caso de uso: Inventário ▫  Arquitetura LMAX ▫  Solução Proposta ▫  Conclusões ▫  Referências 3
  4. 4. Realidade ▫  Negócio dinâmico ▫  Marketing digital agressivo ▫  Oferecer ótima experiência de compra ▫  Evolução contínua nos bastidores ▫  Sazonalidade: Blackfriday 4
  5. 5. Concorrência Disputa frenética ao acesso a recursos partilhados… 5
  6. 6. Latência Intervalo de tempo entre a ação e o efeito… 6
  7. 7. Disponibilidade Percentual de tempo em que o sistema está no ar… 7
  8. 8. Caso de uso COMO um provedor e-commerce PRECISO de um mecanismo robusto para gerenciar o inventário PARA evitar perdas E garantir satisfação dos clientes 8
  9. 9. LMAX ▫  Plataforma para comercialização de produtos do mercado financeiro para varejo ▫  Eliminar concorrência ▫  Regras de negócio usando memória e event sourcing ▫  Alto throughput c/ baixa latência ▫  Ex: 6 milhões de transações por seg 9
  10. 10. LMAX Composto por 3 segmentos: 10
  11. 11. Business Logic Processor ▫  Fluxo de negócio ▫  Single thread ▫  Sem acesso a banco de dados ▫  Sem controle transacional ▫  Manipulação em memória 11
  12. 12. Arquitetura 12
  13. 13. Fila + NoSQLProposta de arquitetura c/ Fila e NoSQL p/ solução de controle de inventário 13
  14. 14. Inventário ▫  Operações crédito e débito; ▫  Particionamento de Produtos; ▫  Single thread p/ Consumidor; 14
  15. 15. Inventário 15 Business Debit / Credit NoSQL Persistence REST Endpoint Message Broker
  16. 16. Inventário 16 Business Debit / Credit NoSQL Persistence Request REST Endpoint Message Broker
  17. 17. Inventário 17 Business Debit / Credit NoSQL Persistence Request Partition REST Endpoint Message Broker Request Queues
  18. 18. Inventário 18 Business Debit / Credit NoSQL Persistence Consumer Partition Request Partition REST Endpoint Message Broker Request Queues
  19. 19. Inventário 19 Business Debit / Credit NoSQL Persistence Consumer Partition Request Partition REST Endpoint Message Broker Request Queues
  20. 20. Inventário 20 Business Debit / Credit NoSQL Persistence Consumer Partition Partition Request Partition REST Endpoint Message Broker Request Queues
  21. 21. Inventário 21 Business Debit / Credit Reply Queues Consumer Partition Partition NoSQL Persistence Request Partition REST Endpoint Message Broker Request Queues
  22. 22. Inventário 22 Request Business Debit / Credit Response Reply Queues Partition Consumer Partition Request Queues Message Broker Partition NoSQL Persistence REST Endpoint
  23. 23. Inventário Tecnologias 23 Request Business Debit / Credit Response Reply Queues Partition Consumer Partition Partition ü  Spring Java; ü  Spring Cloud; ü  RabbitMQ ü  Cassandra REST Endpoint Message Broker NoSQL Persistence Request Queues
  24. 24. Conclusão ▫  O drive é o negócio ▫  Experimentar tecnologias ▫  Clean code: testes + testes + testes 24
  25. 25. Referências ▫  https://www.infoq.com/presentations/LMAX ▫  https://github.com/LMAX-Exchange ▫  http://martinfowler.com/articles/lmax.html ▫  http://www.datastax.com/dev/blog/scalable- inventory ▫  http://henryr.github.io/cap-faq/ ▫  http://www.slideshare.net/edermag 25
  26. 26. 26 Obrigado Questões? ▫  gbroveri@gmail.com ▫  edermag@gmail.com

×