Utilizando MongoDB com .NET
em E-Commerce
André Nobre
Apresentação realizada no dia 13/07/2012, no MongoDB São Paulo.
André Nobre
Arquiteto de Soluções
Trabalha na NBR Tecnologia, em Londrina –
PR
@avnobre
+
?Nova plataforma de e-commerce
Interface diferenciada
Perspectiva de grande acesso
3 meses
Inúmeras interações e
diversas buscas
Não há hierarquia entre produtos
Nosso Desafio
Algumas observações sobre e-commerce
Uma das principais preocupações...
O Catálogo!
10 mil produtos ativos
5k usuários simultâneos
Mudanças constantes de preço,
catálogo e estoque
10 100 mil produtos ativos
5k 25k usuários simultâneos
Mudanças constantes de preço,
catálogo e estoque
100 500 mil produtos ativos
25k 35k usuários simultâneos
Mudanças constantes de preço,
catálogo e estoque
Loja
Loja Loja Loja Loja
Loja
Loja Loja Loja Loja
Catalog
(~500k)
Flexibilidade
Complexidade
A análise do problema
A análise do problema.
Nós precisamos de:
Algo que permita diversas estruturas de
produtos (schema free);
Performance em escrita, mas muito mais em
leitura;
Facilidade de adoção pelos DEVs;
Drivers com suporte e evolução;
Possibilidade de crescimento
horizontal, failover, etc;
Estrutura da empresa proprietária;
Qual foi a abordagem?
Foco
Navegação (Catálogo)
Carrinhos (Ativo e
Abandonados)
Log
Ferramentas Administrativas
Rápida Alteração do Catálogo
Atualizações de Estoque
Compartilhamento dos
Produtos
Como nós estruturamos?
Integração de
Catálogo
Message
Queue
Processament
o da
Mensagem
Inserção no
MongoDBAtivo no SiteMonitoramento
Melhorias
Como nós estruturamos?
Integração de
Catálogo
Message
Queue
Processament
o da
Mensagem
Inserção no
MongoDBAtivo no SiteMonitoramento
Melhorias
Como nós estruturamos?
Inserção no MongoDBUma collection para cada recurso
Produtos Carrinhos
Log ...
Como nós estruturamos?
Integração de
Catálogo
Message
Queue
Processament
o da
Mensagem
Inserção no
MongoDBAtivo no SiteMonitoramento
Melhorias
SnapshotsSnapshotsSnapshotsSnapshotsSnapshotsSnapshotsSnapshotsSnapshotsSnapshots
Monitorando o MongoDB
Ferramentas e Comandos
MMSMongoDB Monitoring Service
A free, cloud-based
monitoring and alerting
solution for all MongoDB
deployments.
mongotop
mongostat
serverStatus
E a infra-estrutura?
Uso de CPU extremamente baixo;
Considerar Memória e Disk I/O;
1 2 3 (Replica) 4 (Sharding)
E a infra-estrutura?
Uso de CPU extremamente baixo;
Considerar Memória e Disk I/O;
1 2 3 (Replica) 4 (Sharding)
Replica-Set no AWS
Região 1Ex.: us-east-1a
Secundário Primário Secundário
Região 2Ex.: sa-east-1
Região 3Ex.: ap-southeast-1
E Azure não?
Obrigado!
André Nobre
@avnobre
Recommended