/* Page prose (es) */
"DistributedLocationTransparency" = "# Transparencia de ubicación: la recompensa y el precio\n\nLa característica estelar es la **transparencia de ubicación**: llamas a un actor distribuido de la *misma forma* ya sea que resulte vivir en tu propio proceso o en un servidor al otro lado del país. El sistema de actores resuelve dónde está y enruta la llamada. Tu código que dice `try await ledger.currentBalance()` no cambia según la respuesta.\n\nEso es genuinamente poderoso. Puedes razonar sobre tu sistema como un conjunto de actores enviándose mensajes unos a otros, y dejar que el runtime maneje la fontanería de *dónde* se sienta cada actor, que incluso puede cambiar a medida que escalas o mueves servicios.\n\nPero la transparencia trata de *cómo escribes la llamada*, no de lo que la llamada *cuesta*. Ten los ojos claros sobre el precio, porque es real:\n\n* **Latencia.**  \nUn salto de actor local es nanosegundos. Un viaje de ida y vuelta por la red es milisegundos, a menudo miles de veces más lento. El ida y vuelta parlanchín que está bien en el proceso puede arrastrarse por el cable. Querrás enviar mensajes menos numerosos y más grandes, en lugar de muchos diminutos.\n* **Fallo parcial.**  \nEn un proceso, si tu código se está ejecutando, el actor existe. A través de una red, el otro lado puede desvanecerse a mitad de la conversación: caído, reiniciado, inalcanzable. Ese es el `throws` que sigues viendo. Tienes que *diseñar* para llamadas que no vuelven, no tratar el fallo como una sorpresa rara.\n* **Serialización.**  \nCada argumento y resultado se codifica y decodifica. Eso cuesta CPU y, de forma más sutil, restringe tu API: solo puedes intercambiar cosas que pasen por `Codable`. Los ricos grafos en memoria y los recursos en vivo se quedan en casa.\n\nLa transparencia de ubicación no hace desaparecer estos costos; los hace *uniformes al llamar*. Saber que están ahí es lo que te impide diseñar un sistema distribuido como si fuera uno local.\n\n[Anterior](@previous)  |  página 7 de 9  |  [Siguiente: Cuándo importa](@next)";
