Dudas generales arquitectura del TP #514
Replies: 6 comments 2 replies
-
¡Hola @nicolasrey9! Son buenas preguntas.
En primer lugar, no, no lo contradice: el diagrama de despliegue inicial planteado es unicamente un caso particular, una posible forma de tomar los componentes que estás desarrollando y desplegarlos a lo largo de varias computadoras, en una arquitectura distribuida. En esa arquitectura hay, por ejemplo, un componente agregador (casi con seguridad un objeto, instancia de una clase Agregador, que a su vez implementa la interfaz Fuente) que vive en un nodo homónimo. Por otro lado, hay un nodo que contiene a una única fuente de datos estática. Pero nada impediría que construyas un nodo que tenga, por ejemplo, dos instancias de la clase Agregador y ocho de la clase FuenteEstática, cada una apuntando a diferentes archivos
No tienen por qué ser diferentes JARs. En este momento estamos construyendo tan sólo una biblioteca de componentes, y aún no hemos hecho un despligue en más de una computadora. Es posible que termines construyendo un JAR diferente para cada nodo, pero esos JARs podrían utilizar las mismas clases. En otras palabras, una cosa es la biblioteca de componentes que estamos desarrollando en estas primeras 3 entregas, y otra cosa serán los N puntos de entrada que desarrolles en la entrega de Arquitectura Web. Con esto no te estoy diciendo que está mal que trates de levantar exactamente el despliegue planteado en el contexto, pero me parece importante que entiendas que es tan solo un ejemplo. No podría ser de otra forma: el planteo inicial del proyecto es que queremos darle la posibilidad a distintas ONGs y organismos de levantar su instancia de MetaMapa, pero ¿sería esto realista si obligaramos a cada una de estas organizaciones, las cuales cuentan probablemente con recursos limitados, a desplegar una arquitectura tan compleja y costosa? ¿No sería mejor si ofreciéramos distribuciones que puedan ejecutarse en infraestructuras más baratas, con menos nodos o incluso en una sola computadora? Por estos motivo el TP está planteado no como una arquitectura de microservicios (tema que desarrollaremos más adelante) sino como una biblioteca de componentes, los cuales usaremos luego para crear algunos despliegues particulares (a desarrollar también más adelante). |
Beta Was this translation helpful? Give feedback.
-
No necesariamente: sólo agregará algunas fuentes (que pueden estar en el mismo nodo, en otros nodos o una combinación de ello). ¿Cuáles fuentes? Las que desees / necesites / tenga sentido agregar dentro de una sola fuente "lógica". |
Beta Was this translation helpful? Give feedback.
-
Correcto. |
Beta Was this translation helpful? Give feedback.
-
muchas gracias, bastante clarificador, mi error estaba en ver al TP como una arquitectura de microservicios unicamente. Por eso decia lo de los multiples pom.xml, sin embargo me surgieron otras dudas:
Aun asi tengo entendido que si bien no es lo ideal podrias desplegar todos los microservicios en un solo servidor/nodo, y asi no obligar a las otras organizaciones a levantarlo en N nodos. E incluso hacer esto te podria ahorrar levantar un microservicio de service discovery tal vez, ya que con docker podrias levantarlos a todos en la misma red y resolverian sus hostnames. Esto tendria mucho mas overhead que un monolito?
entiendo que como se dice sera un tema que se va a tratar mas adelante. Pero no me termino de imaginar/entender las implicancias que tiene lo que estamos desarrollando (una biblioteca de componentes). Entiendo que una podria ser que a diferencia de los microservicios no tendremos forzosamente un pom por cada servicio que levante un JAR independiente. si dije algo errado en relacion a microservicios, java, docker, jars, etc. Por favor hacermelo saber. |
Beta Was this translation helpful? Give feedback.
-
Si hubiera tal ruta, debería traerte todos los hechos de ese nodo, mas allá de si su fuente es estática, dinámica, agregadora, proxy o de otro tipo. De todas formas, no es un problema para esta entrega porque no estamos aún exponiendo los datos vos HTTP, solo consumiendo.
Un nodo puede correr tantas fuentes como quieras, de los tipos que quieras. Eso depende de como vos construyas y despliegues tus nodos.
Por lo anterior, sí, puede.
Son propias de cada nodo, al igual que las fuentes. |
Beta Was this translation helpful? Give feedback.
-
Muchas gracias! |
Beta Was this translation helpful? Give feedback.
Uh oh!
There was an error while loading. Please reload this page.
-
Buenas, perdon por molestar durante el receso pero queria plantear unas dudas que me surgieron de la arquitectura del TP. Si bien todavia no tuve la defensa de la 3er entrega me parecio bueno plantearlo por aca por si alguien mas tiene estas dudas.
Espero que se hayan entendido las dudas y buen receso!
Adjunto diagrama del que hablo:

Beta Was this translation helpful? Give feedback.
All reactions