Enunciado y alcance.
Reglas del sistema base y requisitos de este trabajo. Consultá los casos, explorá los diagramas y descargá el enunciado original.
MMO medieval, persistente y distribuido
Jugadores entran a instancias pagando oro, combaten contra un jefe y reciben recompensas si lo derrotan. Los ítems pueden venderse en un mercado global; el oro también se compra con dinero real.
3 datacenters
Brasil, Estados Unidos y Zúrich. El cliente y los centros se comunican por gRPC. Las instancias pueden reubicarse y los eventos globales comparten estado entre los tres.
Estado y restricciones
Datos personales y bancarios: solo en el datacenter hogar. Cambios de oro y objetos: conservar 90 días. Durante saturación se priorizan sesiones existentes.
Cliente e infraestructura
Desconexión, latencia, caída de módulos o datacenters y particiones de red. Seguridad queda fuera de esta versión por la actualización del docente.
Documentos de referencia
El contenido del TP conserva los problemas, fallas, garantías y soluciones originales; la organización por módulos es una propuesta de integración.
Qué problema resuelve cada caso.
Seleccioná un caso para consultar el problema que resuelve.
F · Fallas
G · Garantías
Interés de negocio protegido, sin describir el mecanismo técnico.
S · Solución
Leer descripción completa
Trade-off
Interacción de módulos
6 pasosEl caso seleccionado se conserva entre Problema, Falla, Garantía, Solución y Trade-off.
Un sistema, módulos con responsabilidades claras.
Seleccioná un módulo para ver qué hace, qué estado administra y con quién interactúa. El esquema es lógico: no representa servidores individuales.
Mapa de módulos
Gestor de ingreso
Coordina validación de cupo, cobro de entrada y registro único del jugador; resuelve reintentos por requestId.
Líneas continuas: interacción entre funciones. Líneas punteadas: persistencia o recuperación. Los almacenamientos son responsabilidades lógicas y pueden implementarse mediante componentes replicados.
Tres datacenters. Distintas reglas de coordinación.
El estado personal y bancario permanece en el hogar; las instancias y el estado del juego pueden operar entre datacenters según su función.
Instancia normal
Una mazmorra se ejecuta en un datacenter. Por defecto nace en el hogar de quien la crea y puede ser reubicada si ese datacenter falla.
Ubicación del estado
Responsabilidades de persistencia| Estado | Ubicación / política | Mecanismo |
|---|---|---|
| Datos personales y bancarios | Solo en el datacenter hogar. | Base local replicada entre nodos. |
| Pagos y Outbox | Datacenter hogar del jugador. | Pago + evento pendiente en misma transacción. |
| Pertenencia jugador-instancia | Estado coordinado en los tres datacenters. | Mayoría 2/3 para registrar cambios. |
| Eventos de combate y mercado | Particionados por instancia o por ítem. | Logs replicados y offsets de consumidores. |
| Directorio de zonas | Una copia local por datacenter. | Actualización asíncrona desde logs. |
| Oro e inventario | Estado de juego; puede moverse entre datacenters. | Consistencia y atomicidad entre operaciones por concretar. |
| Cambios económicos (90 días) | Requerimiento de negocio, sin ubicación definida. | Auditoría aún no detallada. |