MongoDB São Paulo - Utilizando MongoDB com .NET

Post on 14-Jul-2015

308 views 0 download

Transcript of MongoDB São Paulo - Utilizando MongoDB com .NET

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