Skip to content

Commit

Permalink
Applying some minor changes as discussed with @maasg.
Browse files Browse the repository at this point in the history
  • Loading branch information
marcogalluzzi committed Dec 23, 2017
1 parent 4f316de commit 9835127
Showing 1 changed file with 4 additions and 4 deletions.
8 changes: 4 additions & 4 deletions README.es.md
Expand Up @@ -3,7 +3,7 @@ El Manifiesto de Sistemas Reactivos

Organizaciones que trabajan en dominios diferentes están descubriendo de manera independiente patrones similares para construir software. Estos sistemas son más robustos, más flexibles y están mejor posicionados para cumplir demandas modernas.

Estos cambios están sucediendo porque los requerimientos de las aplicaciones han cambiado drásticamente en los últimos años. Sólo unos pocos años atrás, una gran aplicación tenía decenas de servidores, segundos de tiempo de respuesta, horas de mantenimiento fuera de línea y gigabytes en datos. Hoy, las aplicaciones se desplegan en cualquier cosa, desde dispositivos móviles hasta clusters en la nube corriendo en miles de procesadores multi-core. Los usuarios esperan que los tiempos de respuesta sean de milisegundos y que sus sistemas operen 24/7 (uptime 100%). Los datos son medidos en Petabytes. Las demandas de hoy simplemente no están siendo satisfechas por las arquitecturas software de ayer.
Estos cambios están sucediendo porque los requerimientos de las aplicaciones han cambiado drásticamente en los últimos años. Sólo unos pocos años atrás, una aplicación grande tenía decenas de servidores, segundos de tiempo de respuesta, horas de mantenimiento fuera de línea y gigabytes en datos. Hoy, las aplicaciones se desplegan en cualquier cosa, desde dispositivos móviles hasta clusters en la nube corriendo en miles de procesadores multi-core. Los usuarios esperan que los tiempos de respuesta sean de milisegundos y que sus sistemas estén operativos el 100% del tiempo. Los datos son medidos en Petabytes. Las demandas de hoy simplemente no están siendo satisfechas por las arquitecturas software de ayer.

Creemos se necesita un enfoque coherente para la arquitectura de sistemas, y creemos que todos los aspectos necesarios ya han sido identificados por separado: queremos sistemas Responsivos, Resilientes, Elásticos y Orientados a Mensajes. Nosotros les llamamos Sistemas Reactivos.

Expand All @@ -13,9 +13,9 @@ Los sistemas construidos como Sistemas Reactivos son más flexibles, con bajo ac

