Crea una cuenta o inicia sesi贸n

隆Contin煤a aprendiendo sin ning煤n costo! 脷nete y comienza a potenciar tu carrera

Qu茅 son los sistemas distribuidos

3/25
Recursos

Aportes 19

Preguntas 2

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

En mi experiencia, cada tipo de sistema presenta sus distintos retos:

  • El sistema monolitico permite tener una alta cohesion entre todas las partes, los flujos de nuestro negocio son cercanos entre ellos y usan una misma base de datos, el desarrollo con pocas personas puede ser agil, pero cuando un proceso se vuelve pesado todo el sistema completo falla. Porque es un solo sistema.

Ejemplo: Tenemos una app monolitica como youtube. Pero, cada vez que alguien est谩 subiendo un video muy pesado (que tienes que convertir a distintos formatos) las personas demoran mas en iniciar sesi贸n.

Un solo proceso est谩 afectando a toda la aplicaci贸n. Es por esto, que muchas empresas se mueven a sistemas distribuidos, a microservicios.

Ahora, esa aplicaci贸n de youtube, ya no es un solo sistema, ahora lo podemos dividir en distintas servicios, los usuarios tendr谩n su propia base de datos y su propio sistema, la carga de videos y conversi贸n tendr谩 otra base de datos y as铆 con todas las peque帽as partes. TODO se divide.

El reto llega cuando, los sistemas tienen que comunicarse entre ellos de la forma request/response y uno de esos microservicios tiene un bajo performance, ahora, la cohesion de nuestra aplicaci贸n baja, tenemos sistemas separados pero a煤n podr铆an causar conflictos cuando uno de ellos falla.

Cada una tiene retos y soluciones interesantes 馃馃徏

Explicaci贸n visual de un monolito vs un sistema distribuido o tambi茅n llamado microservicios

Microservicio y Microfrontends

Qu茅 alternativas tenemos cuando nuestro sistema es distribuido para hacer un seguimiento eficiente de un posible bug? me imagino un sistema inmenso que falla en 鈥渪鈥 cosa y luego revisando los logs llego a una parte, luego esta reviso el request que consume este otro servicio, este otro servicio respondi贸 aquello, esta respuesta se persiste, luego la devuelve鈥 etc, etc, me formo un meollo. 驴Qu茅 herramientas existen para darle seguimiento a los posibles bugs? o para hacer debug correctamente a un sistema de esta magnitud.

es raro observar el uso de sistemas monol铆ticos al 100% en el software moderno. Generalmente las bases de datos se a铆slan en otros servers especializados para esto. Lo menciono como aporte

Los sistemas distribuidos y los microservicios son lo mismo??? Platicando un poco con Guillermo Rodas, me comentaba todos dicen que est谩n utilizando microservicios, pero no es as铆, ya que siendo un poco estrictos cada microservicio deber铆a de ser una entidad de nuestro negocio, por ejemplo si tenemos un sistema de chat, vamos a tener un microservicio para los usuarios y uno para los chats.

La blockchain es un sistema distribuido con esteroides.

Lo que me encantan los sistemas distribuidos es que puedes interconectar todo, tu aplicaci贸n est谩 soportada por diversos servidores, tienes un servidor especial que se dedica 煤nicamente al almacenamiento, otro que se dedica 煤nicamente a las bases de datos, todo est谩 abstra铆do.
.
Hoy en d铆a, usar servicios cloud es una buena forma de tener un sistema distribuido, y de hecho Google Cloud Patform es uno de los sistemas Cloud top para armar sistemas distribuidos.
.
En este video Freddy explica muy bien c贸mo funcionan este tipo de sistemas cloud y por qu茅 es mucho mejor que un hosting compartido o dedicado (claro, todo depende de la situaci贸n de la aplicaci贸n)

Los sistemas distribuidos ofrecen muchas ventajas, entre las principales es que permite tener un sistema Flexible y Escalable

Varios servicios desplegados con Docker en varias m谩quinas, cuenta como sistema distribuido?

Yo una vez intent茅 hacer una base de datos distribuida con los servicios que ofrece MySQL y era horrible

Otra de las grandes ventajas de los sistemas distribuidos es que puedes ajustar el 鈥減oder鈥 que necesita un servicio y de este modo no desperdiciar recursos, si tienes un servicio que necesita mucha RAM, CPU etc bueno pues ese servicio especifico lo aprovisionas con servidores m谩s grandes, pero si no lo requiere pues igualmente lo ajustas a tus necesidades.

Una de las ventajas que he visto de los siistemas distribuidos es que podemos escalar horizontalmente muy rapido y en momentos precisos de la demanda de las transacciones.

Entonces un sistema distribuido no permite escalar la aplicaci贸n de forma horizontal m谩s que de forma vertical, porque en vez de necesitar m谩s recursos en un solo servidor, distribuimos la carga de trabajo entre distintos servidores y as铆 ser铆a m谩s d铆ficil que la aplicaci贸n colapse para el usuario

veo en tu ejemplo que el monolito es enfocado a la infraestructura pero en microservicios como se llega a la conclusi贸n de que es un monolito (al nivel de arquitectura de software)?

Me encantan los sistemas distribuidos, son como unir bloques a tu gusto y necesidades.

LAMP == Linux Apache MySQL PHP

excelente