# Migración sell-api
## Table of Contents
[TOC]
## Análisis
**Sell-api** maneja la información del usuario en los flujos de venta y también datos de sesión para los mismos. Para esto utiliza redis y elastic search
### Redis servers
Para la conexión a redis de terceros (sell-syi) utiliza [nutcraker](https://github.com/twitter/twemproxy), una herramienta de twitter, que es una especie de proxy para acceder a los servers de forma transparente y optimizada.
Respecto de los Redis locales, cada instancia se levanta en el puerto por defecto de redis (6379) y al iniciar se registra como slave de la primera instancia levantada :D (ver [service-init.sh](https://github.com/mercadolibre/sell-api/blob/master/redis/meli/bin/service-init.sh#L11))
```
curl api.melicloud.com/compute/pools/sell-api-redis-store-master/instances -H 'accept: text/plain'
e-0001dc50.melicloud.com
e-0001dc51.melicloud.com
e-0001dc52.melicloud.com
curl api.melicloud.com/compute/pools/sell-api-redis-spasession-master/instances -H 'accept: text/plain'
e-0001f38c.melicloud.com
e-0001f3e8.melicloud.com
e-0001f410.melicloud.com
curl api.melicloud.com/compute/pools/sell-api-redis-syisession-master/instances -H 'accept: text/plain'
e-0001d309.melicloud.com
e-0001f6f9.melicloud.com
```
### Diagrama Arq. Redis
<img src="https://cacoo.com/diagrams/dnrXSFNBKlFiKdih-12ADE.png" />
Milestones
---
```mermaid
gantt
title Sell-API Migration Milestones
section Web
API en Fury :a1, 2014-01-01, 30d
Rollout :after a1 , 20d
section Services
Redis Local :2014-01-12 , 12d
Redis Remote :2014-01-12 , 12d
ElasticSearch : 24d
```
> [mermaid syntax](http://mermaid-js.github.io/mermaid/)