Saltar al contenido
Codif铆ca.me | Desarrollo web | Programaci贸n

La transparencia en los sistemas distribuidos

7 abril, 2015

La definici贸n de transparencia en un sistema distribuido es la ocultaci贸n al usuario que los componentes de este sistema distribuido est谩n separados. Por lo tanto, el usuario percibir谩 que el sistema es un 煤nico sistema y no varios compones separados.

Existen ocho formas de transparencia, las que m谩s consideraci贸n tienen en un sistema distribuido son la transparencia a nivel de acceso y la transparencia a nivel de localizaci贸n.

sistemasdistribuidos

Transparencia de Acceso.
Hace referencia al acceso a las entidades del sistema, tanto si son locales como si son remotas deben seguir ocultando que son entidades diferentes, formando una 煤nica entidad, as铆 pues el acceso al sistema por el usuario debe ser 煤nico para toda la entidad.

Transparencia de localizaci贸n.
Engloba la transparencia de nombre y la transparencia de movilidad, la primera exige que cualquier referencia a la entidad no deba exponer ninguna indicaci贸n de la localizaci贸n de la entidad. La segunda hace referencia a que el sistema sea igual de consistente independientemente desde d贸nde el usuario haga referencia al sistema.

A estas dos tipos de transparencias en conjunto se las denomina como transparencias de red.

En entornos de arquitectura Web encontramos algunos ejemplos de c贸mo funciona la transparencia en sistemas distribuidos.

Ejemplos de transparencia en la arquitectura web

Por ejemplo, cuando desde nuestro navegador escribimos el nombre de una p谩gina web, lo primero que se hace es traducir ese nombre a una direcci贸n IP, esa direcci贸n IP es d贸nde est谩 alojada la informaci贸n a la que quieres acceder desde el navegador. C贸mo existen millones de direcciones IPs y pueden cambiar frecuentemente se necesitaba una gran base de datos distribuida en varios nodos, que a su vez cada nodo est谩 compuesto de varias 鈥渕谩quinas鈥 que son capaces de mantener correctamente los datos y de resolver r谩pidamente cualquier nombre de dominio en una direcci贸n IP. Para esta labor se utilizan los denominados servidor de nombre 鈥Domain name system鈥 (DNS).
Podemos comprobar que el principio de transparencia de localizaci贸n ser铆a igual independientemente desde d贸nde el usuario busque una p谩gina web.

Otro ejemplo de transparencia de replicaci贸n tambi茅n se da cuando accedemos a una p谩gina web que esta replicada en un CDN, los CDN son servidores distribuidos Geogr谩ficamente que se encargan de replicar una misma p谩gina web para estar m谩s cercana al usuario final. C贸mo ejemplo, cuando accedemos a una p谩gina en la que el servidor est谩 en Australia, las peticiones y respuestas tienen que viajar desde Espa帽a a Australia y de Australia a Espa帽a, lo cual no solo hace que el tiempo de carga de una p谩gina web sea m谩s grande, sino que adem谩s cargamos considerablemente la red ya que los datos tienen que hacer un recorrido mucho m谩s grande.

Para mejorar esto se utilizan los CDN (Content Delivery Network), se encargan de replicar la web en distintos servidores distribuidos geogr谩ficamente que trabajan como uno solo, y cuando solicitas una p谩gina web desde Espa帽a, el nodo del CDN que est茅 m谩s cerca o menos colapsado devolver谩 el contenido al usuario, con el fin de que la navegaci贸n sea m谩s fluida, consiguiendo una mejor experiencia para el usuario.

Tambi茅n en los CDN podemos ver el principio de transparencia de localizaci贸n, ya que una misma web puede ser enviada o accedida desde diversos puntos geogr谩ficos y el resultado del contenido enviado ser谩 igual para el usuario final, independientemente de d贸nde se encuentre el usuario o el CDN.

Utilizamos el principio de transparencia de concurrencia, por ejemplo, cuando realizamos una compra a trav茅s de un supermercado digital que tiene un sistema distribuido para poder realizar compras por internet, y accedemos a su p谩gina, realizamos la compra, y no existe ning煤n problema porque haya varios usuarios comprando en la misma tienda, es decir, en programaci贸n podemos tener varios 鈥渙bjetos鈥 sin que uno modifique los datos del otro.

En los CDN o en entornos webs que utilicen varios servidores, podemos ver el principio de transparencia de Fallos, cuando uno de los servidores 鈥渆st谩 ca铆do鈥 y no puede devolver el contenido y otro servidor toma el relevo enviando el contenido al usuario como si fuesen una 煤nica entidad.

La transparencia de escalado se manifiesta cuando incorporamos otros servidores a la red de contenidos sin que exista ninguna parada de servicio ni ning煤n problema, sencillamente se incorpora otras m谩quinas que ayudar谩n a aliviar la carga de trabajo de los servidores existentes.

Rate this post