| id |
title |
type |
epic |
priority |
status |
project |
created_date |
updated_date |
| RF-SCR-002 |
Gestion de Pool de Proxies |
Functional Requirement |
IAI-007 |
Alta |
Draft |
inmobiliaria-analytics |
2026-01-04 |
2026-01-04 |
RF-IA-007-002: Gestion de Pool de Proxies
Descripcion
El sistema debe gestionar un pool de proxies residenciales para distribuir las solicitudes y evitar bloqueos por IP, incluyendo rotacion automatica, health checks y cooling periods.
Justificacion
Cloudflare y los portales inmobiliarios rastrean IPs y bloquean aquellas con comportamiento sospechoso. Un pool de proxies residenciales permite distribuir la carga y simular trafico desde multiples ubicaciones geograficas legitimas.
Requisitos Funcionales
RF-002.1: Gestion de Pool
| ID |
Requisito |
Prioridad |
| RF-002.1.1 |
El sistema debe mantener un pool de proxies residenciales |
Alta |
| RF-002.1.2 |
El sistema debe almacenar metadata de cada proxy (tipo, pais, status) |
Alta |
| RF-002.1.3 |
El sistema debe soportar multiples proveedores de proxy |
Media |
| RF-002.1.4 |
El sistema debe permitir agregar/remover proxies dinamicamente |
Media |
RF-002.2: Rotacion
| ID |
Requisito |
Prioridad |
| RF-002.2.1 |
El sistema debe rotar proxies por sesion o por request |
Alta |
| RF-002.2.2 |
El sistema debe seleccionar proxies con mejor success rate |
Alta |
| RF-002.2.3 |
El sistema debe evitar proxies en cooling period |
Alta |
| RF-002.2.4 |
El sistema debe balancear carga entre proxies disponibles |
Media |
RF-002.3: Health Checks
| ID |
Requisito |
Prioridad |
| RF-002.3.1 |
El sistema debe verificar conectividad de proxies periodicamente |
Alta |
| RF-002.3.2 |
El sistema debe marcar proxies como "banned" cuando detecte bloqueo |
Alta |
| RF-002.3.3 |
El sistema debe calcular y actualizar success rate por proxy |
Alta |
| RF-002.3.4 |
El sistema debe alertar cuando el pool este bajo umbral minimo |
Media |
RF-002.4: Cooling Periods
| ID |
Requisito |
Prioridad |
| RF-002.4.1 |
El sistema debe poner proxies en cooling despues de rate limit |
Alta |
| RF-002.4.2 |
El sistema debe configurar duracion de cooling por tipo de error |
Media |
| RF-002.4.3 |
El sistema debe reactivar proxies automaticamente post-cooling |
Alta |
Modelo de Datos
ProxyPool:
id: UUID
address: string
port: number
type: enum [residential, datacenter, mobile]
provider: string
country: string
city: string (opcional)
username: string (encrypted)
password: string (encrypted)
status: enum [active, cooling, banned, inactive]
success_rate: decimal (0-1)
total_requests: integer
successful_requests: integer
last_used_at: timestamp
last_success_at: timestamp
cooling_until: timestamp (nullable)
banned_at: timestamp (nullable)
created_at: timestamp
updated_at: timestamp
Criterios de Aceptacion
Configuracion
proxy_pool:
min_active_proxies: 20
health_check_interval_ms: 300000 # 5 minutos
rotation:
strategy: "weighted_random" # best_success, round_robin, weighted_random
change_every: "session" # request, session, n_requests
cooling:
rate_limit_duration_ms: 3600000 # 1 hora
error_duration_ms: 1800000 # 30 minutos
max_consecutive_failures: 3
providers:
- name: "brightdata"
priority: 1
- name: "iproyal"
priority: 2
Dependencias
- Proveedor de proxies residenciales (Bright Data, IPRoyal, etc.)
- PostgreSQL para persistencia
- Redis para cache de status
Costos Estimados
| Proveedor |
Plan |
Proxies |
Costo/mes |
| Bright Data |
Residential |
5GB |
$75 USD |
| IPRoyal |
Residential |
5GB |
$52 USD |
| Smartproxy |
Residential |
5GB |
$65 USD |
Historias de Usuario Relacionadas
- US-SCR-001: Scraping de Inmuebles24
- US-SCR-002: Scraping de Vivanuncios
Autor: Tech Lead
Fecha: 2026-01-04