A medida que Internet y las tecnologías de red han avanzado en la sofisticación y fiabilidad , los ingenieros han creado una nueva forma de funcionamiento de los servicios informáticos : sistemas distribuidos . En lugar de centralizar los datos y el poder de cómputo en un solo lugar y luego enviarlo a los clientes , los sistemas distribuidos se propagan tanto los datos y tareas computacionales a través de múltiples nodos que funcionan al unísono. Si bien este tipo de sistema tiene muchas ventajas, no está exenta de inconvenientes. Rendimiento
sistemas distribuidos permiten un mayor rendimiento de los servicios en general que los sistemas cuya función está centralizada en un solo lugar . Al distribuir la carga computacional entre distintos nodos , cada lugar está bajo menos estrés. Esto permite que cada nodo para llevar a cabo de manera más eficiente , lo que aumenta el rendimiento del servicio en general . Un ejemplo de cómo funciona esto es en los servicios de mensajería de alta demanda . En lugar de vertido de la carga para cada transacción de usuario actual en un único servidor , las transacciones se distribuyen en varios servidores diferentes. De esta forma , la demanda en cada nodo individual se reduce, y los datos de cada nodo recibe filtre a los otros nodos en el fondo.
Confiabilidad
Cuando cómputo se centra en una sola máquina , la salud de esa máquina es la salud de todo el servicio --- si se cae , también lo hace el servicio completo . Sin embargo , los sistemas distribuidos pueden seguir funcionando si un nodo deja de funcionar . Si bien las demandas de rendimiento en los otros nodos se suben, al igual que la tensión cada máquina está bajo , los otros nodos seguirán funcionando . Sin embargo , la falta de un umbral crítico de nodos aún puede llevar el servicio de apertura .
Escalabilidad
Dado que los sistemas distribuidos trabajar en una variedad de diferentes máquinas, son inherentemente escalable . Es decir, el sistema distribuido puede ajustar la cantidad de recursos del sistema que está haciendo uso de la luz de qué tipo de demanda del sistema es bajo . Si un sistema está en alta demanda , entonces no puede tener todas las máquinas funcionando a capacidad. Sin embargo , si la carga en el sistema es relativamente baja , puede tomar diferentes componentes del sistema distribuido fuera de línea para ahorrar energía y el desgaste en el sistema . Cuando la demanda en el sistema vuelve a subir , estos componentes pueden llegar a estar en línea .
Sincronización
Cuando los servicios se ejecutan en un único servidor, no hay que preocuparse acerca de la sincronización de datos : todos los datos no es más que presente en esa máquina. Sin embargo , esto se convierte en un problema en los sistemas distribuidos. Debido a los diferentes componentes de sistemas distribuidos están manejando diferentes tareas y datos en cualquier punto dado en el tiempo , habrá pequeños periodos de tiempo en los que existe información sobre un componente, pero no en otros. Mientras este nodo del sistema en línea se mantiene el tiempo suficiente para que estos datos temporalmente únicas se filtren a través de otros nodos , esto no es un problema . Sin embargo , si un nodo se cae antes de que prolifera sus datos únicos , habrá inconsistencias dentro del sistema.