es el primer tutorial de microservicio que me encuentro en el que van al lio directamente, cuando se tiran por las ramas a explicar cada detalle me pongo de los nervios. Excelente contenido.
Soy de ese Dev que no siguen la ruta de aprendizaje y toma el toro por los cuernos y la cola, y tu forma de explicar es sin duda excepcional, muchas gracias!, Recomendare este curso con mi equipo de trabajo dado que estamos aprendiendo Microservicios.
Muchas gracias por el aporte, felicitarte por la claridad en tus explicaciones y lo valioso del contenido que compartes. No me perdería por nada esta serie de videos, contenido a fin a los recursos que tocamos cada día en el desarrollo de aplicaciones modernas y sobre todo un excelente modelador detrás de la enseñanza que sabe transmitir el conocimiento. Quedo al pendiente de cada contenido, nuevamente muchas gracias.
El video esta bastante practico, unas sugerencias que puedo darte es que utilices buenas practicas de desarrollo de software, por ejemplo usar principios SOLID, crear interfaces pensando en que en un futuro la base de datos se pueda cambiar, tampoco usas servicios para la lógica de negocios sino que de una mandas a llamar el reposity en el controller, lo cual me parece una mala practica, pero a modo de intro esta bien, pero creo que puedes aplicar las buenas practicas desde el inicio
Me imagino que lo hace para solo dar entender las tecnologias que se aplica, estos videos ayudan a complementar cuando ya dominas la parte de desarrollo, ya que ayuda como armar todas las dependencias
Hola Esteban, gracias por el apoyo, momentáneamente solo con Maven, pero hay temas aún pendientes, posiblemente migre algún proyecto a gradle como ejemplo. Saludos
Gracias por el video, voy a disfrutar mucho esta serie de videos. Tengo una consulta, como se debe guardar estos microservicios en un repositorio. Deben ir todos dentro de un repo solo separados por carpetas (product-microservice, order-microservice...). O debe ir cada microservicio en un repositorio, o quizá cada microservicio en una rama?
Buen aporte,gracias,mi consulta es tu servicio esta corriendo en el puerto 8080,hay q instalar tomcat entonces para hacer correr estos servicios en el postman?
Hola Lucas, las capas en las que desees modular tu desarrollo dependera de la necesidad que se tenga, una capa de servicio es perfectamente aplicable si lo deseas. Saludos
@@RaulPortilloAlvarez Muchísimas gracias...! De todas formas estoy realizando paso a paso lo que va enseñando en los videos, cambiando las versiones en el POM y usando JDK 11. Saludos, muy buen contenido.
Hola Ricardo, el diagrama inicial que vemos en este video, lo encontré en Internet, ideal para ejemplificar la introducción, los siguientes diagramas de la serie los elaboré el draw.io
Una consulta, si quiero llevar este tipo de proyecto spring boot mricoservicos en AWS que servicio sera el mas recomendable? Elastic Container Service, Lambda , Beanstalk ?
Hola, dependerá mucho del diseño del sistema y como estará distribuido, todos tienen sus propios beneficios, no quiero decir, usa éste o éste, depende mas bien del alcance de tu sistema, pero para recrear un laboratorio te valen los 3. Saludos.
Hola, en la arquitectura de Microservicios distribuidos el concepto de llave foranea cambia ya que un microservicio tiene su propia base de datos independientemente este relacionado con otro, trataré de hacer algunos videos al respecto. Saludos.
Hola Franco, puedes usar la versión de prueba de intellij o puedes usar eclipse, vscode o netbeans, no es estrictamente necesario el mismo ide, puedes usar STS, también. El paso q mencionas no es obligatorio. Se ejecuta igualmente cuando inicias el proyecto, saludos.
Buen video, tengo una duda, por ejemplo en un sistema tengo un microservicio Clientes y este servicio tendrá en su base de datos una tabla con los tipos de documento del cliente, en este sistema también podría existir un microservicio Usuario y también podría tener en su base de datos una tabla tipo de documento de usuario, en este caso como se trabajan estos datos que afectan a mas de un microservicio ya que los tipos de documentos son comunes entre ambas entidades?; yo deberia de crear 2 tablas tipo documento una en cada microservicio? Gracias
Hola Víctor, no, si es una entidad en común, debes crear un microservicio separado y relacionarlo con los microservicios via DTO por ejemplo. En un futuro abordaré ese tipo de escenarios.
Hola, gracias por el aporte, consulta, tienes página web o algún medio de contacto (email)? quiero saber si haces algún tipo de clase particular para ir viendo temas con springboot, saludos.
Hola Cristian, gracias por el apoyo, momentáneamente estoy bastante saturado en mi agenda, pero me puedes contactar a rauledg.portillo@gmail.com, saludos.
Hola Spring Boot se utiliza como back-end de proyectos de react o angular? Y si es así, al momento de hostear se requiere un Host para el back y otro Host para el front ? Gracias
Spring boot puede ser utilizado de muchas formas , en lo que comentas si es utilizado como backend pero no exclusivamente de react o angular , sino que a cualquier frontend que este haciendo una petición al back (spring boot)
@@frankpaitan7009 Disculpe, para los q venimos del back y recien iniciamos en el front, para el caso de Angular, que temas se debe ir conociendo basicamente para empezar a probar las aplicaciones hechas con java SpBoot en back (en una arq. Microservicios , SPA ) ? Gracias
Buen video, tengo una consulta por ejemplo en este sistema tengo un microservicio Clientes y seguro tendrán tipo de documento así que es la db de clientes habrá una tabla tipo documento, en este sistema también podría haber un microservicio usuario y también podría tener en su base de datos una tabla tipodicumento en este caso cono se hace , se crean 2 tablas tipo documento una en cada microservicio? Gracias
En teoría se podría hacer lo que planteas ya que cada microservicio es independiente del otro, pero siguiendo con tu ejemplo podrías optimizar dejando un solo microservicio de usuarios y a este le asignes roles, de esta manera comparten las mismas propiedades y a partir de ahí podrías generar un flujo para cada rol.
@@pablohoyos6987 Hola gracias por la respuesta, el tema esta en que Clientes y Usuarios tienen propiedades bastante diferentes el tema de tipo documento es una de las pocas que comparten, Saludos
@@RaulPortilloAlvarez gracias por responder, tengo una consulta estoy empezando en esto . Para tenerlo en producción qué servidor me recomiendas o uso el tomcat?
no tendras el codigo fuente??, no entiendo que hice mal, porque cuando hago post solo me sale el _id y el _class, no se que habre copiado mal para que me guarde mal los datos, lo peor es que el envio supuestamente fue exitoso
hola franco yo utilizo eclipse como desarrollo me pasaba el mismo error lo solucione poniendo los getter y setters manualmente sin utilizar el lombok ojala pudiera añadir una imagen
@@gabrielfelipeaguilarbarrer9171 Te lo agradezco mucho amigo. Tambien uso Eclipse para realizar este ejercicio, le aplique lo que recomendaste y me comenzo a funcionar excelente el programa. Benditas sean las personas como tu que comparten su conocimiento y ayudar a los demas. Te deseo lo mejor!
Hola amigo. Buenos dias. Al intentar ejecutar el proyecto me sale el siguiente warnning: 2022-09-15 13:57:34.257_[0;39m _[33m WARN_[0;39m _[35m3228_[0;39m _[2m---_[0;39m _[2m[ main]_[0;39m _[36mConfigServletWebServerApplicationContext_[0;39m _[2m:_[0;39m Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productController': Unsatisfied dependency expressed through field 'productRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.wannacode.productmicroservice.repository.ProductRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)} A continuación, SB propone lo siguiente: *************************** APPLICATION FAILED TO START *************************** Description: Field productRepository in com.wannacode.productmicroservice.controller.ProductController required a bean of type 'com.wannacode.productmicroservice.repository.ProductRepository' that could not be found. The injection point has the following annotations: - @org.springframework.beans.factory.annotation.Autowired(required=true) Action: Consider defining a bean of type 'com.wannacode.productmicroservice.repository.ProductRepository' in your configuration. He intentado poner la anotación @Repository en la interfaz ProductRepository para solventar le error pero sin éxito. *************************** Me puedes ayudar con eso? Muchas gracias. Un saludo.
me sale error en productRepository.save(productEntity); @PostMapping @ResponseStatus(HttpStatus.OK) public void createProduct(@RequestBody ProductEntity productEntity){ productRepository.save(productEntity); }
HOLA!!!, si es de tu agrado puedes apoyarme invitándome un café ☕: www.paypal.com/donate/?hosted_button_id=GW79NV9RF22H6
Hola Jose, de momento no dispongo de mucho tiempo para hacer cursos de pago, espero en un futuro poder hacerlos, saludos.
es el primer tutorial de microservicio que me encuentro en el que van al lio directamente, cuando se tiran por las ramas a explicar cada detalle me pongo de los nervios. Excelente contenido.
Soy de ese Dev que no siguen la ruta de aprendizaje y toma el toro por los cuernos y la cola, y tu forma de explicar es sin duda excepcional, muchas gracias!, Recomendare este curso con mi equipo de trabajo dado que estamos aprendiendo Microservicios.
Gracias por tu comentario y tu apoyo, espero les sea de muchas utilidad! Éxitos.
Explicación suber tranquila y asentada.
El conocimiento no compartido es una receta médica sin letras.....
Saludos desde Mexico...🥰🥰🥰🥰
Wow, que buen video, me ha sido muyy útil ahora de regreso en el mundo del desarrollo !!, mil gracias
muchas gracias ya sabia cosas de spring pero me has ampliado el panorama sigue con tu trabajo, de verdad ayudas mucho a futuras generaciones
Gracias Gabriel, no olvides suscribirte, dejar tu me gusta y compartir para hacer crecer el alcance del canal. Saludos.
Brother, muchas gracias por compartir tu conocimiento, un saludo desde Bogotá, Colombia!
Hola Daniel, gracias por el apoyo, no olvides compartirlo y suscribete para no perderte el contenido nuevo, saludos.
Muchas gracias por el aporte, felicitarte por la claridad en tus explicaciones y lo valioso del contenido que compartes. No me perdería por nada esta serie de videos, contenido a fin a los recursos que tocamos cada día en el desarrollo de aplicaciones modernas y sobre todo un excelente modelador detrás de la enseñanza que sabe transmitir el conocimiento. Quedo al pendiente de cada contenido, nuevamente muchas gracias.
Gracias por el comentario Silvio, muy amable, no te pierdas ningún video, vamos a seguir tocando temas que considero interesantes. 👋👍
gracias por el aporte. muy buen video. facil explicacion. rapida y concisa. se agradece saludos desde argentina
Gracias por el apoyo Cristian! Pronto subiré mas videos, saludos.
gracias por compartir tu conocimiento , excelente video , vere toda la serie
hola, recién descubro este canal y obviamente me lo agendé y voy a ver toda la lista para introducirme en microservicios, muchas gracias por el aporte
Muy buen video, me gusta tu manera de explicar. Ya me suscribí. Abrazo grande capo.
Gracias por tu apoyo al canal Pablo, saludos.
El video esta bastante practico, unas sugerencias que puedo darte es que utilices buenas practicas de desarrollo de software, por ejemplo usar principios SOLID, crear interfaces pensando en que en un futuro la base de datos se pueda cambiar, tampoco usas servicios para la lógica de negocios sino que de una mandas a llamar el reposity en el controller, lo cual me parece una mala practica, pero a modo de intro esta bien, pero creo que puedes aplicar las buenas practicas desde el inicio
Gracias Sergio, se viene una serie solo de patrones de diseño y buenas prácticas en java, después de esta, un saludo.
@@RaulPortilloAlvarez Excelente
Me imagino que lo hace para solo dar entender las tecnologias que se aplica, estos videos ayudan a complementar cuando ya dominas la parte de desarrollo, ya que ayuda como armar todas las dependencias
Muy buen video gracias por esta serie. Un nuevo subscriptor 👍
Gracias por tu apoyo William, saludos.
Geniaaaaaal!!! gracias !!
Está actualizado? Java 21 ? Spring 3 en adelante ? OpenTelemetry en vez de Zipkin?
Excelente explicacion, quisiera preguntarte si tienes algun ejemplo con Gradle, gracias por compartir conocimiento!!!
Hola Esteban, gracias por el apoyo, momentáneamente solo con Maven, pero hay temas aún pendientes, posiblemente migre algún proyecto a gradle como ejemplo. Saludos
Gracias por el video, voy a disfrutar mucho esta serie de videos. Tengo una consulta, como se debe guardar estos microservicios en un repositorio. Deben ir todos dentro de un repo solo separados por carpetas (product-microservice, order-microservice...). O debe ir cada microservicio en un repositorio, o quizá cada microservicio en una rama?
Hola, personalmente te recomiendo guardar cada proyecto en su propio repositorio, un saludo.
Muy buen curso e interesante y perfecto Gracias por el aporte, abusando el material teorico q presentas no lo podras compartir ? ? Saludos
Dónde en qué página compro todo el curso termino hasta el vídeo 12 Pero falta .... Dónde puedo comprar el curso ?
Buen aporte,gracias,mi consulta es tu servicio esta corriendo en el puerto 8080,hay q instalar tomcat entonces para hacer correr estos servicios en el postman?
Hola Raúl, si debes tener tomcat en tu IDE de desarrollo. Saludos.
Buen aporte. Mi pregunta es por que no tenes una capa de servicio? es recomendable tener esa capa?
Hola Lucas, las capas en las que desees modular tu desarrollo dependera de la necesidad que se tenga, una capa de servicio es perfectamente aplicable si lo deseas. Saludos
Ha pasado mucho tiempo este video, aun puede servir como base para aprender los microservicios ?
@@v2_user totalmente, algunas dependencias pueden haber cambiado algunas configuraciones pero la base es la misma. Saludos
@@RaulPortilloAlvarez Muchísimas gracias...! De todas formas estoy realizando paso a paso lo que va enseñando en los videos, cambiando las versiones en el POM y usando JDK 11. Saludos, muy buen contenido.
que tal, que versión de IntelliJ IDEA estas usando
Hola, es IntelliJ 2021.3.3 Ultimate Edition.
Saludos estoy buscando crear un microservicio como el de este video pero con MySQL me podrías por favor recomendar si ya creaste uno
Exelente Video pero tengo una consulta como hiciste el diagrama???
Hola Ricardo, el diagrama inicial que vemos en este video, lo encontré en Internet, ideal para ejemplificar la introducción, los siguientes diagramas de la serie los elaboré el draw.io
@@RaulPortilloAlvarez Super muchas gracias...
Una consulta, si quiero llevar este tipo de proyecto spring boot mricoservicos en AWS que servicio sera el mas recomendable? Elastic Container Service, Lambda , Beanstalk ?
Hola, dependerá mucho del diseño del sistema y como estará distribuido, todos tienen sus propios beneficios, no quiero decir, usa éste o éste, depende mas bien del alcance de tu sistema, pero para recrear un laboratorio te valen los 3. Saludos.
Una dudita, el ejemplo es un Microservicio con Orquestación? Y si es así cuál es "la clase coordinadora"?
Por que el Id de product es String ?? pasa algo si lo dejo como Long ?? saludos y gracias por tus videos
Si exploras las coleccion de documentos en mongodb, verás que es una cadena alfanumérica.
@@RaulPortilloAlvarez tendré que ir a echar un vistazo, es primera vez que paso a mongo. un abrazo y gracias por responder tan rápido :)
Como puedo hacer llaves foraneas con 2 microservicios creados en Spring ?
Hola, en la arquitectura de Microservicios distribuidos el concepto de llave foranea cambia ya que un microservicio tiene su propia base de datos independientemente este relacionado con otro, trataré de hacer algunos videos al respecto. Saludos.
Es necesario lo del minuto 4:33 ??? es que Intellij me pide dinero para instalarlo, no hay otro IDE para eso??
Hola Franco, puedes usar la versión de prueba de intellij o puedes usar eclipse, vscode o netbeans, no es estrictamente necesario el mismo ide, puedes usar STS, también. El paso q mencionas no es obligatorio. Se ejecuta igualmente cuando inicias el proyecto, saludos.
O el vsCode, yo ocupo ese xD
como sería si la url que me da spring boot la metiera en fetch de javascript?
Hola, es la que colocamos en postman en este video en especifico, mas adelante usamos eureka y las APIs cambian.
Buen video, tengo una duda, por ejemplo en un sistema tengo un microservicio Clientes y este servicio tendrá en su base de datos una tabla con los tipos de documento del cliente, en este sistema también podría existir un microservicio Usuario y también podría tener en su base de datos una tabla tipo de documento de usuario, en este caso como se trabajan estos datos que afectan a mas de un microservicio ya que los tipos de documentos son comunes entre ambas entidades?; yo deberia de crear 2 tablas tipo documento una en cada microservicio? Gracias
Hola Víctor, no, si es una entidad en común, debes crear un microservicio separado y relacionarlo con los microservicios via DTO por ejemplo. En un futuro abordaré ese tipo de escenarios.
Hola, gracias por el aporte, consulta, tienes página web o algún medio de contacto (email)? quiero saber si haces algún tipo de clase particular para ir viendo temas con springboot, saludos.
Hola Cristian, gracias por el apoyo, momentáneamente estoy bastante saturado en mi agenda, pero me puedes contactar a rauledg.portillo@gmail.com, saludos.
Hola Spring Boot se utiliza como back-end de proyectos de react o angular? Y si es así, al momento de hostear se requiere un Host para el back y otro Host para el front ? Gracias
Spring boot puede ser utilizado de muchas formas , en lo que comentas si es utilizado como backend pero no exclusivamente de react o angular , sino que a cualquier frontend que este haciendo una petición al back (spring boot)
@@frankpaitan7009 Disculpe, para los q venimos del back y recien iniciamos en el front, para el caso de Angular, que temas se debe ir conociendo basicamente para empezar a probar las aplicaciones hechas con java SpBoot en back (en una arq. Microservicios , SPA ) ? Gracias
Buen video, tengo una consulta por ejemplo en este sistema tengo un microservicio Clientes y seguro tendrán tipo de documento así que es la db de clientes habrá una tabla tipo documento, en este sistema también podría haber un microservicio usuario y también podría tener en su base de datos una tabla tipodicumento en este caso cono se hace , se crean 2 tablas tipo documento una en cada microservicio? Gracias
En teoría se podría hacer lo que planteas ya que cada microservicio es independiente del otro, pero siguiendo con tu ejemplo podrías optimizar dejando un solo microservicio de usuarios y a este le asignes roles, de esta manera comparten las mismas propiedades y a partir de ahí podrías generar un flujo para cada rol.
@@pablohoyos6987 Hola gracias por la respuesta, el tema esta en que Clientes y Usuarios tienen propiedades bastante diferentes el tema de tipo documento es una de las pocas que comparten, Saludos
en resources no me aparece esas opciones comop puedo hacer en ese caso
Hola Erick, en la versión comunity creo que no hay autocompletado en archivos de propiedades, puede buscar si hay algún plugin.
En qué servidor alojaste el microservicio?
Hola, en la serie los estoy ejecutando en local, en el servidor tomcat integrado.
@@RaulPortilloAlvarez gracias por responder, tengo una consulta estoy empezando en esto . Para tenerlo en producción qué servidor me recomiendas o uso el tomcat?
no tendras el codigo fuente??, no entiendo que hice mal, porque cuando hago post solo me sale el _id y el _class, no se que habre copiado mal para que me guarde mal los datos, lo peor es que el envio supuestamente fue exitoso
Claro Franco, en la próxima sección subiré los proyectos a git para que estén disponibles.
hola franco yo utilizo eclipse como desarrollo me pasaba el mismo error lo solucione poniendo los getter y setters manualmente sin utilizar el lombok ojala pudiera añadir una imagen
@@gabrielfelipeaguilarbarrer9171 gracias por el dato.
@@gabrielfelipeaguilarbarrer9171 Te lo agradezco mucho amigo. Tambien uso Eclipse para realizar este ejercicio, le aplique lo que recomendaste y me comenzo a funcionar excelente el programa. Benditas sean las personas como tu que comparten su conocimiento y ayudar a los demas. Te deseo lo mejor!
@@gabrielfelipeaguilarbarrer9171 buen dato, podrías explicarme como lo hiciste?, gracias.
Llamas Al repositorio desde el controller eso es mala practica lo tenes q llamar en el servicio.
Hola amigo. Buenos dias.
Al intentar ejecutar el proyecto me sale el siguiente warnning:
2022-09-15 13:57:34.257_[0;39m _[33m WARN_[0;39m _[35m3228_[0;39m _[2m---_[0;39m _[2m[ main]_[0;39m _[36mConfigServletWebServerApplicationContext_[0;39m _[2m:_[0;39m Exception encountered during context initialization - cancelling refresh attempt: org.springframework.beans.factory.UnsatisfiedDependencyException: Error creating bean with name 'productController': Unsatisfied dependency expressed through field 'productRepository'; nested exception is org.springframework.beans.factory.NoSuchBeanDefinitionException: No qualifying bean of type 'com.wannacode.productmicroservice.repository.ProductRepository' available: expected at least 1 bean which qualifies as autowire candidate. Dependency annotations: {@org.springframework.beans.factory.annotation.Autowired(required=true)}
A continuación, SB propone lo siguiente:
***************************
APPLICATION FAILED TO START
***************************
Description:
Field productRepository in com.wannacode.productmicroservice.controller.ProductController required a bean of type 'com.wannacode.productmicroservice.repository.ProductRepository' that could not be found.
The injection point has the following annotations:
- @org.springframework.beans.factory.annotation.Autowired(required=true)
Action:
Consider defining a bean of type 'com.wannacode.productmicroservice.repository.ProductRepository' in your configuration.
He intentado poner la anotación @Repository en la interfaz ProductRepository para solventar le error pero sin éxito.
***************************
Me puedes ayudar con eso?
Muchas gracias.
Un saludo.
porque en Postman solo me sale la consulta asi:
[
{},
{}
]
y en Mongo dice que se guarda com.sam.productmicroservice.entity.ProductEntity@948349
crea los get y set aparte, sin usar el lombok.
package com.Microservices.productmicroservices.entity;
import org.springframework.data.annotation.Id;
import org.springframework.data.mongodb.core.mapping.Document;
//import lombok.Getter;
import lombok.NoArgsConstructor;
//import lombok.Setter;
@Document(value = "product")
//@Getter
//@Setter
@NoArgsConstructor
public class ProductEntity {
@Id
private String id;
private String productName;
private String productDescription;
private Double unitPrice;
public String getid() {
return id;
}
public void setid(String id) {
this.id = id;
}
public String getproductName() {
return productName;
}
public void setproductName(String productName) {
this.productName = productName;
}
public String getproductDescription() {
return productDescription;
}
public void setproductDescription(String productDescription) {
this.productDescription = productDescription;
}
public Double getunitPrice() {
return unitPrice;
}
public void setunitPrice(Double unitPrice) {
this.unitPrice = unitPrice;
}
}
@@ricardoandresmarinpinilla6272 Comentario infravalorado, Muchas gracias amigo 🤙
me sale error en productRepository.save(productEntity);
@PostMapping
@ResponseStatus(HttpStatus.OK)
public void createProduct(@RequestBody ProductEntity productEntity){
productRepository.save(productEntity);
}
Hola Marco, puedes revisar el código de la serie, encontrarás el enlace a repositorio en la descripción del video #5, saludos.