* <a name="Responsivos"></a>**Responsivos**: El [sistema](/glossary.md#System) responde a tiempo en la medida de lo posible. La responsividad es la piedra angular de la usabilidad y la utilidad, pero más que esto, responsividad significa que los problemas pueden ser detectados rápidamente y tratados efectivamente. Los sistemas responsivos se enfocan en proveer tiempos de respuesta rápidos y consistentes, estableciendo límites superiores confiables para así proporcionar una calidad de servicio consistente. Este comportamiento consistente, a su vez, simplifica el tratamiento de errores, aporta seguridad al usuario final y fomenta una mayor interacción.
* <a name="Resilientes"></a>**Resilientes**: El sistema permanece responsivo frente a [fallos](/glossary.md#Failure). Esto es aplicable no sólo a sistemas de alta disponibilidad o de misión crítica - cualquier sistema que no sea resiliente dejará de ser responsivo después de un fallo. La resiliencia es alcanzada con [replicación](/glossary.md#Replication), contención, [aislamiento](/glossary.md#Isolation) y [delegación](/glossary.md#Delegation). Los fallos son manejados dentro de cada [componente](/glossary.md#Component), aislando cada componente de los demás, y asegurando así que cualquier parte del sistema pueda fallar y recuperarse sin comprometer el sistema como un todo. La recuperación de cada componente se delega en otro componente (externo) y la alta disponibilidad se asegura con replicación allí donde sea necesario. El cliente de un componente no tiene que responsabilizarse del manejo sus fallos.
* <a name="Elasticos"></a>**Elásticos**: El sistema se mantiene responsivo bajo variaciones en la carga de trabajo. Los Sistemas Reactivos pueden reaccionar a cambios en la frecuencia de peticiones incrementando o reduciendo los [recursos](/glossary.md#Resource) asignados para servir dichas peticiones. Esto implica diseños que no tengan puntos de contención o cuellos de botella centralizados, resultando en la capacidad de fragmentar o replicar componentes y distribuir las peticiones entre ellos. Los Sistemas Reactivos soportan algoritmos de escalado predictivos, así como Reactivos, al proporcionar relevantes medidas de rendimiento en tiempo real. La [elasticidad](/glossary.md#Elasticity) se consigue de forma rentable haciendo uso de plataformas con hardware y software genéricos.
* <a name="Orientados-a-Mensajes"></a>**Orientados a Mensajes**: Los Sistemas Reactivos confían en el [intercambio de mensajes](/glossary.md#Message-Driven) [asíncrono](/glossary.md#Asynchronous) para establecer fronteras entre componentes, lo que asegura bajo acoplamiento, aislamiento y [transparencia de ubicación](/glossary.md#Location-Transparency). Estas fronteras también proporcionan los medios para delegar [fallos](/glossary.md#Failure) como mensajes. El uso del intercambio de mensajes explícito posibilita la gestión de la carga, la elasticidad, y el control de flujo, gracias al modelado y monitorización de las colas de mensajes en el sistema, y la aplicación de [back-pressure](/glossary.md#Back-Pressure) cuando sea necesario. La mensajería transparente de ubicaciones como medio de comunicación permite que la gestión de fallos pueda trabajar con los mismos bloques y semánticas a través de un cluster o dentro de un solo nodo. La comunicación [No-bloqueante](/glossary.md#Non-Blocking) permite a los destinatarios consumir [recursos](/glossary.md#Resource) sólo mientras estén activos, llevando a una menor sobrecarga del sistema.
* <a name="Elasticos"></a>**Elásticos**: El sistema se mantiene responsivo bajo variaciones en la carga de trabajo. Los Sistemas Reactivos pueden reaccionar a cambios en la frecuencia de peticiones incrementando o reduciendo los [recursos](/glossary.md#Resource) asignados para servir dichas peticiones. Esto implica diseños que no tengan puntos de contención o cuellos de botella centralizados, resultando en la capacidad de dividir o replicar componentes y distribuir las peticiones entre ellos. Los Sistemas Reactivos soportan algoritmos de escalado predictivos, así como Reactivos, al proporcionar relevantes medidas de rendimiento en tiempo real. La [elasticidad](/glossary.md#Elasticity) se consigue de forma rentable haciendo uso de plataformas con hardware y software genéricos.
* <a name="Orientados-a-Mensajes"></a>**Orientados a Mensajes**: Los Sistemas Reactivos confían en el [intercambio de mensajes](/glossary.md#Message-Driven) [asíncrono](/glossary.md#Asynchronous) para establecer fronteras entre componentes, lo que asegura bajo acoplamiento, aislamiento y [transparencia de ubicación](/glossary.md#Location-Transparency). Estas fronteras también proporcionan los medios para delegar [fallos](/glossary.md#Failure) como mensajes. El uso del intercambio de mensajes explícito posibilita la gestión de la carga, la elasticidad, y el control de flujo, gracias al modelado y monitorización de las colas de mensajes en el sistema, y la aplicación de [back-pressure](/glossary.md#Back-Pressure) cuando sea necesario. La mensajería basada en ubicaciones transparentes como medio de comunicación permite que la gestión de fallos pueda trabajar con los mismos bloques y semánticas a través de un cluster o dentro de un solo nodo. La comunicación [No-bloqueante](/glossary.md#Non-Blocking) permite a los destinatarios consumir [recursos](/glossary.md#Resource) sólo mientras estén activos, llevando a una menor sobrecarga del sistema.

Los grandes sistemas están compuestos de otros más pequeños y por lo tanto dependen de las propiedades Reactivas de sus partes. Esto significa que los Sistemas Reactivos aplican principios de diseño para que estas propiedades sean válidas a cualquier escala, haciéndolas componibles. Los sistemas más grandes del mundo confían en arquitecturas basadas en estas propiedades y atienden las necesidades de miles de millones de personas diariamente. Es tiempo de aplicar estos principios de diseño conscientemente desde el inicio, en vez de redescubrirlos cada vez.
Los sistemas grandes están compuestos de otros más pequeños y por lo tanto dependen de las propiedades Reactivas de sus partes. Esto significa que los Sistemas Reactivos aplican principios de diseño para que estas propiedades sean válidas a cualquier escala, haciéndolas componibles. Los sistemas más grandes del mundo confían en arquitecturas basadas en estas propiedades y atienden las necesidades de miles de millones de personas diariamente. Es tiempo de aplicar estos principios de diseño conscientemente desde el inicio, en vez de redescubrirlos cada vez.

[Firme el Manifiesto](http://www.reactivemanifesto.org/es#sign-button)

0 comments on commit 9835127

Please sign in to comment.