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

66 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
0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
66
On SlideShare
0
From Embeds
0
Number of Embeds
2
Actions
Shares
0
Downloads
0
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

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

×