El sistema de información distribuida se define como “un número de computadoras interdependientes unidas por una red para compartir información entre ellas”. Un sistema de información distribuida consta de múltiples computadoras autónomas que se comunican o intercambian información a través de una red informática. Problemas de diseño del sistema distribuido:
- Heterogeneidad : la heterogeneidad se aplica a la red, el hardware de la computadora, el sistema operativo y la implementación de diferentes desarrolladores. Un componente clave del entorno cliente-servidor del sistema distribuido heterogéneo es el middleware. El middleware es un conjunto de servicios que permite que la aplicación y el usuario final interactúen entre sí en un sistema distribuido heterogéneo.
- Apertura : la apertura del sistema distribuido está determinada principalmente por el grado en que los nuevos servicios de recursos compartidos pueden estar disponibles para los usuarios. Los sistemas abiertos se caracterizan por el hecho de que sus interfaces clave están publicadas. Se basa en un mecanismo de comunicación uniforme y una interfaz publicada para acceder a los recursos compartidos. Puede construirse a partir de hardware y software heterogéneos.
- Escalabilidad : la escalabilidad del sistema debe seguir siendo eficiente incluso con un aumento significativo en la cantidad de usuarios y recursos conectados.
- Seguridad : La seguridad del sistema de información tiene tres componentes Confidencialidad, integridad y disponibilidad. El cifrado protege los recursos compartidos, mantiene en secreto la información confidencial cuando se transmite.
- Manejo de fallas : cuando ocurren algunas fallas en el hardware y el programa de software, pueden producir resultados incorrectos o pueden detenerse antes de que hayan completado el cálculo previsto, por lo que se deben implementar medidas correctivas para manejar este caso. El manejo de fallas es difícil en los sistemas distribuidos porque la falla es parcial, es decir, algunos componentes fallan mientras que otros continúan funcionando.
- Concurrencia : existe la posibilidad de que varios clientes intenten acceder a un recurso compartido al mismo tiempo. Múltiples usuarios realizan requests sobre los mismos recursos, es decir, lectura, escritura y actualización. Cada recurso debe estar seguro en un entorno concurrente. Cualquier objeto que represente un recurso compartido en un sistema distribuido debe garantizar que funcione correctamente en un entorno concurrente.
- Transparencia : la transparencia garantiza que los usuarios o los programadores de aplicaciones perciban el sistema de distribución como una sola entidad, en lugar de la colección de sistemas autónomos, que está cooperando. El usuario no debe saber dónde se encuentran los servicios y la transferencia de una máquina local a una remota debe ser transparente.
Curso de diseño de sistemas GeeksforGeeks
¿Quiere conseguir un trabajo de desarrollador/ingeniero de software en una empresa de tecnología líder? o ¿Quiere hacer una transición sin problemas de SDE I a SDE II o perfiles de desarrollador sénior? En caso afirmativo, ¡entonces debe sumergirse profundamente en el mundo del diseño de sistemas! Un dominio decente sobre los conceptos de diseño de sistemas es muy esencial, especialmente para los profesionales que trabajan, para obtener una ventaja muy necesaria sobre los demás durante las entrevistas técnicas.
Y es por eso que GeeksforGeeks le brinda un Diseño de sistemas en vivo centrado en entrevistas en profundidad que lo ayudará a prepararse para las preguntas relacionadas con Diseños de sistemas para Google, Amazon, Adobe, Uber y otras empresas basadas en productos.