9 videos 📅 2023-08-31 09:00:00 America/Bahia_Banderas
1:45:24
2023-08-31 09:10:16
49:05
2023-08-31 11:33:11
1:08:01
2023-08-31 12:36:28
42:18
2023-08-31 15:49:43
1:01:14
2023-08-31 23:21:25
5:58
2023-09-01 09:15:11
11:59
2023-09-01 09:21:33
3:42:30
2023-09-01 09:34:32
8:12
2023-09-01 16:29:10

Visit the Spring Cloud grupo 1 course recordings page

                WEBVTT

00:00:00.000 --> 00:00:02.060
Y te voy asistiendo, por favor.

00:00:07.540 --> 00:00:08.180
Ah, OK.

00:00:08.860 --> 00:00:09.280
Ya.

00:00:09.640 --> 00:00:11.860
Bueno, a ver, ¿en qué parte te quedaste?

00:00:18.280 --> 00:00:19.220
Ah, OK.

00:00:19.560 --> 00:00:23.460
Mira, eso de que te mandes a abrir de eureca es porque no

00:00:23.460 --> 00:00:25.700
estás en la rama que debe de ser.

00:00:26.740 --> 00:00:27.300
¿Por qué lo sé?

00:00:27.300 --> 00:00:31.460
Porque la rama de Feature First Day es la única que no tiene

00:00:31.460 --> 00:00:33.280
esas dependencias de eureca.

00:00:33.520 --> 00:00:35.320
¿O en qué microservicio estás, perdón?

00:00:41.040 --> 00:00:42.200
En el de user.

00:00:42.740 --> 00:00:44.880
Ah, entonces creo que ese es el que más bien habría que

00:00:45.480 --> 00:00:46.420
quitarle dependencias.

00:00:46.500 --> 00:00:48.060
Lo que tienes que hacer es dejar el POM.

00:00:48.460 --> 00:00:49.460
Acuérdate del archivo POM.

00:00:49.900 --> 00:00:53.600
Lo tienes que dejar también igual al archivo POM del de

00:00:53.600 --> 00:00:53.940
productos.

00:00:54.540 --> 00:00:56.260
Ahí hay unas dependencias que hay que quitar.

00:00:56.260 --> 00:00:59.180
Justo, por ejemplo, esa de eureca, no la ocupamos.

00:00:59.860 --> 00:01:03.080
Entonces, revisa el POM y tienes que dejarlo igual también al

00:01:03.080 --> 00:01:04.000
de productos.

00:01:06.060 --> 00:01:06.220
¿Va?

00:01:06.500 --> 00:01:09.060
Sí, no de nada, de nada.

00:03:30.560 --> 00:03:35.800
Por ahí creo que Iván ya lo levantó.

00:03:35.860 --> 00:03:36.740
¿Quién más?

00:03:38.920 --> 00:03:41.380
Creo que Jorge Ángel también.

00:03:43.240 --> 00:03:45.800
Francisco David ahí también va dándole.

00:03:46.760 --> 00:03:47.120
¿OK?

00:03:49.720 --> 00:03:50.480
Va.

00:03:53.820 --> 00:03:54.720
Armando igual.

00:03:58.300 --> 00:03:59.500
César también.

00:03:59.620 --> 00:04:02.160
Ahí va.

00:04:03.260 --> 00:04:03.860
Sal.

00:04:05.800 --> 00:04:07.300
Bueno, de solo alarma.

00:04:07.400 --> 00:04:09.240
Pasar dos minutitos más.

00:04:10.080 --> 00:04:10.800
A ver, 40.

00:04:30.700 --> 00:04:35.960
Me le bajo porque suena muy fuerte esta cosa.

00:04:40.080 --> 00:04:40.800
OK.

00:04:54.120 --> 00:04:58.720
Mientras, voy a poner la norma de este módulo.

00:05:06.560 --> 00:05:09.360
Voy a poner la norma de este módulo.

00:05:10.260 --> 00:05:12.420
Voy a ponerle 15.

00:05:35.760 --> 00:05:36.920
Listo, va.

00:05:36.920 --> 00:05:40.820
Entonces, ¿cómo les fue si lograron levantarlo?

00:05:41.580 --> 00:05:43.260
O en qué se quedaron.

00:05:45.320 --> 00:05:47.080
¿Quién siente así que ya casi la tenía?

00:05:56.600 --> 00:05:58.740
Pues yo creo que varios, ¿no?

00:06:05.380 --> 00:06:06.100
OK.

00:06:07.420 --> 00:06:11.780
A ver, entonces, voy a compartir mi pantalla.

00:06:19.140 --> 00:06:24.700
Y vamos dándole solución al ejercicio, ¿va?

00:06:26.780 --> 00:06:28.660
A ver, ¿me avisan cuando ven mi pantalla?

00:06:28.660 --> 00:06:29.900
Por favor.

00:06:32.160 --> 00:06:32.880
¿Ya se ve?

00:06:33.300 --> 00:06:34.920
Ah, perfecto.

00:06:35.180 --> 00:06:36.520
Las deje que se quite eso negro.

00:06:36.620 --> 00:06:37.040
Ahí está.

00:06:37.820 --> 00:06:38.660
OK, bueno.

00:06:39.020 --> 00:06:46.580
Entonces, vamos a continuar con la parte de lo que es ya

00:06:46.580 --> 00:06:49.480
aplicar las librerías de Spring Cloud.

00:06:50.240 --> 00:06:53.100
El objetivo de hacer la práctica de ese ratito y no

00:06:53.100 --> 00:06:54.340
dejarla en conclusa.

00:06:54.460 --> 00:06:57.780
Yo vi que varios ya terminaron al menos un micro y lo

00:06:57.780 --> 00:06:59.180
levantaron, hicieron el CRUD.

00:06:59.300 --> 00:07:00.900
Entonces, eso está bastante bien.

00:07:03.080 --> 00:07:08.760
La idea es que pues logren identificar en los tres micros

00:07:08.760 --> 00:07:14.480
cómo están las capas que se desarrollaron, que se

00:07:14.480 --> 00:07:15.760
propusieron para este ejercicio.

00:07:16.520 --> 00:07:19.380
Estas mismas capas están, como ya lo vieron, en los

00:07:19.380 --> 00:07:20.380
tres microservicios, ¿no?

00:07:20.380 --> 00:07:22.800
En el de producto, en el de usuario y en el de órdenes.

00:07:23.040 --> 00:07:26.640
Entonces, la idea de eso es para que eso sea lo que

00:07:26.640 --> 00:07:28.360
Tenemos que ir teniendo muy menos complicación los de

00:07:28.360 --> 00:07:35.580
porque realmente la parte de añadir Spring Cloud o esas

00:07:35.580 --> 00:07:39.020
librerías solamente es pura configuración.

00:07:39.280 --> 00:07:42.140
O sea, ahorita que veamos, vamos a ir viendo ahora cada

00:07:42.140 --> 00:07:46.340
producto de los que ayer hablamos con detalle, y vamos

00:07:46.340 --> 00:07:48.840
a ir viendo que simple y sencillamente es añadir

00:07:48.840 --> 00:07:52.440
dependencias en los POMs, configurar y listo.

00:07:52.440 --> 00:07:58.600
realmente yo creo que se van a añadir dos o tres líneas en cada micro en cuestión de programación

00:07:58.600 --> 00:08:05.320
no no es este ya no es el objetivo es más bien configurar y bueno esa es la idea no que vamos

00:08:05.320 --> 00:08:15.020
ahorita a ir revisando del ejercicio pues bueno creo que este al ver que al menos un micro

00:08:15.020 --> 00:08:22.240
lograron levantarlo eso me da a mi entender que este que si dominaron la estructura lo único

00:08:22.240 --> 00:08:27.460
que sucede es que bueno yo comparto la misma opinión que ahorita van detener ustedes que el tiempo

00:08:27.460 --> 00:08:33.800
fue muy cortito no y está bien la verdad es que si está un poco holgado las 14 horas para ver todo

00:08:33.800 --> 00:08:41.420
el temario pero este pero bueno digo más bien está muy justo no el tiempo pero pero bueno al

00:08:41.420 --> 00:08:47.000
menos lo se logró hacer una una práctica levantaron un micro y pues bueno con eso

00:08:47.000 --> 00:08:55.240
es más que suficiente ahorita la forma de trabajar es este les voy a pasar ahorita las bueno yo les

00:08:55.240 --> 00:08:59.840
voy a mostrar mejor dicho como está funcional ya toda la arquitectura nuestra arquitectura de

00:08:59.840 --> 00:09:04.960
microservicios que si se logra ver ahí son como siete proyectos que se abren en paralelo que es

00:09:04.960 --> 00:09:09.740
básicamente lo que les platicaba ayer no en ventajas desventajas de las desventajas al menos

00:09:09.740 --> 00:09:14.680
yo así lo veo este para hablar de microservicios pues de entrada tienes que tienes que tener

00:09:14.680 --> 00:09:20.140
fierro no tienes que tener unas máquinas potentes que te aguanten abrir siete instancias de

00:09:20.140 --> 00:09:27.100
intel y jay con corriendo java corriendo maven descargando dependencias entonces este es costoso

00:09:27.100 --> 00:09:32.800
la verdad pero bueno ya que ya hay que acostumbrarse hablando de microservicios pues

00:09:32.800 --> 00:09:37.960
que así así se van a hacer las pruebas así se van a hacer los desarrollos los flujos lo

00:09:37.960 --> 00:09:43.860
que tú antes seguías en un solo en una sola clase probablemente no en varios métodos a

00:09:43.860 --> 00:09:49.820
mejor este en un solo en una sola instancia en un solo proyecto ahora lo vas a ver así

00:09:49.820 --> 00:09:56.640
en varios en paralelo entonces a veces probar los flujos pues bueno si resulta algo complejo

00:09:56.640 --> 00:10:02.360
hablar de la documentación pues también pero bueno sus ventajas desventajas también es

00:10:02.360 --> 00:10:06.760
que le brinda independencia cada componente a tu aplicativo lo que decíamos y mañana se

00:10:06.760 --> 00:10:11.780
me cae order services pues yo puedo seguir continuando con el alta de usuarios con la

00:10:11.780 --> 00:10:17.740
producción incluso mi front end va a seguir respondiendo se traduce en una mejor experiencia

00:10:17.740 --> 00:10:25.140
de usuario etcétera que digo al final para eso también de eso también hablamos el hecho de

00:10:25.140 --> 00:10:32.160
darle esa buena experiencia al usuario de entrar en nuestros en nuestros aplicativos creo

00:10:32.160 --> 00:10:37.020
que eso es lo más lo que con lo que buscamos todos no como desarrolladores que el usuario

00:10:37.020 --> 00:10:45.820
diga a que chida aplicación entonces este bueno ahora vamos a continuar con la presentación con

00:10:45.820 --> 00:10:55.440
con lo que teníamos ayer hablamos en cuestión e ilustramos nosotros de estos endpoints estos

00:10:55.440 --> 00:10:59.580
cinco endpoints con el microservicio de productos hicimos todo un cruz de hecho

00:10:59.580 --> 00:11:05.480
estos son cruz hicimos un cruz ustedes hicieron la práctica de hacer el cruz sobre usuarios

00:11:05.480 --> 00:11:11.960
que también ya ya quedó y este algunos todavía incluso avanzaron con el de órdenes otros ahí

00:11:11.960 --> 00:11:17.240
vamos como que a medias pero pero bueno al final el objetivo era ese no crear cruz y

00:11:17.240 --> 00:11:22.000
creo que ahí ya estamos todos en el mismo canal de de para que se ocupa no cada microservicio

00:11:23.240 --> 00:11:32.380
entonces este aquí pues bueno fue es una explicación de lo que se hace en cada directorio

00:11:32.380 --> 00:11:38.320
en cada paquete que conlleva el con la clase de controllers el modelo los de tos repositorios

00:11:38.320 --> 00:11:44.960
el service todo esto ya lo vimos incluso hasta le metieron ahí codificación entonces

00:11:44.960 --> 00:11:51.780
quedó más que claro la estructura pues así se fue armando en este caso se ilustra el

00:11:51.780 --> 00:12:00.560
microservicio de user service y bueno así fue la estructura este y listo entonces

00:12:00.560 --> 00:12:07.560
aquí bueno es lo mismo básicamente te va diciendo qué clase ir creando en cada en

00:12:07.560 --> 00:12:15.280
cada este paquete como cómo se van a ir llamando y demás no pero todo esto pues ya lo lo

00:12:15.280 --> 00:12:21.960
tenemos incluso están las ramas del repositorio pues para futuras referencias y con esto

00:12:21.960 --> 00:12:27.240
estaríamos cerrando el día 1 que fue lo que platicamos ayer levantar tres microservicios

00:12:27.240 --> 00:12:35.120
para hacer cruz no que son las relaciones de usuario producto y órdenes ahora vamos a ver

00:12:35.720 --> 00:12:43.440
digamos ya la parte de en materia es print cloud la iniciativa que nos que nos trae este

00:12:43.440 --> 00:12:48.480
framework y cómo lo vamos a ir aplicando en esos tres micros que creamos lo que son

00:12:48.480 --> 00:12:55.500
cruz normales y que bueno todos en alguna vez ya ya hemos trabajado entonces a esta le voy

00:12:55.500 --> 00:13:01.180
a hacer un zoom así como rápido este es un pequeño diagrama de arquitectura de la

00:13:01.180 --> 00:13:07.500
arquitectura que vamos a crear de lo que vamos a estar haciendo entonces ya más o menos

00:13:07.500 --> 00:13:13.260
habíamos hablado de un primer diagrama ayer es donde se veían las peticiones demás este

00:13:13.260 --> 00:13:18.300
es un diagrama un poquito ya más complejo más completo también en donde bueno se ilustra

00:13:18.300 --> 00:13:22.740
que el cliente que puede ser cualquier sistema externo incluso un front en una

00:13:22.740 --> 00:13:29.360
aplicación una app lo que sea un postman un cliente de postman hace una petición

00:13:29.360 --> 00:13:37.080
hacia alguno de nuestros microservicios y lo primero que va a caer la petición es en el

00:13:37.080 --> 00:13:42.640
en el gateway entonces vamos a estar viendo un producto que trae spring cloud que se llama

00:13:42.640 --> 00:13:49.140
gateway vamos a estar viendo lo que es ese gateway ese gateway después va y lo primero

00:13:49.140 --> 00:13:54.380
que tiene que hacer es autenticar esa petición esa petición la va a autenticar por medio de un

00:13:54.380 --> 00:14:02.320
servidor que nosotros proponemos que se llama keyclock y creo que es un servidor que

00:14:02.320 --> 00:14:09.400
precisamente que se encarga de generar tokens toda esta parte de los jwt es no es la

00:14:09.400 --> 00:14:17.540
intención explicar que es un jwt ni nada así simplemente es especificar que es una es un

00:14:17.870 --> 00:14:23.570
mecanismo que te da seguridad porque te brinda de autenticación va entonces este básicamente

00:14:23.570 --> 00:14:29.350
es si la petición tiene cierto token que es válido por o es generado desde keyclock

00:14:29.350 --> 00:14:36.470
entonces aplicas esa esa petición es segura de lo contrario te va a rechazar la petición y

00:14:36.470 --> 00:14:43.490
pues no se va no se va a cumplir va entonces este esta parte del mecanismo de seguridad se

00:14:43.490 --> 00:14:49.910
va a agregar aquí al gateway para que este prácticamente haciéndolo así todas nuestras

00:14:49.910 --> 00:14:55.570
peticiones van a estar este seguras por qué porque todo va a pasar desde el gateway o sea ya no le

00:14:55.570 --> 00:15:00.450
voy a pegar yo directamente al microservicio del usuario al de producto o al de órdenes

00:15:00.450 --> 00:15:05.890
sino que yo ya voy a tener un gateway que además un get para que nos ayuda a tener un

00:15:05.890 --> 00:15:13.210
gateway porque además hablamos del tema del balanceo de carga este uno de los mecanismos

00:15:13.210 --> 00:15:19.830
que tienen los gateways es eso no va a balancear la carga él se va a encargar de en función de

00:15:19.830 --> 00:15:29.010
qué tanto tráfico haya y hacia el microservicio que quieres este consumir va va a ir creando

00:15:29.010 --> 00:15:36.050
generando varias este instancias de ese de ese micro y las va a estar este regulando y va

00:15:36.050 --> 00:15:41.070
va a distribuir ese tráfico va entonces este una de las de las ventajas que tienen los

00:15:41.070 --> 00:15:47.910
gateways pues es también eso sale después que clock vuelve a pasar su respuesta hacia

00:15:47.910 --> 00:15:56.350
gateway y como te decía si todo está bien nos vamos ahora al servicio de eureka que es un

00:15:56.350 --> 00:16:00.950
servicio que tiene descubrimiento de servicios que es lo que hablamos un poquito ayer

00:16:02.230 --> 00:16:08.510
básicamente eureka es un servidor que es un mecanismo que nos permite identificar por

00:16:08.510 --> 00:16:15.710
medio de los names cuáles son los microservicios que están en la red de este servidor estos

00:16:15.710 --> 00:16:22.410
microservicios que se conectan a este servidor de eureka se llaman clientes entonces básicamente

00:16:22.410 --> 00:16:31.010
el gateway se conecta con eureka server porque necesita conocer quién es el microservicio al

00:16:31.010 --> 00:16:35.210
quien están al que le están haciendo la petición si acuérdense que la petición

00:16:35.210 --> 00:16:44.290
entonces en ese sentido el flujo va así flujo lineal y una vez que eureka server te dice

00:16:44.290 --> 00:16:51.050
identifica que en efecto la petición se trata de uno de los clientes a los que él tiene

00:16:51.050 --> 00:16:57.010
suscritos entonces ya la petición la puede distribuir ya sea al microservicio de usuarios

00:16:57.010 --> 00:17:04.090
al de productos o al de órdenes va entonces este si llega en cualquiera de esos vamos a

00:17:04.090 --> 00:17:10.190
analizar el flujo de productos es lo mismo en cualquiera de los tres cada microservicio

00:17:10.190 --> 00:17:18.730
de usuario producto y órdenes tiene incorporadas librerías que son las que nos marca aquí el

00:17:18.730 --> 00:17:23.690
temario no esas librerías son por ejemplo el fein el fein traen las tres la tienen

00:17:23.690 --> 00:17:30.010
incorporada ambos bueno todas las los microservicios tienen ribbon todos tienen

00:17:30.010 --> 00:17:38.170
his tricks y todos tienen slow para que sirven el fein client como ayer también hablábamos es

00:17:38.170 --> 00:17:43.190
para que se comuniquen entre ellos se van a poder hacer peticiones por medio de fein y

00:17:43.190 --> 00:17:51.090
se van a conocer van a poder acceder a ciertas funciones como por ejemplo obtener

00:17:51.090 --> 00:17:58.930
datos de desde un microservicio hacia otro ribbon va muy de la mano con la parte de

00:18:00.070 --> 00:18:06.110
permitiéndolos hacer balanceo de carga sale his tricks que les decía his tricks está un

00:18:06.110 --> 00:18:13.010
poquito desactualizado más bien es otra librería que básicamente implementa el mismo patrón el

00:18:13.010 --> 00:18:19.210
mismo concepto que es el de los circuit breakers y básicamente esto es para que cuando una se

00:18:19.210 --> 00:18:26.350
intente hacer una llamada fein client desde un servicio hacia otro este proporcioné un

00:18:26.350 --> 00:18:30.810
mecanismo de tolerancia fallos quiere decir que si en algún momento alguien falla en esa

00:18:30.810 --> 00:18:38.250
comunicación his tricks nos va a recuperar esa petición fallida va y por último viene la

00:18:38.250 --> 00:18:45.390
librería de es leo es leo se va básicamente lo que provee esta librería son unos

00:18:45.390 --> 00:18:53.690
identificadores unos numeritos una cadena de varios dígitos creo que incluso también

00:18:53.690 --> 00:19:02.990
son alfanuméricos y bueno esos números que son identificadores únicos se sirven se guardan

00:19:02.990 --> 00:19:10.510
o se inyectan en cada traza de las peticiones y esto sirve para que cuando tú detectes o

00:19:10.510 --> 00:19:16.270
bueno más bien la aplicación caiga en un estado de error en algún que haya habido algún

00:19:16.270 --> 00:19:20.550
problema por algo con por medio de ese identificador tú lo puedes buscar en un

00:19:20.550 --> 00:19:28.750
servicio que se llama si piquen y vas a poder hacer el rastreo de errores va es básicamente lo

00:19:28.750 --> 00:19:34.610
mismo que hacíamos manualmente de buscar en los logs no aquí no le tocó pedir a la gente

00:19:34.610 --> 00:19:40.730
infra los logs de los servidores como para estar ahí revisando bueno es eso pero un poquito ya

00:19:40.730 --> 00:19:48.510
más este más simple no por mí es una interfaz de usuarios y que ahorita la vamos a ver y

00:19:48.510 --> 00:19:54.230
es decir que nosotros vamos a pasarle esa traza le vamos a pegar ese número y vamos a encontrar

00:19:54.230 --> 00:20:02.310
ahí todo el detalle del problema que se origina va entonces este es un mecanismo para búsqueda

00:20:02.310 --> 00:20:09.710
de errores monitoreo va y después de que la petición llega al microservicio

00:20:16.250 --> 00:20:24.910
bueno después de que el microservicio termina de hacer esto lo lleva al bueno más bien aquí

00:20:24.910 --> 00:20:33.150
el componente de spring cloud bus que en este ejemplo tenemos nosotros como cafca este siempre

00:20:33.150 --> 00:20:41.090
está este siempre está activo va entonces cafca siempre le está proviendo de sus configuraciones

00:20:41.090 --> 00:20:49.510
en tiempo real a través de lo que se conecta aquí en el config server y nuestro config server que

00:20:49.510 --> 00:20:55.630
se conecta a nuestro config rep que básicamente era lo que veíamos ayer en un ejemplo este

00:20:55.630 --> 00:21:01.130
nosotros en el config repo tenemos archivos de configuración sí que el config server los

00:21:01.130 --> 00:21:06.530
va a estar bajando el config server igual es un servicio es un este es un microservicio que

00:21:06.530 --> 00:21:12.290
sirve como servidor y entonces en este caso usuario productos y órdenes son clientes

00:21:12.290 --> 00:21:18.610
conectados a ese config server y el intermediario entre ellos es cafca que funge como un bus

00:21:18.610 --> 00:21:26.010
entonces cada vez que tú hagas un cambio aquí en github este la los cambios se van a ir

00:21:26.010 --> 00:21:31.530
pagando en esos archivos de configuración hacia los microservicios de producto órdenes y

00:21:31.530 --> 00:21:37.090
usuarios va tenemos aquí la ilustración de sipkin también para el seguimiento de

00:21:38.110 --> 00:21:44.190
de errores y bueno al final de que todo esto se cumple la petición regresa al

00:21:44.190 --> 00:21:50.090
gateway ya con una respuesta aquí aquí viaja un request aquí inicia un request hasta acá

00:21:50.090 --> 00:21:55.750
llega un response no llega una respuesta que se la propaga pues a nuestro a nuestro cliente

00:21:56.610 --> 00:22:03.230
básicamente este es el flujo que que vamos a estar revisando vamos a estar armando y

00:22:03.230 --> 00:22:09.430
vamos a ir creando la arquitectura vamos a ver de aquí se van a identificar nuevos

00:22:09.430 --> 00:22:15.430
microservicios es decir hay que crear nuevos proyectos hay que darlos de alta y otros

00:22:15.430 --> 00:22:22.490
nada más son librerías que se agregan en los pom este o en los este en los

00:22:22.490 --> 00:22:34.350
properties entonces esa es básicamente la configuración digamos explicada de forma rápida

00:22:34.350 --> 00:22:41.950
no sé si más o menos quedó clara el cómo llegaría a ser la petición cuáles son los micros bueno

00:22:41.950 --> 00:22:48.830
más bien los productos involucrados en en este flujo o si tengan alguna duda o comentario de

00:22:48.830 --> 00:22:49.950
este diagrama

00:22:57.510 --> 00:23:01.390
o probablemente sobre la marcha no irán saliendo las las dudas

00:23:04.190 --> 00:23:10.470
perfecto va pues bueno entonces este diagrama si ya tienen la presentación que según entiendo

00:23:10.470 --> 00:23:17.150
ya lo pueden estar abriendo este en cada ocasión que repasemos porque vamos a ir repasando

00:23:17.150 --> 00:23:24.890
cada uno de los componentes lo vamos a ir este revisando va este bueno ahorita ya sonora

00:23:24.890 --> 00:23:31.690
la alarma del primer pomodoro hay que tomar cinco minutos entonces este bueno para hacer más

00:23:33.550 --> 00:23:41.850
los números la matemática más sencilla a las 10 con 5 10 con 5 nos volvemos a junta

00:23:41.850 --> 00:23:44.930
les parece y continuamos con el temario

00:23:49.050 --> 00:23:54.390
va entonces ahorita nos vemos en 5 minutos bueno 7 8

00:23:57.570 --> 00:24:01.630
listo entonces ahorita nos 10 con 5 por favor

00:31:03.670 --> 00:31:13.090
listo a ver entonces voy a compartir pantalla y me avisen por fácil a ver

00:31:13.090 --> 00:31:13.790
adelante

00:31:26.630 --> 00:31:29.950
ok a ver para revisar eso vamos a meternos

00:31:31.930 --> 00:31:33.710
y se quita esto negrito

00:31:39.290 --> 00:31:39.95000:31:45.930 --> 00:31:54.270
en en que este micro me lo pediste creo que lo está ah ok entonces mira ese de

00:31:54.270 --> 00:32:01.550
orden en la base de datos este desde la base de datos lo vamos a encontrar como

00:32:01.550 --> 00:32:10.330
definición este entonces si te fijas la fecha la mapeamos con un campo date en la base de datos

00:32:13.890 --> 00:32:23.990
este y en el proyecto lo vamos a agarrar como en el de órdenes el modelo lo agarramos

00:32:25.190 --> 00:32:30.990
acá fíjate que tan vamos a hacer tanto el modelo como el de to entonces el modelo de fecha

00:32:32.070 --> 00:32:40.290
lo tienes igual con un campo date y también justo en el en el de to lo vas a encontrar

00:32:40.290 --> 00:32:46.750
con la misma a no este este este de aquí no tiene él no tiene la fecha no es cierto

00:32:46.750 --> 00:32:51.390
perdóname es que este es el usuario hay que revisar el de orden el de orden lo tienes

00:32:51.390 --> 00:33:09.490
acá igual es con date va así es como salió el mape de preferencia así porque te sirve para

00:33:09.490 --> 00:33:15.170
mapear menos y te fijas así es como están definidas en la base de datos y así es como

00:33:15.170 --> 00:33:21.170
lo de lo trabajarías aquí en el internamente en el producto digo en el proyecto en la

00:33:21.170 --> 00:33:24.850
base de datos y lo que sirve más que nada para eso para que tú lo puedas mapear y trabajar

00:33:24.850 --> 00:33:32.090
así como lo dicta digamos la buena práctica de nomenclatura quien lleva y lo maneja y de

00:33:32.090 --> 00:33:34.870
todos modos está mapeando bien con las tablas de la base de datos

00:33:54.050 --> 00:34:01.850
en donde perdón en el de orden de to otras anotaciones

00:34:05.510 --> 00:34:20.110
así es aunque esto esto se da porque ya ve el de to es un objeto que llega desde el

00:34:20.870 --> 00:34:25.390
para eso para eso las mapear porque aquí de este lado son llegan llegan en formato

00:34:25.390 --> 00:34:31.330
jason entonces por ejemplo si mandas un post que es donde mejor se ve este las

00:34:31.330 --> 00:34:36.710
propiedades y te fijas llegan así y eso y son jason son propiedades jason entonces

00:34:36.710 --> 00:34:42.770
para eso se utiliza esa notación para que tú en la aquí en el en el en el

00:34:42.770 --> 00:34:47.410
de to las puedas mapear y no haya ningún ningún tema aquí está el mapeo

00:34:55.070 --> 00:35:00.610
sí así es todo eso está para que ahí te va que te guíes eso lo encuentras en el de

00:35:00.610 --> 00:35:04.850
producto y ese con ese de producto puedes levantar el de usuario y el de

00:35:06.410 --> 00:35:10.470
orden si acaso el único paso adicional que hay que hacer en el de

00:35:10.470 --> 00:35:17.670
orden es crear dos de teos porque necesitas conectarte en este en algún

00:35:17.670 --> 00:35:20.090
momento hacia el producto y a su usuario cuando haces una pausa y

00:35:22.430 --> 00:35:28.170
entonces si acaso es crear estos dos de teos y estos de teos se basan en los

00:35:28.170 --> 00:35:33.530
modelos de los otros micros que ya creamos en sus de teos si acaso es la

00:35:33.530 --> 00:35:39.590
única diferencia del de orden pero pero bueno igual si quieres ver el

00:35:39.590 --> 00:35:44.190
ejercicio ya completo en las ramas de develop de cada micro ya ya está y en

00:35:44.190 --> 00:35:51.850
su totalidad va a cualquiera lo puede ver ahí sale

00:35:52.510 --> 00:35:57.990
bien entonces no de aquí va entonces este vamos a

00:35:57.990 --> 00:36:08.150
continuar ok va entonces este siguiente punto ahora sí empezamos con todo lo

00:36:08.150 --> 00:36:13.630
que es la familia de spin cloud el primero de los de los este de la

00:36:13.630 --> 00:36:18.650
familia que vamos a estar viendo el primer producto es el config sale esta

00:36:18.650 --> 00:36:24.330
librería se llama spring cloud config entonces qué es lo que hace un cloud

00:36:24.330 --> 00:36:29.030
config es lo que ya habíamos platicado un poquito ayer una embarrada

00:36:29.030 --> 00:36:33.850
básicamente esta propuesta es para que nosotros podamos centralizar las

00:36:33.850 --> 00:36:39.430
propiedades de los repositorios perdona de los microservicios en un

00:36:40.730 --> 00:36:44.990
repositorio en un repositorio lo podemos este podemos ahí guardar los

00:36:44.990 --> 00:36:52.390
archivos de configuración y a través del cloud config podemos servirle a los

00:36:52.390 --> 00:36:57.650
que son clientes que se que se comunican con este cloud config este

00:36:57.650 --> 00:37:01.270
podemos proveerles esos estas configuraciones esos archivos de

00:37:01.270 --> 00:37:06.890
configuración y eso lo vamos a hacer a través de un mecanismo que se llama

00:37:06.890 --> 00:37:13.450
un bus y ese bus en este ejercicio la propuesta que traemos es Kafka va

00:37:13.450 --> 00:37:18.650
entonces digamos el flujo es así nosotros vamos a guardar en un

00:37:18.650 --> 00:37:24.650
repositorio archivos de configuración el cloud config se va a conectar a ese

00:37:25.430 --> 00:37:31.150
repositorio si y ese cloud config va a servir como un servidor

00:37:31.150 --> 00:37:35.590
todos los clientes que se conecten a ese servidor de configuración que

00:37:35.590 --> 00:37:39.670
en este caso hablamos de clientes nos referimos a nuestros servicios de

00:37:40.410 --> 00:37:46.270
órdenes de productos y de usuarios se van a conectar con él con esa

00:37:47.890 --> 00:37:53.490
configuración y van a estar van a estar este conectados por medio de un bus

00:37:53.490 --> 00:38:01.110
que se llama Kafka ese bus va a estar escuchando todos los cambios que

00:38:01.410 --> 00:38:08.150
en el en los repositorios y cuando ocurra un cambio ese bus va a propagar

00:38:08.150 --> 00:38:12.290
el valor de esa propiedad que se cambió hacia los repositorios y todo

00:38:12.290 --> 00:38:15.930
eso lo va a hacer de forma dinámica es decir no voy a tener que apagar

00:38:15.930 --> 00:38:20.410
ningún servidor no voy a tener que hacer nada de ese tipo de maniobras va

00:38:21.010 --> 00:38:25.310
entonces digamos igual podemos hacer aquí una pequeña anotación nada más

00:38:25.310 --> 00:38:29.010
como para que se ejemplifique tenemos por un lado tenemos el

00:38:29.010 --> 00:38:33.450
repositorio en github que bueno puede ser cualquier repositorio no en este

00:38:33.450 --> 00:38:39.430
caso nosotros estamos proponiendo usar github de ahí nosotros tenemos la

00:38:39.430 --> 00:38:46.390
conexión con el config server de hecho este repositorio se le conoce también

00:38:46.390 --> 00:38:52.310
como config rep es un proyecto es un microservicio bueno no este no es un

00:38:52.310 --> 00:38:56.750
microservicio es un proyecto que se va directamente a un repositorio de

00:38:57.310 --> 00:39:02.010
después nosotros tenemos nuestro config server que está este conectado con

00:39:02.010 --> 00:39:09.430
ese config con ese config rep por medio de una propiedad que es este una url en

00:39:09.430 --> 00:39:14.550
un archivo de propiedades de aquí vamos a configurar una propiedad y con

00:39:14.550 --> 00:39:18.330
y le vamos a pasar la dirección de este repositorio eso es lo que les

00:39:18.330 --> 00:39:22.870
decía que ya los micros nuevos que vamos a estar creando ya nada más es

00:39:22.870 --> 00:39:26.290
configuraciones va entonces en el archivo de configuración de este

00:39:26.290 --> 00:39:31.110
config server le vamos a especificar la url de este repositorio github en este

00:39:31.110 --> 00:39:36.530
repositorio github vamos a tener varios archivos de configuración por

00:39:36.530 --> 00:39:42.390
ejemplo vamos a tener el user properties haciendo alusión a que se

00:39:42.390 --> 00:39:46.670
va a conectar al digo que son las que son las propiedades del

00:39:46.670 --> 00:39:50.370
microservicio de usuarios también vamos a tener el product properties

00:39:50.370 --> 00:39:55.050
por ejemplo igual haciendo alusión de que son las propiedades de

00:39:55.050 --> 00:40:00.170
configuración del microservicio de productos y lo mismo para el de órdenes

00:40:00.170 --> 00:40:06.610
va el config server entonces funge como un este un servidor y vamos a tener

00:40:06.610 --> 00:40:12.230
varios clientes en este caso el el user el microservicio de usuarios

00:40:12.230 --> 00:40:17.950
si también vamos a poder ver el microservicio de productos y como para

00:40:17.950 --> 00:40:21.430
que me quepa todo y no voy a agregar el de órdenes pero pero bueno también

00:40:21.430 --> 00:40:26.090
se sobreentiende no que también entraría como cliente entonces a estas

00:40:26.090 --> 00:40:30.190
estos este a este microservicio porque este si es un microservicio que se

00:40:30.190 --> 00:40:35.750
va a llamar config server le vamos a agregar una librería que

00:40:36.810 --> 00:40:41.750
justamente es la librería del config server de spring cloud le vamos a

00:40:41.750 --> 00:40:45.650
agregar esta librería spring cloud config eso va a hacer que él se

00:40:45.650 --> 00:40:49.730
convierta en un servidor y a estos de acá les vamos a añadir una

00:40:49.730 --> 00:40:55.730
librería que se llama spring cloud config client ésta es el estos tienen

00:40:55.730 --> 00:41:00.470
el client y ésta tiene la librería config server es lo que digamos los

00:41:00.470 --> 00:41:05.490
haría diferentes nosotros configurando eso y diciéndole por medio de los

00:41:05.490 --> 00:41:09.110
archivos de configuración a qué servidor de configuración se tienen

00:41:09.110 --> 00:41:13.310
que conectar con eso se haría esa liga y entonces así es como estaría

00:41:14.210 --> 00:41:17.870
funcionando entonces estos microservicios el de usuario y el de

00:41:17.870 --> 00:41:22.310
productos por medio del config server van a obtener sus archivos de

00:41:22.310 --> 00:41:26.210
configuración o propiedades van a obtener ya sea el usuario van a

00:41:26.210 --> 00:41:30.850
obtener el de productos y las van a cargar cuando el microservicio levante

00:41:30.850 --> 00:41:35.430
va a cargar esos valores va y digamos que estas líneas que se ven

00:41:35.430 --> 00:41:43.650
acá digamos se puede apreciar que en este caso esto es el que funge

00:41:43.650 --> 00:41:49.830
como bus va entonces en este escenario nosotros hablábamos de que es Kafka

00:41:50.430 --> 00:41:54.750
Kafka va a funcionar va a funcir como un bus y va a estar siempre escuchando

00:41:54.750 --> 00:41:58.770
todo lo que sucede aquí en el en el repositorio va lo vamos a estar

00:41:58.770 --> 00:42:04.270
usando como emisor de eventos cuando escucha que hay un cambio es de

00:42:04.270 --> 00:42:08.170
aquí nos referimos con un cambio pues a un commit cuando yo haga un

00:42:08.170 --> 00:42:12.530
commit en alguno de estos archivos de propiedades cambiando por ejemplo un

00:42:12.530 --> 00:42:20.790
valor imagínate que aquí tú tienes este una propiedad que se llama no sé

00:42:20.790 --> 00:42:29.710
database no el el el connection string y tiene un valor cierto valor y después

00:42:29.710 --> 00:42:34.890
tú haces un commit sobre este valor y lo cambias a este otro ese bus va a

00:42:34.890 --> 00:42:38.810
escuchar y va a detectar que hubo un cambio en este archivo lo va a

00:42:38.810 --> 00:42:43.770
apagar hacia el microservicio de configuraciones y a su vez lo va a seguir

00:42:43.770 --> 00:42:47.470
propagando y se va a ir hasta hasta asignárselo al microservicio

00:42:47.470 --> 00:42:53.850
correspondiente va entonces así es como se hace la propagación de los

00:42:53.850 --> 00:42:59.950
archivos de configuración de forma dinámica va sin que yo tenga que

00:42:59.950 --> 00:43:03.450
apagar alguno de estos microservicios no sé si más o menos el

00:43:03.660 --> 00:43:09.280
ojo quedó un poquito más claro y si sí pues pasaríamos a ver cómo se ve en

00:43:09.280 --> 00:43:11.280
la en la práctica

00:43:12.380 --> 00:43:17.020
o quieren que lo repasemos con más detalles

00:43:28.940 --> 00:43:32.960
ok perfecto pero más o menos en general la idea quedó un poquito clara

00:43:32.960 --> 00:43:40.500
si fue clara la idea de para qué sirve este config server este bus

00:43:43.280 --> 00:43:46.260
entonces vamos a verlo en la práctica y probablemente ahí salgan

00:43:46.980 --> 00:43:52.980
que en poquito más claro va entonces este aquí en la presentación

00:43:52.980 --> 00:43:58.180
se nos va a ir explicando cómo configurar el config server va el config

00:43:58.180 --> 00:44:03.740
server literal es un nuevo microservicio este igual como dimos de

00:44:03.740 --> 00:44:07.380
alta el microservicio de producto y si se acuerdan que nos metimos a esta

00:44:07.380 --> 00:44:12.340
página de spanking sializer la vuelvo a abrir como para que la

00:44:12.340 --> 00:44:17.860
recordemos esta página aquí es para generar proyectos de forma online va

00:44:18.400 --> 00:44:23.660
entonces igual aquí te va diciendo la presentación cómo vas a ir este

00:44:24.840 --> 00:44:30.960
metiendo el nombre de la propia del proyecto la versión y toda la

00:44:30.960 --> 00:44:36.860
metadata que necesitamos que para que el lenguaje ocupa hacerle empaquetado en

00:44:36.860 --> 00:44:40.600
la versión de spring todo como lo hicimos en el microservicio de

00:44:40.600 --> 00:44:44.880
productos va así mismo se va a ir creando el

00:44:44.880 --> 00:44:49.760
el archivo el microservicio perdón se llama config server si y cuando ya

00:44:49.760 --> 00:44:55.020
terminas de crear no la estructura inicial del proyecto es esta va tú vas

00:44:55.020 --> 00:45:00.100
a tener un proyecto que se llame de esta forma con fix server y igual que

00:45:00.100 --> 00:45:05.300
e igual que los otros microservicios vas a tener una clase que se llama

00:45:05.300 --> 00:45:11.180
config server application que es la que tiene el método me va que es donde

00:45:11.180 --> 00:45:15.480
va a iniciar y nosotros podemos crear una carpeta bueno

00:45:15.480 --> 00:45:20.800
también ya te la incluye la carpeta de resources y dentro vemos una una

00:45:20.800 --> 00:45:25.080
chica que se llama aplicación llame que bueno aquí básicamente te

00:45:25.080 --> 00:45:32.840
explican para que para que se ocupa cada este cada clase va cada chivo

00:45:35.220 --> 00:45:38.760
bueno vamos a hacer una pauta aquí vamos a ver cómo se ve este archivo

00:45:38.760 --> 00:45:47.440
config server entonces yo me meto aquí al a mi máquina y este archivo este

00:45:47.440 --> 00:45:51.740
microservicio perdón ya también está aquí adentro en el repositorio

00:45:51.740 --> 00:45:56.400
si te metes a la pestaña de repositorios vas a ver uno que se llama

00:45:56.400 --> 00:46:00.520
config repo y otra que se llama config server ahí hay que buscar no está

00:46:00.520 --> 00:46:06.000
acá entonces el que nosotros creamos por así decirlo en spring

00:46:06.600 --> 00:46:13.620
es este config server va es el config server entonces este este config server

00:46:13.620 --> 00:46:18.200
es el que yo descargo a punto a la rama de develop yo ahorita lo apunto a la

00:46:18.200 --> 00:46:22.460
rama de develop para que ya se vea toda la configuración pero al igual que

00:46:22.460 --> 00:46:27.400
ayer existe la rama feature first day que es de donde ustedes lo van a

00:46:27.400 --> 00:46:32.420
bajar al final al finalizar de nosotros en toda la práctica desde ahí

00:46:32.420 --> 00:46:36.840
la idea sería que lo puedan generar que se pueda replicar entonces nada más

00:46:36.840 --> 00:46:41.860
hay que completarlo basándonos en la rama de develop entonces yo ahorita lo

00:46:41.860 --> 00:46:44.940
voy a bajar en develop de hecho todos los micros yo ya los voy a apuntar a

00:46:44.940 --> 00:46:50.180
develop para poder hacer las prácticas va poder mostrarlas entonces

00:46:50.180 --> 00:46:55.040
el primer proyecto que ya se creó en spring initializer es config server

00:46:55.040 --> 00:47:00.340
que siguiendo aquí el tutorial te dice cómo crear la metadata y demás y

00:47:00.340 --> 00:47:05.960
ya lo puedes abrir entonces con del y yo lo pongo incluso los tengo aquí

00:47:05.960 --> 00:47:11.240
ordenados desde el principio al fin si te fijas hay uno antes que es el config

00:47:11.240 --> 00:47:15.160
repo pero de ese todavía no hemos hablado este nada más lo mencioné así

00:47:15.160 --> 00:47:19.500
como a nivel teórico este este no es un micro simplemente es un proyecto

00:47:19.500 --> 00:47:24.820
que guarda archivos de configuración ahorita lo explicamos pero realmente el

00:47:24.970 --> 00:47:30.750
primer microservicio nuevo a crear es este config server va entonces siguiendo

00:47:30.750 --> 00:47:35.630
el tutorial ahí te va explicando cómo vas a crear el proyecto cómo viene la

00:47:35.630 --> 00:47:40.690
metadata sí y por ejemplo esto esta metadata de nosotros ya la podemos

00:47:40.690 --> 00:47:44.730
encontrar en nuestro archivo pom va entonces te vas a encontrar el

00:47:44.730 --> 00:47:50.330
artefacto la versión la versión de spring boot las dependencias para eso

00:47:50.330 --> 00:47:56.670
entonces yo abro mi archivo pom cuando yo lo creo desde spin initializer y me

00:47:56.670 --> 00:48:02.930
va a generar todo esto va me va a decir que la versión es de spring la 263 me

00:48:02.930 --> 00:48:08.850
dice el group es con atnt el artefacto es el config server el

00:48:08.850 --> 00:48:13.470
nombre es config server la descripción también se va a guardar la versión

00:48:13.470 --> 00:48:17.630
de java la versión de spring cloud y bueno aquí ya viene toda la

00:48:17.630 --> 00:48:22.430
configuración y bueno vamos a ir viendo ahorita cómo se añaden estas

00:48:22.430 --> 00:48:27.310
dependencias hasta ahorita es mostrar este archivo pom y la clase que nos

00:48:27.310 --> 00:48:32.650
decía acá no en el paquete principal tienes esta clase que se llama config

00:48:32.650 --> 00:48:37.210
server application contiene nuestro método main ahorita no veamos más que

00:48:37.210 --> 00:48:41.730
esta esta anotación que es la que ya habíamos visto ya hemos trabajado en

00:48:41.730 --> 00:48:45.830
nosotros tres microservicios no la de spring boot application que lo que

00:48:45.830 --> 00:48:51.430
es tratar esta clase como una aplicación de spring va entonces él va

00:48:51.430 --> 00:48:55.730
a esperar muchos archivos de configuración que tú cumplas con con

00:48:55.730 --> 00:49:00.710
sus prácticas va entonces una de esas prácticas es que va a encontrar en una

00:49:00.710 --> 00:49:05.150
carpeta que se llama resources va a buscar si existe un archivo bootstrap

00:49:05.150 --> 00:49:10.050
yamel una aplicación yamel o una aplicación properties en este caso pues

00:49:10.050 --> 00:49:14.550
yo por simplicidad elegí el formato yamel y va a entender que

00:49:14.750 --> 00:49:18.470
existe una una configuración en este archivo

00:49:18.470 --> 00:49:22.890
este archivo application nos va a cargar cuando yo levanté el proyecto esto es lo

00:49:22.890 --> 00:49:25.830
primero que carga cualquier microservicio es lo primero que carga

00:49:25.830 --> 00:49:31.050
las propiedades entonces aquí en estas propiedades este ahorita las

00:49:31.050 --> 00:49:36.010
vamos a repasar porque ahorita en este punto el tutorial simplemente te

00:49:36.010 --> 00:49:41.310
dice que existe un archivo yaba el main y tu resorce es aplicar

00:49:42.270 --> 00:49:46.210
este ahora vamos a ir viendo que contiene cada cosa

00:49:48.650 --> 00:49:56.030
ahora eso fue hablando del microservicio config server va ahora nosotros aquí en

00:49:56.030 --> 00:50:00.150
esta parte te dice que hay que configurar un repositorio en git ese

00:50:00.150 --> 00:50:04.490
repositorio en git o en este caso nos agarramos su sabor que se llama

00:50:04.490 --> 00:50:08.870
github vamos a guardar archivos de configuración de los microservicios

00:50:08.870 --> 00:50:14.330
entonces en este repo vamos a guardar en vamos a conseguir una estructura

00:50:14.330 --> 00:50:19.010
similar a la que nos están proponiendo acá entonces yo si te fijas

00:50:19.010 --> 00:50:23.050
este config repo no es un proyecto de yaba no lo voy a crear con

00:50:23.050 --> 00:50:27.570
spring inicializer simplemente es un repositorio entonces yo me puedo venir

00:50:27.570 --> 00:50:31.230
directamente aquí en la interfaz de de github

00:50:31.230 --> 00:50:36.950
y dar de alta un nuevo repositorio llamarlo config repo de hecho así me

00:50:36.950 --> 00:50:41.770
lo pide en la práctica y en la rama que yo elija yo en este caso igual

00:50:41.770 --> 00:50:46.510
agarré tres ramas y vamos a hablar de develop en esta rama de develop yo

00:50:46.510 --> 00:50:50.330
estoy guardando archivos de configuración si te fijas solamente

00:50:50.330 --> 00:50:55.770
guardo archivos guardé un yamel que se llama car service un order

00:50:55.770 --> 00:51:01.270
service un product service un user service estos archivos de

00:51:01.270 --> 00:51:05.590
configuración como para que se vaya amarrando la idea son los mismos o

00:51:05.590 --> 00:51:11.250
deberían de ser en teoría es como para que lo mapeen es el mismo archivo de

00:51:11.250 --> 00:51:15.450
configuración que tiene cada microservicio en su carpeta de

00:51:15.450 --> 00:51:20.830
application properties en el resource es este archivo o sea la idea es que

00:51:20.830 --> 00:51:25.650
esto no esté aquí sino que más bien esté en un repositorio de enguijo y

00:51:25.650 --> 00:51:29.870
github distribuido para que pues porque te puedes encontrar a lo mejor

00:51:30.410 --> 00:51:34.410
mejor organización porque a lo mejor no quieres que esté aquí

00:51:35.770 --> 00:51:43.250
y en el proyecto la cadena de conexión a lo mejor hay una frase muy delicada

00:51:43.250 --> 00:51:48.910
para un token no sé algo no ahí ahí depende de cada compañía sus

00:51:48.910 --> 00:51:53.450
necesidades pero la alternativa es eso que tú lo puedes guardar en un

00:51:53.450 --> 00:51:57.670
repositorio e incluso a un repositorio tú le puedes meter mecanismos

00:51:57.670 --> 00:52:03.610
de seguridad pues ya un poquito más este avanzados después meter este por

00:52:03.610 --> 00:52:08.910
ejemplo autenticación de doble factor lo puedes meter creencia por bueno

00:52:08.910 --> 00:52:16.230
commits por gpg por autentic por por este por o out entonces este esto ya

00:52:16.230 --> 00:52:21.170
empieza a ser como que un poquito aislarlo le brinda más seguridad a

00:52:21.170 --> 00:52:27.370
través de github es que y bueno esa es la idea básicamente de guardar de

00:52:27.370 --> 00:52:32.390
crear un config repo y tener un config server que yo pueda guardar todo

00:52:32.390 --> 00:52:37.050
de forma distribuida y que además las propiedades y los valores que yo vaya

00:52:37.050 --> 00:52:42.270
agregando acá los pueda cambiar a través de comics no si yo quiero hacer

00:52:42.270 --> 00:52:47.330
un cambio sobre alguna propiedad acá solamente bajo el proyecto bueno más

00:52:47.330 --> 00:52:52.370
bajo el repositorio cambio el valor lo subo con un commit y en automático

00:52:52.370 --> 00:52:58.010
se va a propagar a mis microservicios entonces eso es ese es el relajo de

00:52:58.570 --> 00:53:04.370
estamos revisando va entonces este este repositorio que se llama config repo se

00:53:04.370 --> 00:53:09.690
crea de esa forma se crean aquí los archivos y ese es el que yo bajo y de

00:53:09.690 --> 00:53:15.050
hecho es el que les decía que está hasta acá como primer este proyecto yo

00:53:15.050 --> 00:53:19.770
lo puedo abrir ese repositorio aquí en en intel y porque no es más que un

00:53:20.430 --> 00:53:24.570
una carpeta que guarda archivos no no es un yaba no es nada no va esto

00:53:24.570 --> 00:53:28.950
no va a correr no va a compilar simplemente va a guardar estos archivos

00:53:28.950 --> 00:53:32.790
va entonces este yo estoy apuntando aquí a de lo que si te fijas pues

00:53:32.790 --> 00:53:37.530
tiene los archivos de configuración de órdenes de producto y de usuarios

00:53:37.530 --> 00:53:42.890
que son los que hemos estado este ocupando va esta es la función del

00:53:42.890 --> 00:53:49.110
config repo y bueno eso es lo que nos dicta aquí la la diapositiva va

00:53:49.110 --> 00:53:55.170
crear esta estructura de de de archivos bueno aquí se ven incluso un poquito

00:53:55.170 --> 00:54:00.670
más pero creo que lo puedes almacenar incluso en carpetas no como nuestro

00:54:00.670 --> 00:54:03.070
ejercicio era muy sencillo pues bueno directamente

00:54:05.350 --> 00:54:09.750
después ahora sí vamos a hacer que este config server se comporte como tal

00:54:09.750 --> 00:54:16.230
como un config server de un producto de spring cloud para eso yo tengo que

00:54:16.410 --> 00:54:22.510
llegarle ciertas configuraciones en su archivo application yaml una de las más

00:54:22.510 --> 00:54:28.170
notorias es yo le tengo que decir a este config server de dónde tiene que

00:54:28.170 --> 00:54:35.390
cachar esos archivos de configuración y para eso nos provee este esta

00:54:35.390 --> 00:54:40.970
propiedad que se llama spring cloud config server git uri va esta

00:54:40.970 --> 00:54:46.030
propiedad en un formato yaml se ve de esta forma y al meter esta

00:54:46.970 --> 00:54:52.370
configuración tú aquí en donde dice uri obviamente tienes que pasar la url del

00:54:52.370 --> 00:54:57.530
repositorio en donde estás trabajando cuál repositorio el que creamos en el

00:54:57.530 --> 00:55:04.310
paso anterior donde están los config el config rep vaya entonces eso se ve

00:55:04.310 --> 00:55:07.210
así yo me voy aquí a mi config server

00:55:08.030 --> 00:55:13.330
y en el archivo de propiedades que es este aplicación yaml si te fijas

00:55:13.330 --> 00:55:18.550
aquí se ve la propiedad que nos que nos indica ahí la presentación

00:55:18.550 --> 00:55:23.890
déjame que no se traga en mi mouse es este va entonces hay muchas otras

00:55:23.890 --> 00:55:28.050
propiedades por ejemplo también guardas un name que es el config server

00:55:28.050 --> 00:55:34.230
este y está ocupando si te fijas aquí la propiedad uri y esta uri si

00:55:34.230 --> 00:55:40.530
te fijas es la que yo tengo en mi repositorio que acabo de mostrarles que

00:55:40.530 --> 00:55:45.830
es la misma de acá

00:55:47.290 --> 00:55:50.810
este va la misma url para entrar a mi config rep

00:55:51.410 --> 00:55:55.590
ésta si te fijas esto pues me lleva a main como yo le digo que que se

00:55:55.590 --> 00:55:59.510
cambia entre ramas ah bueno hay otra propiedad para que me

00:55:59.510 --> 00:56:02.730
cache las los archivos de propiedades que están en la rama de

00:56:02.730 --> 00:56:08.410
develop no en la de main y esa propiedad es esta otra de acá que se

00:56:08.410 --> 00:56:15.110
llama de fall label yo metiendo esta propiedad de fall label diciéndole a

00:56:15.110 --> 00:56:23.010
qué rama este pues con eso sabe la configuración que se

00:56:23.010 --> 00:56:26.610
tiene que ir a este micro a esta rama y de ahí va a cachar los

00:56:26.610 --> 00:56:32.050
archivos de configuración va eso es este todo lo que llevamos hasta

00:56:32.650 --> 00:56:41.490
la presentación esa configuración después ya tengo que este

00:56:41.490 --> 00:56:44.130
perdón un momento

00:56:49.050 --> 00:56:52.530
entonces aquí la configuración

00:56:53.090 --> 00:56:58.310
de los microservicios ya vamos a estar configurando digamos el user service

00:56:58.310 --> 00:57:04.450
el order service para que este se comporten como clientes de este

00:57:04.450 --> 00:57:10.210
garchivo de este de este proyecto de este config server y para eso pues

00:57:10.210 --> 00:57:14.930
tenemos que estar definiéndole esta otra configuración que es el spring

00:57:14.930 --> 00:57:20.330
cloud config client para que se vaya a la dirección del config server que

00:57:20.330 --> 00:57:24.750
nosotros vamos a levantar aquí nos dice cuáles son las propiedades y en

00:57:25.010 --> 00:57:28.830
este archivo este vamos a estar trabajando entonces lo primero que hay

00:57:28.830 --> 00:57:34.370
que agregar es esta dependencia este para que se se pueda comportar como un

00:57:34.890 --> 00:57:38.630
config client va entonces esto lo puedes ver tanto en el usuario producto y

00:57:40.750 --> 00:57:41.310
órdenes

00:57:41.310 --> 00:57:45.590
es bueno entonces el son los mismos microservicios que ya habíamos

00:57:45.590 --> 00:57:49.850
trabajado el usuario producto órdenes yo aquí en este caso voy a

00:57:52.710 --> 00:57:58.390
y si te fijas yo como te decía ya estoy en débelo para que yo pueda mostrar el

00:57:59.070 --> 00:58:03.690
archivo el ejercicio completo y aquí adentro pues vas a ir agregando las

00:58:03.690 --> 00:58:09.810
librerías que te pide en este caso son todas estas de spring cloud para

00:58:09.810 --> 00:58:14.930
este su configuración no entonces con esto se va a estar comportando como

00:58:14.930 --> 00:58:22.530
como un cliente de que se va a conectar a un config server va entonces este

00:58:22.530 --> 00:58:28.350
este archivo de al instalarle esa dependencia de spring cloud ya ya me lo

00:58:28.350 --> 00:58:34.590
va a transformar en un cliente y con en el archivo de propiedades yo le voy

00:58:34.590 --> 00:58:41.270
a decir que esas configuraciones las tome de un microservicio que se va a

00:58:41.830 --> 00:58:50.230
y que se levanta el puerto 88 88 por eso también es importante que hay que

00:58:50.230 --> 00:58:55.270
volver a mencionar eso que cada microservicio debe tener un name como

00:58:55.270 --> 00:59:00.230
por ejemplo este iba a tener un puerto en donde se va a levantar si te

00:59:00.230 --> 00:59:06.530
fijas este está levantando el puerto 88 88 va que es este

00:59:06.530 --> 00:59:08.450
lo que

00:59:11.910 --> 00:59:17.070
la dirección en donde se va a conectar va entonces este así es como sería esa

00:59:17.070 --> 00:59:22.890
liga ese este config server se levanta en el 88 88 y por ejemplo el de

00:59:22.890 --> 00:59:28.210
producto se está levantando en el puerto vamos a buscar su puerto en el

00:59:28.210 --> 00:59:35.050
80 82 entonces no tienen problema de levantarse en la misma máquina es

00:59:35.050 --> 00:59:38.010
como también un poco buscar eso no que no choquen los puertos porque si

00:59:38.010 --> 00:59:45.230
no pues va a darte problema de puertos y listo esa es la configuración que se

00:59:45.230 --> 00:59:51.690
agrega entonces ya este cliente al tener la dependencia de spring cloud y al

00:59:51.690 --> 00:59:56.170
meterle esta propiedad ya está ya sabe que se tiene que conectar a un config

00:59:56.170 --> 01:00:00.290
server en esta dirección si yo ahorita hiciera eso y los intentar a

01:00:00.290 --> 01:00:04.970
levantar ya por separado ya ya ya empezaría a tener esos errores que

01:00:04.970 --> 01:00:10.250
ustedes ya experimentaron porque aquí me está pidiendo primeramente cuando yo

01:00:10.250 --> 01:00:13.850
levantara el product service ya no puedo levantar el product service de

01:00:13.850 --> 01:00:18.670
forma individual porque va en sus archivos de configuración lo primero que

01:00:18.670 --> 01:00:23.330
va a hacer es decir ok voy a buscar todos tus configuraciones aquí en este

01:00:23.330 --> 01:00:27.730
en este micro servicio pero si yo no tengo levantado antes ese

01:00:27.730 --> 01:00:31.470
config server pues va a estar mandando un error de que no puede

01:00:31.470 --> 01:00:36.470
de configuración entonces aquí ya empieza a llevar un orden yo ya

01:00:36.470 --> 01:00:43.090
necesito tener mi config repo listo para y mi rama lista un config server ya

01:00:43.090 --> 01:00:49.190
configurado para que se conecte a esa uri que esté lista y ya que yo levanté

01:00:49.190 --> 01:00:53.410
este config server entonces ya podría yo levantar el micro servicio de

01:00:53.410 --> 01:00:58.530
productos para que pueda cachar sus archivos de configuración va es así

01:00:58.530 --> 01:01:03.870
como funciona la configuración y es un poco lo que les decía o sea ya para

01:01:03.870 --> 01:01:09.770
convertirlos o para utilizar los los productos de spring cloud dentro de

01:01:09.770 --> 01:01:13.730
nuestros microservicios ya nada más vamos a estar agregando dependencias y

01:01:13.730 --> 01:01:17.510
configuraciones va entonces este

01:01:18.790 --> 01:01:24.610
bueno la otra parte es lo del bus ya daríamos la práctica pero hasta

01:01:24.610 --> 01:01:30.110
ahorita no sé queda alguna duda o queda un poco ya más claro el flujo de de

01:01:30.110 --> 01:01:34.470
cómo cómo se habla bueno a qué nos referimos con con el config server el

01:01:34.470 --> 01:01:39.250
config repo y cada uno de nuestros microservicios son clientes de ese

01:01:39.250 --> 01:01:43.350
config server para que para que se ocupa ese config server queda queda un

01:01:43.350 --> 01:01:45.250
poco más claro

01:01:53.050 --> 01:02:00.170
perfecto va que va en todos modos si hay este preguntas me avisan o si de

01:02:00.170 --> 01:02:04.170
pronto me estoy yendo muy rápido igual me me avisan y lo volvemos a

01:02:05.530 --> 01:02:10.010
explicar bien entonces este esa es como la idea de

01:02:10.010 --> 01:02:15.170
el producto este del config server y config repo y ahora

01:02:16.110 --> 01:02:21.270
bueno ya en la práctica lo que nosotros necesitaríamos es pues

01:02:21.270 --> 01:02:26.890
utilizar esos esas propiedades va ese es el objetivo de que tenga archivos

01:02:26.890 --> 01:02:31.470
de configuración para que esas propiedades yo las pueda utilizar esas

01:02:31.470 --> 01:02:36.650
propiedades yo las voy a utilizar o yo puedo acceder dentro de mí dentro de

01:02:37.210 --> 01:02:43.910
proyecto puedo acceder a esas variables a esos archivos de configuración por

01:02:43.910 --> 01:02:49.030
medida de una anotación como arroba value hay hay otros métodos hay

01:02:49.030 --> 01:02:53.190
otros mecanismos pero bueno ya aquí vamos a exponer este en esta

01:02:53.190 --> 01:02:53.930
anotación

01:02:56.030 --> 01:03:01.150
y vamos a ver este ejercicio entonces aquí creo que en la práctica se ve

01:03:01.150 --> 01:03:05.570
más este más claro entonces nosotros ya hicimos la

01:03:05.570 --> 01:03:09.630
configuración de un config repo ya configuramos también un config server

01:03:09.630 --> 01:03:14.030
que se conecta a ese config repo y ya hicimos un cliente que es product

01:03:14.030 --> 01:03:18.230
service que se conecta a ese config server va para traer sus archivos de

01:03:18.230 --> 01:03:23.710
propiedades entonces si tú te fijas vamos al repositorio para que se vea

01:03:23.710 --> 01:03:28.210
ahí un poquito más claro en el config repo yo tengo un archivo que se llama

01:03:28.210 --> 01:03:32.230
product service va que es el que le va a servir al microservicio de

01:03:33.250 --> 01:03:37.890
entonces este product service tiene estas propiedades

01:03:38.850 --> 01:03:44.390
y si te fijas tiene una propiedad que se llama example property o la desde el

01:03:44.390 --> 01:03:48.730
microservicio de productos va es una propiedad que se llama así example

01:03:48.730 --> 01:03:54.590
property y tiene este valor entonces en las colecciones de postman que les

01:03:55.350 --> 01:04:00.190
hay una colección que se llama config server

01:04:01.410 --> 01:04:07.850
con estos endpoints yo puedo obtener las propiedades de cada microservicio que

01:04:07.850 --> 01:04:13.790
está añadido como un cliente de este config server ahorita vamos a repasar

01:04:13.790 --> 01:04:17.430
estos gets solamente que de hecho repasando uno son es lo mismo los

01:04:17.430 --> 01:04:22.270
otros dos y el post lo vamos a ver para otra cosa después se las voy a

01:04:22.270 --> 01:04:28.630
decir para qué es pero entonces ahorita este get de productos yo con

01:04:28.630 --> 01:04:35.070
este endpoint puedo mandarlo a ejecutar si te fijas es en el

01:04:35.070 --> 01:04:38.690
88 88 que es donde está corriendo mi config server

01:04:38.690 --> 01:04:44.410
entonces yo le puedo decir dime cuáles son las propiedades en de mi

01:04:44.410 --> 01:04:48.470
microservicio que se llama product service y me va a traer todas las

01:04:48.730 --> 01:04:53.250
propiedades que tiene alojadas estas propiedades si tú te fijas son las

01:04:53.250 --> 01:04:58.370
mismas que están aquí adentro en mi directamente aquí en mi servidor en mi

01:04:58.370 --> 01:04:59.890
en mi repositorio

01:05:00.930 --> 01:05:07.050
y tú estás viendo el server el puerto el data source y la propiedad example

01:05:07.050 --> 01:05:12.090
property que de hecho aquí está son las mismas eso es otra forma de

01:05:12.090 --> 01:05:16.090
corroborar que nuestro hay una hay una hay conexión con nuestro con

01:05:19.910 --> 01:05:28.330
entonces qué es lo que vamos a hacer yo aquí en el product service puse una

01:05:28.330 --> 01:05:34.570
funcionalidad para que podamos traer el valor de una de esas propiedades

01:05:34.570 --> 01:05:40.370
entonces el valor de esas propiedades lo voy a traer lo tengo aquí descrito

01:05:40.370 --> 01:05:46.010
en el controlador te fijas en el controlador yo estoy utilizando una

01:05:46.010 --> 01:05:51.570
notación se llama roba value y le estoy diciendo que vaya y traiga el valor de

01:05:51.570 --> 01:05:57.330
una propiedad que se llama example punto property yo al hacer esto con

01:05:57.330 --> 01:06:02.510
esta notación y como la configuración de spring funciona en automático al

01:06:02.510 --> 01:06:07.090
hacer esto a esta variable le va a estar asignando el valor que encuentre

01:06:07.090 --> 01:06:12.490
en las propiedades que se llama example property esto lo va a leer en

01:06:12.490 --> 01:06:17.830
su archivo de configuración entonces tú puedes pensar que esto lo va a leer de

01:06:17.830 --> 01:06:21.990
este archivo porque este también es su archivo de configuración pero si tú te

01:06:21.990 --> 01:06:26.550
fijas aquí no existe esa propiedad incluso yo le puedo decir aquí example

01:06:26.550 --> 01:06:31.010
y no la encuentra porque no está definida aquí no está definida en este

01:06:31.010 --> 01:06:35.810
archivo de configuración local que tiene aquí este archivo se encuentra

01:06:35.810 --> 01:06:41.350
más bien en el repositorio se encuentra en el en el archivo que está

01:06:41.350 --> 01:06:47.770
en el repositorio en el config repo en el archivo product service aquí está

01:06:47.770 --> 01:06:54.130
pero aún así la va a leer porque porque cuando estamos haciendo toda esta

01:06:54.130 --> 01:06:58.010
conexión al decirle que vaya al config server

01:06:59.110 --> 01:07:02.950
y de ahí me traiga archivos de propietad sus archivos de propiedades

01:07:02.950 --> 01:07:09.110
ahí es donde ahí es donde la encuentra y la puede leer entonces con esta

01:07:09.110 --> 01:07:13.910
notación arroba value yo puedo ocupar y setear el valor aquí en esta

01:07:13.910 --> 01:07:18.610
propiedad si y entonces esta propiedad yo le estoy diciendo que la imprima

01:07:18.610 --> 01:07:24.190
cuando estemos haciéndole un get por id a un producto si te fijas aquí va

01:07:24.190 --> 01:07:28.570
a haber un logger y va a imprimir la propiedad entonces vamos a hacer ese

01:07:28.570 --> 01:07:32.290
ejercicio yo ahora para imprimir lo que está actualmente en el

01:07:32.290 --> 01:07:37.210
repositorio si te fijas yo aquí en los logs le busco la palabra hola o

01:07:37.210 --> 01:07:41.650
el valor de la propiedad y no lo encuentra entonces está está bien para

01:07:41.650 --> 01:07:45.750
que podamos hacer la práctica ahí está limpio incluso ya limpia los logs

01:07:46.670 --> 01:07:51.170
y lo que voy a hacer es para que se active ese log tengo que pasar por

01:07:51.170 --> 01:07:56.290
este método va que es el de obtención de producto por id entonces

01:07:56.290 --> 01:08:03.550
yo me voy aquí al product id y si te acuerdas estábamos acá en nuestras

01:08:03.550 --> 01:08:09.190
lecciones yo le digo que me traiga el 3 cualquier este producto realmente

01:08:09.190 --> 01:08:14.490
funciona y ahí nos da un 200 si nosotros teniendo esa petición esa

01:08:14.490 --> 01:08:21.490
respuesta pues sabemos que que lo que lo dio entonces este aquí ahora si en

01:08:21.490 --> 01:08:25.830
los logs yo puedo volver a buscar la palabra hola si y ahí me lo va a

01:08:25.830 --> 01:08:28.870
encontrar de hecho si te fijas imprime el valor de la propiedad no

01:08:29.050 --> 01:08:35.050
hasta ahí no hay no hay nada del otro mundo y esto lo está imprimiendo de lo

01:08:35.050 --> 01:08:40.970
que está obteniendo del repositorio porque así lo así lo configuramos

01:08:40.970 --> 01:08:45.890
entonces nos está trayendo esta propiedad entonces ahora el objetivo de

01:08:45.890 --> 01:08:50.930
esta práctica es ver cómo haciendo un cómic y yo cambiando este valor y

01:08:50.930 --> 01:08:56.410
volviéndole a pegar a este micro servicio de producto ahora el valor va

01:08:56.410 --> 01:08:59.990
a cambiar de forma dinámica sin que yo tenga que reiniciar el micro

01:08:59.990 --> 01:09:08.130
servicio este es el objetivo del del bus del cafca en este caso yo estoy

01:09:08.130 --> 01:09:13.670
corriendo aquí mi instancia la misma de ayer y si te fijas bueno ahí nada

01:09:13.670 --> 01:09:19.010
más se denunció que se instaló cafca y y su equipo pero bueno para eso se

01:09:19.010 --> 01:09:25.170
ocupa para que funge funja como un emisor de eventos va entonces cómo

01:09:25.170 --> 01:09:31.630
yo configuro esa parte igual en mi config server yo le tengo que decir que

01:09:31.630 --> 01:09:38.030
se habiliten los bus los buses o bueno el bus yo habilitando esta propiedad en

01:09:38.030 --> 01:09:43.830
mi config server este le estoy diciendo que haya un algo o sea un bus que

01:09:43.830 --> 01:09:48.710
esté activo para que esté escuchando cambios y que el refresco de esas

01:09:48.710 --> 01:09:51.810
propiedades también se esté habilitando

01:09:51.810 --> 01:09:58.230
y bueno de las propiedades que estoy esté agregando también son estas no es

01:09:58.230 --> 01:10:01.670
todo esto también viene ahí en la presentación ahorita nada más lo

01:10:01.670 --> 01:10:05.250
muestro para que sea más este más práctico va básicamente le estoy

01:10:05.250 --> 01:10:09.870
diciendo que cafca en donde en donde está corriendo que es en el 90 92

01:10:09.870 --> 01:10:13.290
eso también lo vamos a encontrar nosotros en nuestro archivo que ya

01:10:13.290 --> 01:10:18.290
habíamos trabajado que es el que me generó el contenedor si te

01:10:18.290 --> 01:10:22.030
recuerdas además de generarlo de postgres yo le pedí que contuviera

01:10:22.030 --> 01:10:29.150
también ese contenedor cafca y cafca lo estoy corriendo en localhost 90 92

01:10:29.150 --> 01:10:37.470
va entonces este es por eso que yo aquí apunto al localhost 90 92 y le

01:10:37.470 --> 01:10:43.930
estoy diciendo que este actúe como un cloud con como un bus va yo con esto

01:10:43.930 --> 01:10:48.270
además para terminar la configuración de nuestro config server le estoy

01:10:48.270 --> 01:10:52.070
añadiendo estas dos propiedades ahí vienen los comentarios para que para

01:10:52.070 --> 01:10:59.190
que se ocupan y básicamente aquí les voy a hacer mención de lo que son los

01:10:59.190 --> 01:11:07.370
este los endpoints que se llaman actuators va entonces hasta ahorita

01:11:07.370 --> 01:11:11.470
ya está toda la configuración yo ya estoy incluso diciéndole que haya un

01:11:11.470 --> 01:11:17.490
bus en cafca listo para que cuando haya algún refresco en este en este

01:11:19.430 --> 01:11:26.050
repositorio cafca lo escucha va entonces para para para esta parte

01:11:26.850 --> 01:11:33.130
en la en la práctica digamos en un mundo real cuando yo hiciera aquí un

01:11:33.130 --> 01:11:39.670
commit solito cafca debería de escuchar y propagar el cambio pero para

01:11:39.670 --> 01:11:44.490
hacer eso también se tuvo que hacer una configuración adicional aquí en el

01:11:44.490 --> 01:11:50.350
repositorio y tendríamos que haber conectado la parte de github no con con

01:11:50.350 --> 01:11:55.830
ese cafca que tenemos aquí de forma local eso eso realmente está un poco

01:11:55.830 --> 01:12:00.410
ya más complejo de elaborar en este para este tiempo que teníamos y

01:12:00.410 --> 01:12:05.110
mostrarlo entonces lo que se está haciendo uso también esa es la

01:12:05.110 --> 01:12:08.830
finalidad mostrar de hecho una de las características que es que ya

01:12:08.830 --> 01:12:13.050
viene incluida con el config server si son los endpoints que se llaman

01:12:13.050 --> 01:12:19.130
actuators entonces ese refresco que se haría en automático por medio de un

01:12:19.130 --> 01:12:23.270
commit que tú hagas un cambio en la propiedad y que cafca lo lo

01:12:23.270 --> 01:12:28.090
interprete y lo propague eso nosotros lo vamos a hacer más bien a través de

01:12:28.090 --> 01:12:33.430
un de un microservicio perdón de un endpoint que se llama actuator

01:12:33.430 --> 01:12:39.230
este este endpoint que viene en en las en se levanta con las

01:12:39.450 --> 01:12:44.510
generaciones del config server si te fijas aquí en el config server en las

01:12:44.510 --> 01:12:49.750
propiedades que ahorita mencionaba yo le dije que se activarán los actuators

01:12:49.750 --> 01:12:55.710
con esto entonces yo al activar estas propiedades en automático voy a poder

01:12:55.710 --> 01:13:02.130
tener un endpoint que es este que le pego al 88 88 sigo sigo en el config

01:13:02.130 --> 01:13:06.850
server y al hacer esto lo que va a hacer es es como si yo hiciera que

01:13:07.030 --> 01:13:13.930
es como si yo forzara cafca a escuchar lo que está en el en el en el

01:13:13.930 --> 01:13:18.430
repositorio lo que harían de forma en automático cuando se ejecute por

01:13:18.430 --> 01:13:23.450
ejemplo un pipeline o algo así yo lo voy a forzar con este microservicio

01:13:23.450 --> 01:13:28.490
perdón con este endpoint entonces un escenario imagínate que también se

01:13:28.490 --> 01:13:33.490
cayó en el pipeline que que hace que se conecte el repositorio con cafca

01:13:33.490 --> 01:13:38.050
yo teniendo este endpoint de actuator puedo forzar a que aún así siga

01:13:38.050 --> 01:13:42.670
funcionando entonces este este endpoint es bastante útil

01:13:42.670 --> 01:13:46.790
entonces ahora ahora sí lo vemos en la práctica

01:13:46.790 --> 01:13:52.630
yo aquí en mi en mi repositorio que se llama config server perdón config

01:13:52.630 --> 01:13:59.470
repo voy a hacer un cambio en mi en mi propiedad de producto entonces yo

01:13:59.470 --> 01:14:06.850
voy a poner aquí un por ejemplo hola y adiós voy a agregar esa propiedad o sea

01:14:06.850 --> 01:14:10.990
le cambié el valor ya no es hola ahora es hola y adiós desde el microservicio

01:14:10.990 --> 01:14:14.970
de productos yo le voy a dar aquí guardar

01:14:14.970 --> 01:14:18.050
pero si te fijas el cambio lo estoy haciendo directamente en el

01:14:18.870 --> 01:14:23.850
repositorio lo que yo tendría que hacer es me voy a meter a ese a ese

01:14:23.850 --> 01:14:28.550
repo que de hecho ya estoy le voy a dar un estatus para ver qué que

01:14:28.550 --> 01:14:34.550
y aquí te dice que ya cambió este este este archivo lo voy a agregar

01:14:34.550 --> 01:14:36.670
esto es simple y

01:14:37.790 --> 01:14:42.570
voy a hacer un commit para subir ese cambio

01:14:42.570 --> 01:14:50.110
se hace cambio en el valor de la propiedad ese es mi mensaje y al

01:14:50.110 --> 01:14:55.450
hacer push esto se va a llegar al repositorio

01:14:55.450 --> 01:15:03.670
ahí ya se fue se fue directamente a la rama de devil entonces es lo que te

01:15:03.670 --> 01:15:09.590
decía cuando ya llega aquí al repositorio a develop este de hecho

01:15:09.590 --> 01:15:14.530
fíjate como ahorita ya la propiedad va a cambiar ahora ya dice hola y adiós

01:15:15.430 --> 01:15:20.550
ya ya llegó el cambio aquí en commit a digo en comida llegó aquí al repo

01:15:20.550 --> 01:15:26.230
entonces ahí en automático en te decía en el mundo real cafca ya ya habría

01:15:26.230 --> 01:15:32.050
hecho la propagación en este caso nosotros no traemos esa configuración de

01:15:32.050 --> 01:15:36.730
de github con cafca sino que nosotros más bien lo vamos a forzar con el

01:15:36.730 --> 01:15:40.270
actuator entonces si yo ahorita hiciera la

01:15:40.270 --> 01:15:44.590
petición nuevamente sobre productos primero le voy a decir tráeme las

01:15:45.610 --> 01:15:50.770
propiedades que están en el en el repo y si te fijas este valor tiene que

01:15:50.770 --> 01:15:56.590
cambiar entonces el valor ahora para que veamos que si está actualizado ya

01:15:56.590 --> 01:16:01.810
la ya la actualizó o sea el config server ya está respondiendo bien su

01:16:01.810 --> 01:16:06.530
conexión va si yo hiciera otra vez una petición al microservicio de

01:16:06.530 --> 01:16:14.750
productos yo todavía no vería reflejado el cambio porque lo que te

01:16:14.750 --> 01:16:21.230
en este ejercicio incluso yo voy a borrar aquí la consola yo le doy otra vez

01:16:22.850 --> 01:16:23.330
buscar

01:16:29.410 --> 01:16:35.270
yo aquí borraría los logs si y si te fijas ya no aparece la palabra hola

01:16:35.270 --> 01:16:39.710
pero si yo le hiciera otra vez la petición aquí al al endpoint para que

01:16:39.870 --> 01:16:48.410
de producto por id yo este cuando me responda la petición en 200 yo yo

01:16:48.410 --> 01:16:52.610
todavía voy a seguir obteniendo la propiedad pasaba es decir si yo le doy

01:16:52.610 --> 01:16:58.750
aquí buscar ahí la encuentra pero todavía no tiene el cambio va es lo que

01:16:58.750 --> 01:17:03.910
les decía no está esa esa configuración entre github y cafca pero

01:17:03.910 --> 01:17:07.930
para para yo imagínate un escenario en donde incluso en la vida real eso

01:17:07.930 --> 01:17:13.750
se cae ese pipeline no sirve algo pasó no funcionó y tú de todos modos el

01:17:13.750 --> 01:17:19.330
cambio ya lo tienes ahí no podemos dejar que solamente por eso se no se

01:17:19.330 --> 01:17:22.690
propague el cambio entonces para eso está el microservicio el endpoint

01:17:22.690 --> 01:17:27.310
perdón se llama actuator entonces este actuator que viene activado en la

01:17:27.310 --> 01:17:32.170
configuración del config server si yo lo ejecuto es un post lo que va a

01:17:32.170 --> 01:17:37.610
ser es que me va a responder con una respuesta 204 que es un exitoso pero

01:17:37.610 --> 01:17:42.770
no tiene ningún contenido se no responde nada pero si te fijas algo pasó

01:17:42.770 --> 01:17:46.910
aquí en el config server aquí te va a mandar un mensaje que te dice que las

01:17:46.910 --> 01:17:51.610
llaves fueron refrescadas eso quiere decir que todas las propiedades ya las

01:17:51.610 --> 01:17:56.610
ya fue o sea nosotros con ese endpoint lo que hacemos es decirle a cafca ve

01:17:56.610 --> 01:18:01.430
y tráete los cambios que están en el repositorio y actualizan o sea lo

01:18:01.430 --> 01:18:04.950
estamos forzando y con eso

01:18:05.690 --> 01:18:11.690
cuando yo haga nuevamente la petición desde desde el microservicio de

01:18:11.690 --> 01:18:12.510
productos

01:18:14.510 --> 01:18:20.050
ahí la voy a volver a ejecutar y cuando esto se complete entonces ahora sí yo

01:18:20.050 --> 01:18:25.310
aquí en el microservicio de productos esperaré ver el nuevo cambio de la

01:18:25.310 --> 01:18:28.590
variable ahí si te fijas ya lo encontró dos veces una en donde

01:18:28.590 --> 01:18:33.790
tiene la la propiedad que no se había desactualizado y en la siguiente

01:18:33.790 --> 01:18:38.710
búsqueda me lo tiene que traer pero ya con él con el cambio si te fijas aquí

01:18:38.710 --> 01:18:44.470
ya tiene la nueva la nueva el nuevo valor que dice hola y adiós y ya son

01:18:44.470 --> 01:18:48.830
los los dos resultados que encuentra y si te fijas yo no tuve que apagar el

01:18:48.830 --> 01:18:53.830
microservicio la propiedad que viene en el archivo de configuración la

01:18:53.970 --> 01:18:59.850
actualizó de forma dinámica entonces no sé si con este ejemplo ya es

01:18:59.850 --> 01:19:03.550
poquito más claro de cómo funciona todo este

01:19:03.550 --> 01:19:09.690
esta familia de producto de config server config repo el bus cafca las

01:19:09.690 --> 01:19:12.270
los archivos de propiedades

01:19:15.510 --> 01:19:23.950
claro que sí a ver entonces cuando yo me pongo en el

01:19:23.950 --> 01:19:27.850
tengo entendido que esta sesión se está grabando entonces este ahí lo ahí lo

01:19:27.850 --> 01:19:33.350
van a tener va de todos los de todos los comandos cuando tú estás aquí en

01:19:33.350 --> 01:19:39.510
el config repo y haces el cambio vas a hacer un kit status y eso te va a

01:19:39.510 --> 01:19:44.430
decir que archivos se modificaron después tú vas a poner un kit a dd

01:19:45.110 --> 01:19:52.770
puedes agregar un archivo uno por uno puedes hacer todos y a punto y

01:19:52.770 --> 01:19:58.670
después ya haces el commit con él con el mensaje va y comit

01:19:58.670 --> 01:20:03.210
menos m y das el mensaje que quieres agregar

01:20:03.210 --> 01:20:07.130
mensaje y ya que haces eso el último comando es un pus

01:20:09.430 --> 01:20:15.970
ese pus y una vez que haces eso ya se sube al repositorio

01:20:16.550 --> 01:20:21.850
va entonces sí queda clara la explicación del de cómo las

01:20:21.850 --> 01:20:27.610
propiedades se van cambiando de forma dinámica perfecto

01:20:27.610 --> 01:20:33.370
super bien entonces va entonces esta es la propuesta que trae el config server

01:20:33.370 --> 01:20:38.590
aquí en la presentación pues básicamente les va aplicando lo que ya

01:20:38.590 --> 01:20:44.670
fuimos haciendo ahorita este e incluso se cubre esta parte que

01:20:44.670 --> 01:20:50.430
son las actualizaciones dinámicas con como de cafca se habla de los de

01:20:50.430 --> 01:20:55.550
cómo se configuran las propiedades en cada microservicio en sus archivos de

01:20:55.550 --> 01:21:00.230
propiedades y hasta ahí terminaría la práctica

01:21:00.230 --> 01:21:07.830
de este primer tema va entonces si nosotros nos vamos aquí al diagrama

01:21:07.830 --> 01:21:13.270
este lo voy a poner digamos así para para hacerle aquí un rayón

01:21:13.270 --> 01:21:19.290
nosotros ya habría ya entonces con esto cubrimos la parte de

01:21:20.430 --> 01:21:26.030
donde llega la petición no porque manejamos posman para hacer la petición

01:21:26.590 --> 01:21:33.690
y estamos cubriendo la parte de el config repo va que configuramos un

01:21:33.690 --> 01:21:41.010
config repo metimos la parte de spring cloud el config server perdón y en

01:21:41.010 --> 01:21:46.810
nuestros microservicios pues está consumiendo ese ese config server va y

01:21:46.810 --> 01:21:51.830
bueno obviamente pues aquí su bus que tiene con con cafca entonces eso es lo

01:21:51.830 --> 01:21:55.630
que estaríamos cubriendo con estos con esta explicación dentro de este

01:21:55.630 --> 01:22:01.970
diagrama que que aquí tenemos va este este primer este familia de de

01:22:01.970 --> 01:22:08.050
producto de de spring cloud entonces este va si ya queda

01:22:08.050 --> 01:22:14.910
claro vamos a tomar los cinco minutos de del pomodoro y regresaríamos para

01:22:14.910 --> 01:22:21.410
ver la parte de creo que tocaría ver este eureka el descubrimiento con con

01:22:21.410 --> 01:22:29.230
eureka entonces este si seguiría a brek entonces vamos a tomar cinco

01:22:29.230 --> 01:22:36.730
minutos son igual 11 5 les parece nos volvemos aquí a juntar y

01:22:36.730 --> 01:22:36.950
no

01:22:52.850 --> 01:22:55.490
listo sale entonces

01:22:56.610 --> 01:23:00.030
para poner el cronómetro

01:23:00.030 --> 01:23:04.510
esta sale entonces voy a compartir otra vez pantalla

01:23:05.230 --> 01:23:10.930
ahí se ve bien entonces ok entonces

01:23:12.490 --> 01:23:17.650
bueno si no hay ninguna pregunta adicional comentario sobre la parte del

01:23:17.650 --> 01:23:24.870
config server config repo de los clientes del bus de cafca todo eso si

01:23:24.870 --> 01:23:28.690
no hay quedó claro no no tiene alguna duda alguna pregunta una

01:23:31.370 --> 01:23:32.650
inquietud exacto

01:23:37.050 --> 01:23:37.690
correcto

01:23:37.690 --> 01:23:44.110
es correcto listo si hermano este igual te digo lo único si te fijas la única

01:23:44.110 --> 01:23:48.910
línea de programación que le metí en el controlador pues esto no y esto

01:23:48.910 --> 01:23:54.770
pues también es una anotación que nos da spring este spring spring este

01:23:54.770 --> 01:23:58.850
spring boot para poder manipular las propiedades los valores de las

01:23:58.850 --> 01:24:02.570
propiedades que hay dentro de los archivos de configuración y esto pues

01:24:02.570 --> 01:24:08.690
lo único que hice es traerlo y imprimirlo ahí en él en él este

01:24:09.830 --> 01:24:14.810
en él en él cómo se llama en él en él en este en este endpoint va entonces

01:24:14.810 --> 01:24:22.110
ahí se pintaría y es lo único va sale ok entonces este fin como como

01:24:22.110 --> 01:24:30.210
dijo armando la idea y creo que si se notó es básicamente configurar en

01:24:30.210 --> 01:24:35.530
estos archivos no en aquí y en el pom las librerías eso tal cual viene

01:24:35.530 --> 01:24:42.650
explícito en la presentación va entonces este bueno esto es lo que lo

01:24:42.650 --> 01:24:48.710
que trae la propuesta spring config y sus clientes config repo el bus de

01:24:48.710 --> 01:24:53.390
cafca todo esta parte va los actuators ya ya estuvimos revisando

01:24:53.390 --> 01:25:01.750
esos endpoints y demás sale entonces el siguiente punto a cubrir es la parte

01:25:01.750 --> 01:25:09.690
del descubrimiento de servicio con eureka entonces aquí nos habla de que

01:25:09.690 --> 01:25:14.730
vamos a estar implementando un servicio que se llama eureka en los

01:25:14.730 --> 01:25:22.070
microservicios este este servicio de eureka lo que les decía es que una

01:25:22.070 --> 01:25:26.990
de sus ventajas creo que su ventaja más poderosa es a trabajar de la mano

01:25:26.990 --> 01:25:35.150
con ribbon si para hacer este mecanismo de lo que hablamos que es el mecanismo

01:25:35.150 --> 01:25:40.530
del balanceo de carga este mecanismo de balanceo de carga ahorita lo lo

01:25:40.530 --> 01:25:46.350
hablamos de una forma muy teórica muy conceptual en donde nada más este se

01:25:46.350 --> 01:25:53.770
explica para qué que es no que es y para qué serviría en un ejemplo real

01:25:53.770 --> 01:25:59.710
por así decirlo como tal aquí no se trae no se propone una práctica porque

01:25:59.710 --> 01:26:04.150
para hacer eso pues tendremos que tener a lo mejor algún ejercicio que

01:26:04.150 --> 01:26:08.790
haga eso de la creación de instancias de forma dinámica hay que ver la

01:26:08.790 --> 01:26:15.910
forma de crear tráfico un tráfico significativo como para que podamos en

01:26:15.910 --> 01:26:20.290
automático ir creando instancias para ver cómo se balancea esas cargas

01:26:20.290 --> 01:26:27.350
entonces eso solamente queda platicado a un nivel teórico la parte de ribbon y

01:26:27.350 --> 01:26:36.350
el balanceo de carga con eureka va de ahí en fuera todo lo demás que provee

01:26:36.350 --> 01:26:41.730
eureka que es la parte del descubrimiento si se si se ve y para

01:26:41.730 --> 01:26:46.750
nosotros nos referimos al descubrimiento al hecho de que lo que les decía

01:26:46.750 --> 01:26:50.330
nosotros configuramos en todos los microservicios la propiedad que se

01:26:50.330 --> 01:26:56.710
llama que ya ya la hemos identificado en los properties y con ese name eureka

01:26:56.710 --> 01:27:01.830
nos va a ir registrando en su en su red entonces nosotros vamos a ver una

01:27:01.830 --> 01:27:06.250
interfaz es un cliente esto tal cual es un servidor que se va a

01:27:06.250 --> 01:27:10.350
instalar ahorita vamos a ver cómo se instala es un microservicio se

01:27:10.350 --> 01:27:16.790
agregan las dependencias se levanta y eso te expone una interfaz gráfica en

01:27:16.790 --> 01:27:21.490
donde todos los este va a funcionar como un servidor y todos los que se los

01:27:21.490 --> 01:27:25.670
servicios que funcionen como clientes es decir vamos a instalar la dependencia

01:27:25.670 --> 01:27:30.350
maven de cliente en cada microservicio y que se conecten igual que el

01:27:30.350 --> 01:27:34.670
config server no le vamos a dar una url para que le diga a dónde sale el

01:27:34.830 --> 01:27:41.370
servicio de eureka a qué puerto a qué dirección y cuando eso suceda

01:27:41.370 --> 01:27:46.050
eureka los va a mapear en automático por medio de los nombres van a poder

01:27:46.050 --> 01:27:53.130
este se van a poder conocer por así decirlo en un término más más

01:27:53.130 --> 01:27:59.950
coloquial van a poder conocerse y este y bueno esa es la forma en la

01:27:59.950 --> 01:28:06.470
que va a estar trabajando este este producto que se llama eureka va

01:28:06.470 --> 01:28:12.710
entonces ahorita vamos a ir viendo cómo cómo se hace esa configuración en cada

01:28:12.710 --> 01:28:17.330
uno de los microservicios cómo se crea este nuevo micro de eureka es un

01:28:17.330 --> 01:28:21.670
server los otros son nuestros clientes ahora vamos a ir viendo con

01:28:21.670 --> 01:28:28.390
detalle esa configuración va entonces aquí mismo en la diapositiva te

01:28:28.390 --> 01:28:33.490
dicen igual por medio de spring inicializer cómo crear el nuevo micro

01:28:33.490 --> 01:28:41.010
que es el de el de el de urette va te va a decir cómo le puedes llamar de

01:28:41.010 --> 01:28:45.550
artefacto el nombre toda esta metadata que ya hemos estado revisando y te

01:28:45.550 --> 01:28:48.970
va a decir que librería es la que

01:28:49.850 --> 01:28:55.730
la que ocupas en este caso es la dependencia de netflix eureka server

01:28:55.730 --> 01:29:00.930
la que ayer veíamos no que que netflix propone como que esta arquitectura y

01:29:01.470 --> 01:29:05.810
uno de los productos que trae dentro de sus librerías es este urette entonces

01:29:05.810 --> 01:29:11.830
metiendo nosotros esa librería en el maven de este micro este ya lo

01:29:11.830 --> 01:29:16.630
podemos convertir en un servidor va así mismo vamos a encontrar la

01:29:16.630 --> 01:29:21.150
librería eureka client para los microservicios que se van a conectar

01:29:21.150 --> 01:29:26.050
como clientes de ese servicio entonces bueno eso es lo que vamos a estar

01:29:26.050 --> 01:29:34.390
revisando y listo ya cuando terminas aquí vamos a ir viendo cómo se se va

01:29:34.390 --> 01:29:40.430
haciendo esa configuración en negrito básicamente se se se guarda lo que es

01:29:40.430 --> 01:29:46.250
este lo más importante por así decirlo en su archivo de configuración

01:29:46.250 --> 01:29:54.870
aquí tú dices que se llama de nombre eureka tienes la uri en este puerto va a

01:29:54.870 --> 01:29:59.950
estar cachando todo lo que tenga de configuración acá aquí que quiere

01:29:59.950 --> 01:30:04.670
decir ya por ver el puerto 88 88 ya lo trabajamos se está yendo el archivo

01:30:04.670 --> 01:30:10.270
al microservicio config repo no está este este microservicio también se va

01:30:10.270 --> 01:30:14.750
al config server perdón y va a buscar archivos de configuración si hay

01:30:14.750 --> 01:30:21.070
archivos de configuración que servirlo los mapea y si no no como es un micro

01:30:21.070 --> 01:30:24.690
igual también puede traer sus archivos de configuración desde ahí de

01:30:24.690 --> 01:30:28.430
hecho así lo está trayendo este fíjate que aquí se sigue contando

01:30:28.430 --> 01:30:35.690
igual al config server el este micro de eureka se levanta en el 80 81 y en

01:30:35.690 --> 01:30:40.370
negrito pongo esta parte porque si es importante mencionar que eureka le

01:30:40.370 --> 01:30:46.430
tenemos que especificar que él mismo no se registre como como cliente de él

01:30:46.430 --> 01:30:51.810
mismo lo tenemos que especificar de esta forma para que eureka no se

01:30:51.810 --> 01:30:55.630
comporte como un cliente más del mismo servidor porque si no vamos a estar

01:30:55.630 --> 01:31:02.470
teniendo ahí este problemas bueno eso es lo que vamos a estar metiendo y en

01:31:02.470 --> 01:31:07.890
la configuración de nuestra aplicación cuando veamos en la clase main que

01:31:07.950 --> 01:31:12.510
se crea cuando creamos el proyecto desde spring inicializer le tenemos que

01:31:12.510 --> 01:31:15.490
meter esta anotación que están disponibles justo por meter las

01:31:15.490 --> 01:31:21.010
dependencias de netflix metemos este enable eureka server y eso va a ser

01:31:21.010 --> 01:31:24.130
que nuestra clase spring boot en automático la tome como un

01:31:24.130 --> 01:31:30.770
servidor de eureka va entonces toda esa parte viene a ser la

01:31:30.770 --> 01:31:35.330
configuración del servidor entonces vamos a revisarlo igual yo cree mi

01:31:35.330 --> 01:31:40.110
proyecto desde spring inicializer en la página que hemos estado revisando se

01:31:40.110 --> 01:31:46.450
crea se guarda en su repositorio se queda en las ramas y al final aquí

01:31:46.450 --> 01:31:52.290
tengo este archivo este este proyecto entonces en eureka server yo yo veo mi

01:31:52.290 --> 01:31:56.990
pom y voy viendo justo todo lo que habíamos platicado la metadata de

01:31:56.990 --> 01:32:00.730
que me dice ahí la la presentación de cómo crearlo es spring

01:32:00.730 --> 01:32:06.990
inicializer su descripción la versión de spring boot la versión de java las

01:32:06.990 --> 01:32:10.330
dependencias que voy a estar ocupando que si te fijas aquí están la de

01:32:10.330 --> 01:32:15.270
netflix eureka para convertirlo en un servidor y las demás dependencias que

01:32:15.270 --> 01:32:19.910
hemos estado trabajando va se agrega esta parte de configuración para que

01:32:19.910 --> 01:32:23.790
no corran las pruebas unitarias todo lo que hemos estado trabajando en los

01:32:24.630 --> 01:32:32.410
va y finalmente nuestro archivo de configuración que es este y pues es lo

01:32:32.410 --> 01:32:37.550
mismo no ahí te dice cómo traes del repositorio perdón del microservicio

01:32:37.550 --> 01:32:43.890
que está en el puerto 88 88 que es el config repo perdón el config server de

01:32:43.890 --> 01:32:48.650
ahí va a traer sus archivos de configuración si los encuentra le estoy

01:32:48.650 --> 01:32:54.670
diciendo que este es servicio de eureka levanten el 87 61 y la configuración

01:32:54.670 --> 01:33:00.490
para que no se se tome como un propio cliente y por último en nuestra clase

01:33:00.490 --> 01:33:07.630
main va a anotar la utilizar la dependencia en la eureka server para

01:33:07.630 --> 01:33:12.930
que se trate como un servidor va cuando tú levantas esto te va a dar

01:33:12.930 --> 01:33:18.130
una url que es esta la 87 61 que corresponde a lo que levantamos acá

01:33:18.130 --> 01:33:24.850
en este puerto y si tú le das click ahí te va a llevar a esta esta

01:33:24.850 --> 01:33:30.990
interfaz que te decía que que realmente es una interfaz gráfica y este se

01:33:30.990 --> 01:33:36.310
eureka esto es eureka va entonces yo le voy a dar aquí un refresh yo al

01:33:36.310 --> 01:33:42.250
bueno al irlo configurando uno por uno no va a saber todo esto vacío no yo

01:33:42.250 --> 01:33:45.590
aquí ya lo muestro completo porque yo ya tengo conectados todos los

01:33:45.590 --> 01:33:48.850
servicios y te fijas aquí está conectado la piguet wey y están

01:33:48.850 --> 01:33:52.850
conectados los otros dos no estos estos los otros tres estos vendrían a ser

01:33:52.850 --> 01:33:59.850
clientes de eurek y si te fijas esto que viene a hacer es el nombre es el

01:33:59.850 --> 01:34:06.690
nombre de cada microservicio lo que les comentaba va y además te va a

01:34:06.690 --> 01:34:10.910
brindar un estatus de monitoreo de cómo están las instancias o sea

01:34:10.910 --> 01:34:14.530
además de registrarte el servicio te va a registrar todas las instancias

01:34:14.530 --> 01:34:20.970
que tienes y este la en dónde están corriendo va entonces en este caso se

01:34:20.970 --> 01:34:25.610
muestra que tienes una instancia si tuvieras más tráfico haría balanceo

01:34:25.610 --> 01:34:29.510
de carga te va a mostrar cuántas cuántas instancias tendrías y las

01:34:29.510 --> 01:34:33.890
ligas para administrar cada instancia va entonces esto es básicamente el

01:34:33.890 --> 01:34:37.910
servidor de eureka es más especializado si para gente que se

01:34:37.910 --> 01:34:42.110
dedica al monitoreo toda esta gente de devops no nosotros como

01:34:42.110 --> 01:34:47.670
pues nos sirve ver que tiene una interfaz gráfica que hace esto y sobre

01:34:47.670 --> 01:34:51.230
todo su uso que es para el tema del descubrimiento va en este caso que

01:34:51.230 --> 01:34:55.250
lo vamos a estar ocupando así entonces esta es la parte de cómo se

01:34:55.250 --> 01:34:59.450
configura el servidor y bueno creo que creo que no tiene mayor este

01:35:00.090 --> 01:35:06.210
complejidad la otra parte es cómo se conectan los otros microservicios que

01:35:06.210 --> 01:35:10.790
vienen a ser los clientes va entonces es lo mismo nada más que

01:35:10.790 --> 01:35:15.010
vas a agregar en vez de la dependencia eureka server la dependencia eureka

01:35:15.010 --> 01:35:19.250
client en todos los micros en este caso vimos que está el gateway el

01:35:19.250 --> 01:35:23.490
producto el usuario el de órdenes ahí vamos a instalar esta dependencia en

01:35:23.490 --> 01:35:28.790
maven y le vamos a decir la configuración para que se vaya a la

01:35:28.790 --> 01:35:34.230
url del 87 61 que es en donde está corriendo nuestro nuestro servidor de

01:35:34.230 --> 01:35:38.510
eureka va eso es básicamente todo lo que se tendría que hacer y

01:35:38.510 --> 01:35:44.090
obviamente pues también en la clase main habilitar el descubrimiento como

01:35:44.090 --> 01:35:51.450
clientes igual está en esta librería o esta notación está disponible porque

01:35:51.450 --> 01:35:57.150
nosotros instalamos pues las dependencias de netflix y cuando ya

01:35:57.750 --> 01:36:00.970
bueno aquí te dan un último paso que es acceder a este localhost que es lo

01:36:00.970 --> 01:36:06.970
que ya vimos y ves la interfaz gráfica de eureka entonces eso mismo

01:36:07.910 --> 01:36:11.310
igual voy a agarrar el mismo microservicio que es el de productos

01:36:11.310 --> 01:36:15.950
nosotros también ya lo tienen este pero bueno yo por fines de que he estado

01:36:15.950 --> 01:36:20.390
agarrando este lo voy a mostrar aquí y es lo mismo lo que veíamos en el

01:36:20.970 --> 01:36:26.290
pom este por ahí va a estar la librería es buscarla y vas a

01:36:26.290 --> 01:36:31.570
encontrar el cliente de netflix esto lo va a hacer que esté esta

01:36:31.570 --> 01:36:35.630
librería va a poder meter la notación en la clase que estamos

01:36:35.630 --> 01:36:40.230
buscando que es en nuestro main esta es la notación del enable discovery

01:36:40.230 --> 01:36:45.970
client para que se comporten un cliente de eureka y la también importante

01:36:45.970 --> 01:36:51.010
decirle en donde se está este en donde se está mapeando ese servidor con

01:36:51.010 --> 01:36:55.630
esta configuración yo le digo que se vaya esa url y en este puerto que está

01:36:55.630 --> 01:36:59.570
corriendo en este host que es el local está corriendo la instancia de

01:36:59.570 --> 01:37:04.270
eureka y con eso yo bueno y la otra propiedad creo que es también muy muy

01:37:04.270 --> 01:37:09.790
importante está entonces yo al darle un name y así voy nombrando cada uno de

01:37:09.790 --> 01:37:14.930
ellos este eureka hace ese mapeo y sabe quién es quién por su name por su

01:37:14.930 --> 01:37:18.030
nombre entonces esa es la parte del

01:37:18.030 --> 01:37:24.110
descubrimiento y bueno eso es lo que lo que propone eureka ahorita también

01:37:24.110 --> 01:37:28.190
una aplicación práctica la vamos a ver cuando veamos el uso del cliente

01:37:28.190 --> 01:37:31.730
del fein client para que podamos ver cómo se conectan por medio del

01:37:31.730 --> 01:37:38.050
y pues bueno aquí vemos la interfaz de eureka entonces eso es básicamente lo

01:37:38.050 --> 01:37:43.770
que trae eureka ribbon balanceo de carga que de hecho aquí es el siguiente

01:37:43.770 --> 01:37:50.610
punto pues nada más es este como se se estaría ocupando no lo bueno cómo se

01:37:51.190 --> 01:37:55.150
a nivel teórico cómo funcionaría el balanceo

01:37:55.150 --> 01:37:58.930
entonces no sé si hay alguna duda con esta parte de lo que es eureka

01:37:58.930 --> 01:38:04.610
cómo se configura para qué sirve cómo se como se ocupa cuando menos en esto

01:38:04.610 --> 01:38:09.830
en el descubrimiento este creo que fue fue fue muy sencillo no la

01:38:09.830 --> 01:38:15.090
configuración y ahí viene pues en la presentación pero bueno entonces fue

01:38:15.090 --> 01:38:20.170
mostrando clase por clase no sé si haya alguna duda algún comentario que

01:38:20.170 --> 01:38:20.430
tenga

01:38:33.970 --> 01:38:42.130
perfecto súper sale entonces sí creo que este esta parte de esta más este

01:38:42.130 --> 01:38:46.710
más de configurar y no hay tanto problema bien entonces entonces si no

01:38:46.710 --> 01:38:54.110
hay dudas continuamos con la parte del getaway sale

01:38:55.290 --> 01:39:03.130
entonces igual el bueno vamos a regresar tantito es la 68 si regresamos a

01:39:03.130 --> 01:39:06.430
nuestro diagrama vamos a ver si se guardaron ahí los rayones que hicimos

01:39:07.170 --> 01:39:14.010
que creo que no bueno este ahí también ya vimos la parte de eureka

01:39:14.010 --> 01:39:19.130
vamos a hacer una remembranza creo que es con esta

01:39:22.410 --> 01:39:29.630
entonces hemos estado viendo ya la parte de cliente con postman ya vimos la

01:39:29.630 --> 01:39:36.770
parte de eureka el descubrimiento vimos este la parte de cómo nuestro bus

01:39:36.770 --> 01:39:41.350
está funcionando en cada uno de nuestros microservicios

01:39:41.350 --> 01:39:44.390
hemos estado viendo la parte del config server

01:39:44.390 --> 01:39:50.090
hemos estado viendo la parte del config repo y va hasta aquí estaríamos

01:39:50.090 --> 01:39:55.590
cubriendo esta parte ahorita vamos a ver cómo entra el getaway va entonces

01:39:55.590 --> 01:40:01.130
vamos a ver cómo se configura el microservicio getaway y entonces es la

01:40:01.130 --> 01:40:05.770
parte que sigue entonces sería en la 68 nos quedamos

01:40:05.770 --> 01:40:11.150
vamos a ver 68

01:40:11.950 --> 01:40:18.050
entonces el api getaway sale entonces una definición burda de un getaway

01:40:18.750 --> 01:40:22.450
tanto ustedes como yo ya los hemos trabajado

01:40:22.450 --> 01:40:29.530
un getaway es una puerta hacia la hacia el microservicio bueno hacia

01:40:29.530 --> 01:40:36.990
hacia alguna aplicación entonces los getaway sirven como entre otra de las

01:40:37.420 --> 01:40:44.640
orden a las peticiones y demás también te ayudan a implementar este mismo

01:40:44.640 --> 01:40:49.160
balanceo de carga no entre otras funciones que tienen los

01:40:49.160 --> 01:40:54.340
getways también está el tema de usarse como filtros entonces tú puedes hacer

01:40:54.340 --> 01:41:01.160
que una petición se intercepte entre un cliente y un aplicativo pasa por

01:41:01.160 --> 01:41:06.480
tu getaway y en este en este sentido el getaway podría aplicar filtros

01:41:06.480 --> 01:41:11.240
sobre esa petición podría hacerle transformaciones lo que quieras y

01:41:11.240 --> 01:41:15.160
después ya que esté procesada primero por este getaway ya la puede mandar al

01:41:15.160 --> 01:41:20.980
aplicativo entonces es como una capa adicional a la petición

01:41:20.980 --> 01:41:27.180
este esto es lo que lo que te permitiría hacer un getaway va entonces

01:41:27.180 --> 01:41:30.840
dentro de sus funciones también están como decíamos el controlar el

01:41:31.620 --> 01:41:40.100
este por medio pues de balanceo de carga aquí igual en la diapositiva esto

01:41:40.100 --> 01:41:43.720
quiere decir que igual es un microservicio entonces vamos a crearlo

01:41:43.720 --> 01:41:48.200
desde la interfaz de spring initializer vamos a agregar la metadata todo lo

01:41:48.200 --> 01:41:53.240
que ya hemos estado trabajando vamos a llegar a un proyecto lo subimos a

01:41:53.490 --> 01:42:01.450
creamos sus ramas este y en este en este microservicio igual vamos a tener la

01:42:02.050 --> 01:42:06.430
las dependencias vamos a instalarle en negrito se ve la que vamos a ocupando

01:42:06.430 --> 01:42:11.190
que es esta del starter getaway para que se comporte ese micro como como

01:42:11.190 --> 01:42:17.610
un getaway de spin cloud cuando ya terminas de crearlo vas a tener igual

01:42:18.730 --> 01:42:24.990
una configuración en un archivo application yamel le vas dictando las

01:42:24.990 --> 01:42:30.110
propiedades que se ocupan no esto por ejemplo para el tema de eureka le vamos

01:42:30.110 --> 01:42:38.390
a ir diciendo que este se habilite la el descubrimiento que se haga por medio

01:42:38.390 --> 01:42:42.890
de eureka y le vamos a estar pasando esto creo que es lo más importante las

01:42:42.890 --> 01:42:48.630
rutas de todos los microservicios hacia donde él tiene que interceptar por así

01:42:48.630 --> 01:42:54.690
decirlo donde él tiene que fungir como puerta de entrada entonces si tú te

01:42:54.690 --> 01:42:59.710
fijas todo esto es son los user son los names perdón de cada micro

01:42:59.710 --> 01:43:04.470
servicio cortesía de eureka por medio de eureka ya puedo decirle

01:43:04.470 --> 01:43:10.630
simplemente que que se llamen así y va a entender a qué microservicio se

01:43:10.630 --> 01:43:17.590
tiene que conectar y además vas a ver que qué url debe de aplicársele para

01:43:17.590 --> 01:43:24.690
que la proteja en este caso esas url se dictan por medio de una notación que

01:43:24.690 --> 01:43:28.190
se llaman predicados y en este caso yo le estoy diciendo que prácticamente

01:43:28.190 --> 01:43:32.150
todo lo que venga desde el pad y usar se acuerdan que ese pad se

01:43:32.150 --> 01:43:37.250
configuró en los controladores no de cada uno de los este de cada uno de

01:43:37.250 --> 01:43:41.850
los microservicios en este caso estoy hablando del pad de user de producto y

01:43:41.850 --> 01:43:50.630
por ahí está el de order en esos pads todo lo que venga después de de eso

01:43:50.630 --> 01:43:56.350
en de este pad en esa url es lo que va a cubrir

01:43:57.850 --> 01:44:02.170
prácticamente todos los endpoints que creamos que son el get all el get by

01:44:02.170 --> 01:44:08.310
el post el put del delete todos esos los va a estar interceptando el el

01:44:08.310 --> 01:44:12.330
gateway va en cada uno de los microservicios que estoy diciéndole

01:44:12.850 --> 01:44:17.250
entonces esa es la configuración más este probablemente más importante que

01:44:17.250 --> 01:44:21.670
es la que hace que funja como como un gateway se le configura además el

01:44:21.670 --> 01:44:27.310
puerto en este caso este el gateway va a correr en el 80 83 y de igual

01:44:27.310 --> 01:44:31.390
forma le decimos que agarre la configuración de eureka va el

01:44:31.390 --> 01:44:38.750
descubrimiento se está conectando con eureka también en la clase main va que

01:44:38.750 --> 01:44:46.990
ya la tenemos bien identificada vamos a decir esta propiedad va la de

01:44:46.990 --> 01:44:52.350
discovery por eureka la que hemos ya está manejando eso es todo lo que se

01:44:52.350 --> 01:44:57.210
tendría que configurar en el gateway y pues ahora vamos a revisarlo en la

01:44:57.210 --> 01:45:02.630
parte del gateway lo mismo desde spring inicializer me creo mi proyecto va ya

01:45:02.630 --> 01:45:06.470
que lo tengo me va a dar las configuraciones básicas y siguiendo la

01:45:06.470 --> 01:45:11.730
presentación pues yo le voy a ir metiendo sus configuraciones va entonces

01:45:11.730 --> 01:45:16.530
en este caso aquí yo voy a decirle que se vaya

01:45:16.530 --> 01:45:22.830
primero a acá y al pom vamos a revisarnos en el pom yo aquí tengo

01:45:22.830 --> 01:45:29.910
todas las dependencias para que se comporte como un gateway va este eso es

01:45:29.910 --> 01:45:33.930
en la parte del pom este pom pues obviamente va va creciendo conforme le

01:45:33.930 --> 01:45:40.930
vayamos metiendo este configuración dependencias este es el pom aquí en

01:45:40.930 --> 01:45:46.730
nuestra clase main lo mismo habilitamos el descubrimiento de de

01:45:46.730 --> 01:45:53.470
servicios con con eureka va como lo tratamos como un cliente de eureka y

01:45:53.470 --> 01:45:58.730
nuestro archivo de configuración en la aplicación yamel lo que te decía no

01:45:58.730 --> 01:46:04.190
aquí le damos un name lo bautizamos y le vamos a decir que

01:46:05.250 --> 01:46:10.410
estas son las rutas que vamos a estar interceptando por así decirlo va a

01:46:10.410 --> 01:46:15.470
estar interceptando rutas que vengan desde usuario desde producto desde

01:46:15.470 --> 01:46:20.030
orden aquí tiene otras de otros micros que también se ocupan pero bueno esto

01:46:20.030 --> 01:46:25.210
para nosotros no no funciona lo de car y lo de se nada más basta tener

01:46:25.210 --> 01:46:30.870
usuario producto y orden que son las que hemos estado este ocupando

01:46:30.870 --> 01:46:35.810
va esto es lo que haría que intercepte esas peticiones

01:46:36.430 --> 01:46:39.770
y bueno todo lo demás lo vamos a ver ahorita porque es la parte de la

01:46:39.770 --> 01:46:44.250
seguridad y bueno le estamos diciendo que

01:46:44.250 --> 01:46:50.450
el puerto 80 84 y que se conecte al mismo cliente de brek va entonces cuando

01:46:50.450 --> 01:46:55.730
yo levanto este getaway vamos a ver qué más nos dice aquí la

01:46:57.230 --> 01:47:00.570
presentación bueno ahí ya es la parte de fein

01:47:00.570 --> 01:47:05.470
entonces para hacer eso ya con eso nosotros no tenemos que configurar nada

01:47:05.470 --> 01:47:11.110
más a levantarlo yo voy a tener a no es cierto hay otra hay otra parte

01:47:11.110 --> 01:47:16.870
que es la clase de configuración va esta esta clase

01:47:17.510 --> 01:47:22.010
creo que no está en la presentación no la vi igual y ahorita hacemos la

01:47:22.010 --> 01:47:25.850
búsqueda pero bueno esto básicamente también se tiene que agregar aquí en

01:47:25.850 --> 01:47:30.510
el getaway un paquete que se llama config metemos esta clase que se

01:47:30.510 --> 01:47:35.030
llama security config a ok ya ya recordé es que esto se mete pero

01:47:35.030 --> 01:47:39.270
cuando se configura con con el servidor de autenticación entonces

01:47:39.270 --> 01:47:45.190
esto todavía está bien que lo viemos no lo vemos simplemente así entonces ya

01:47:45.190 --> 01:47:47.610
teniendo eso y yo levantando el proyecto

01:47:48.710 --> 01:47:54.270
yo aquí en postman ya voy a poder tener mi colección bueno de hecho ya la

01:47:54.270 --> 01:47:59.770
tienen aquí en getaway ya van a poder acceder al van a poder acceder a los

01:47:59.770 --> 01:48:05.270
mismos en points que nosotros tenemos de producto de órdenes de usuarios

01:48:05.270 --> 01:48:11.250
pero ahora pegándole a través del getaway por ejemplo si yo veo el endpoint

01:48:11.250 --> 01:48:17.530
de de productos así es como se vería este endpoint de productos y te fijas

01:48:17.530 --> 01:48:22.910
ahora entra por el 8084 lo que antes si yo no lo cubría con un

01:48:22.910 --> 01:48:28.390
getaway entraba por el 8082 entonces ahorita que ya está levantado el

01:48:28.390 --> 01:48:33.530
puerto de del getaway yo le puedo hacer una petición igual a

01:48:33.530 --> 01:48:36.470
la petición de productos pero esta vez yo estoy apuntando directamente desde el

01:48:36.470 --> 01:48:41.550
getaway y si te fijas ahí me sigue respondiendo la petición igual la vamos

01:48:41.550 --> 01:48:46.330
a ver acá en el en el producto service no aquí entró la petición aquí también

01:48:46.330 --> 01:48:50.190
cayó de hecho si no mal recuerdo se tendría que pintar de hecho aquí está

01:48:50.190 --> 01:48:54.930
otro hola porque volvió a caer en ese endpoint que estábamos probando

01:48:54.930 --> 01:48:59.630
entonces ahí aunque entró por el getaway lo redireccionó hacia este

01:48:59.630 --> 01:49:05.890
servicio de producto y entró al getaway primero porque si te fijas aquí entró

01:49:05.890 --> 01:49:11.030
por el 8084 va que es como le dijimos que entre la petición y por qué lo

01:49:11.030 --> 01:49:16.390
mapeo porque aquí nosotros le dijimos que agarrará todo lo que se

01:49:16.390 --> 01:49:21.290
encuentra en product service en la ruta cumple con este predicado es

01:49:21.290 --> 01:49:24.350
decir que cumple con products lo que sea

01:49:25.230 --> 01:49:30.830
entonces al tener ese products lo que sea que si te fijas eso se ve aquí en

01:49:30.830 --> 01:49:38.230
el en la url products lo que sea por eso es que está haciéndose ese mapeo

01:49:39.970 --> 01:49:42.290
va entonces a ver

01:49:45.590 --> 01:49:51.450
este mensaje listo va entonces este bueno esa es la parte de cómo cómo

01:49:51.450 --> 01:49:56.690
funciona el getaway va y entonces ya lo sé pues que teníamos nosotros

01:49:56.690 --> 01:50:01.530
expuestos desde digamos desde el microservicio directamente también ya

01:50:01.530 --> 01:50:06.710
podemos entrar desde la parte de su getaway va así es como

01:50:06.710 --> 01:50:12.570
como está ya mapeándose y esto es esa parte la tema del getaway no sé si

01:50:12.570 --> 01:50:18.850
ahí quedó alguna este alguna duda de cómo se configura o

01:50:18.850 --> 01:50:21.610
cómo se ocupa

01:50:33.470 --> 01:50:37.250
así sí es una

01:50:48.890 --> 01:50:55.870
exacto si son notaciones grandes que te pide la el framework o sea lo buscas

01:50:55.870 --> 01:51:02.230
en su documentación y te pide eso no te pide dar un id exacto la uri y el

01:51:02.230 --> 01:51:06.490
predicado bueno o sea tú no es que necesites un predicado le puedes decir

01:51:06.490 --> 01:51:12.450
directamente cómo mapearlo pero yo lo muestro de una forma así con este

01:51:12.450 --> 01:51:15.850
predicate porque así es más dinámico o sea aquí yo englobo todo lo que

01:51:15.850 --> 01:51:23.810
venga dentro de este pacto entonces es más engloba más es más general va

01:51:30.390 --> 01:51:34.850
así claro si si si si te fijas todos estos también coinciden con el name

01:51:34.850 --> 01:51:39.630
que les damos a cada microservicio y todo esto es porque eureka como están

01:51:39.630 --> 01:51:44.130
conectados con eureka así es como por medio del name saben quiénes

01:51:44.130 --> 01:51:48.870
entonces esto es más que nada el name que se le da en la propiedad a cada

01:51:49.470 --> 01:51:54.590
microservicio por ejemplo ese user service lo vas a encontrar en en el

01:51:54.590 --> 01:51:59.450
properties en su name acá lo tienes

01:52:00.570 --> 01:52:08.330
ahí está vale y además también este por ejemplo en el controlador ya que

01:52:08.330 --> 01:52:13.430
estamos aquí podemos revisarlo si te acuerdas aquí viene mapeado este map

01:52:13.430 --> 01:52:19.050
entonces este users es el que se está ocupando como ruta base para que

01:52:19.050 --> 01:52:25.310
el gateway sepa esto que todo lo que venga acá está está está mapeado

01:52:25.310 --> 01:52:31.630
con ese va lo mismo en productos mismo en órdenes

01:52:31.630 --> 01:52:38.110
si sino de que alguna otra duda o aporte

01:52:40.590 --> 01:52:45.970
va que va perfecto bien entonces entonces si no hay más

01:52:45.970 --> 01:52:52.690
vamos a continuar con el siguiente punto que es

01:52:55.310 --> 01:53:02.870
la parte de los clientes rest con fein si te fijas ha sido más como temas de

01:53:03.530 --> 01:53:06.950
descargar librerías no agregar librerías en los pumps

01:53:08.370 --> 01:53:13.690
atacar los archivos properties no los de configuración meterle ahí las

01:53:13.690 --> 01:53:17.730
configuraciones que requiere y en automático esa es la potencia de

01:53:17.730 --> 01:53:22.470
spring boot que toda la configuración la va a hacer en automático

01:53:22.470 --> 01:53:28.230
entonces estamos utilizando bastante bien el framework de spring boot y estamos

01:53:28.230 --> 01:53:34.310
usando estas ventajas que nos ofrece no entonces después viene la parte de

01:53:34.310 --> 01:53:40.510
los clientes rest con fein client que es una librería fein como tal es una

01:53:40.510 --> 01:53:44.970
librería no es un micro servicio entonces vamos a estar descargando esa

01:53:44.970 --> 01:53:50.350
librería en cada micro servicio que lo queramos ocupar en este caso por

01:53:51.470 --> 01:53:57.490
nuestra práctica que tenemos aquí este propuesta lo que les platicaba ayer no

01:53:57.490 --> 01:54:01.910
se va a activar el fein en el micro servicio de órdenes porque él sí

01:54:01.910 --> 01:54:06.590
necesita conocer hacia dónde

01:54:08.130 --> 01:54:11.510
el si necesita conocer antes de hacer un insert en las órdenes

01:54:11.510 --> 01:54:16.710
si necesita conocer usuarios y productos no para que yo pueda dar de

01:54:16.710 --> 01:54:21.790
orden entonces al hacer eso ya te está diciendo que si necesita conocer

01:54:21.790 --> 01:54:26.250
productos y usuarios pues necesita conectarse con ellos es para eso se

01:54:26.250 --> 01:54:30.530
ocupa esta librería fein los fein client nos va a permitir desde el

01:54:30.530 --> 01:54:35.810
micro servicio de órdenes ir a los otros dos micros y extraer

01:54:35.810 --> 01:54:42.250
información y en base a esa actuar con en nuestro en nuestro micro

01:54:42.250 --> 01:54:46.050
servicio que los mando a llamar entonces lo primero que hay que hacer es

01:54:46.610 --> 01:54:51.130
añadir la dependencia que es esta de open fein sale esto lo vamos a meter

01:54:51.130 --> 01:54:57.390
aquí en el micro servicio de órdenes vamos a modificar la clase men para

01:54:57.390 --> 01:55:04.450
habilitar los clientes fein que vamos a ir declarando si después vamos a

01:55:04.450 --> 01:55:09.370
agregar el fein el fein client se llaman así fein son clientes se

01:55:09.370 --> 01:55:14.970
llaman fein client de productos o sea vamos a hacer una un cliente que se

01:55:14.970 --> 01:55:19.430
comunique con el micro servicio de productos y si te fijas este este

01:55:19.430 --> 01:55:25.650
cliente es tan sencillo como crear una clase va a decirle que a que name no

01:55:26.230 --> 01:55:31.050
cómo se llama el micro servicio al que se va a conectar

01:55:31.050 --> 01:55:36.710
este a ver no no déjenme le pongo mío a esto porque me tiene harto

01:55:38.430 --> 01:55:42.190
entonces este con por medio de la propiedad name que hemos estado

01:55:42.190 --> 01:55:47.130
trabajando va que nos que le damos a cada micro servicio que eureka ya

01:55:47.130 --> 01:55:51.650
conoce todo esto lo que les platicaba por medio de este name con esta

01:55:51.650 --> 01:55:57.450
librería de fein client este yo voy a poder encontrar al micro

01:55:57.450 --> 01:56:03.510
servicio de producto y está está dando esta es la

01:56:03.510 --> 01:56:08.070
simplicidad que te ofrece la librería de fein tú le amas le dices cómo se va

01:56:08.070 --> 01:56:13.370
a llamar le dices las variables que quieres pasar como parámetro y la

01:56:13.370 --> 01:56:16.830
url del micro servicio donde va a apuntar en este caso este cliente

01:56:17.430 --> 01:56:22.130
está haciendo una petición al micro servicio de productos al endpoint que

01:56:22.130 --> 01:56:27.910
te trae un producto por id y le va a pasar como parámetro esta es a id o

01:56:27.910 --> 01:56:32.110
sea estaría mandando a llamar a este endpoint que hemos estado

01:56:32.110 --> 01:56:37.850
ocupando a este al de productos por id estaría desde órdenes estaría haciendo

01:56:37.850 --> 01:56:43.910
esta petición esta es la simplicidad que te ofrece el fein client y lo

01:56:43.910 --> 01:56:49.010
mismo para los usuarios no estamos haciéndole un get user por

01:56:49.010 --> 01:56:54.530
id por medio de fein client desde órdenes hacia usuarios va le

01:56:54.530 --> 01:57:00.050
estamos pasando la variable como parámetro y al micro servicio que se

01:57:00.050 --> 01:57:06.130
llama de esta forma esa es la parte de cómo funciona nuestro fein client

01:57:07.670 --> 01:57:13.650
y eso lo vamos a ver reflejado en este método de create order va lo que les

01:57:13.650 --> 01:57:17.770
decía cuando yo quiero dar de alta una orden primero necesito conocer si

01:57:17.770 --> 01:57:21.870
hay si el usuario que me están pidiendo existe y si hay productos

01:57:21.870 --> 01:57:26.730
entonces esto es lo que estaríamos haciendo en el en la programación del

01:57:26.730 --> 01:57:31.770
método de creación órdenes estaríamos esto lo vamos a revisar también la

01:57:31.770 --> 01:57:38.390
detalle ahorita pero aquí igual y se puede ilustrar lo que hago es instanciar

01:57:38.390 --> 01:57:44.410
en un DTO de usuarios de producto la llamada del cliente del fein client de

01:57:44.410 --> 01:57:48.890
cada uno de ellos no entonces lo que me llega por request en la orden

01:57:48.890 --> 01:57:53.130
ahorita vamos a ver cómo está compuesto ese ese request yo le digo

01:57:53.130 --> 01:57:57.990
y le mando el id de usuario y el de producto y con eso el cliente de fein

01:57:57.990 --> 01:58:03.150
client a cada uno de ellos va a responder si encuentra información en

01:58:03.150 --> 01:58:08.090
alguno de esos dos este más bien aquí si no la encuentra manda esta

01:58:08.090 --> 01:58:13.430
excepción que no existen los productos y en caso contrario pues los

01:58:13.430 --> 01:58:18.090
voy a los voy a llenar y voy a hacer la devolución de la de la orden

01:58:18.090 --> 01:58:23.450
va entonces este es como se estaría viendo vamos a ir vamos a ir ahora

01:58:24.070 --> 01:58:29.890
configurándonos paso a paso entonces para eso nos decía aquí la la

01:58:29.890 --> 01:58:34.790
presentación lo primero que hay que hacer es añadir la dependencia que es

01:58:34.790 --> 01:58:39.290
open fein en nuestro microservicio entonces en este caso se refería al

01:58:39.290 --> 01:58:44.930
microservicio de órdenes te fijas acá en orden voy a ir cerrando todo

01:58:44.930 --> 01:58:49.210
esto para que no nos haga ruido y lo vamos a ir abriendo conforme se ocupe

01:58:49.210 --> 01:58:56.470
aquí en el en el pom voy a utilizar la librería de open fein entonces si yo

01:58:56.470 --> 01:59:02.690
la busco aquí está y al hacer esto bajo la dependencia y ya está listo

01:59:02.690 --> 01:59:08.490
para que pueda ocupar las las librerías va el paso 1 en el paso 2

01:59:08.490 --> 01:59:13.570
la clase main la tengo que este habilitar los clientes fein que yo

01:59:13.570 --> 01:59:19.910
que yo vaya a crear va entonces igual esta librería yo lo puedo importar

01:59:19.910 --> 01:59:24.770
porque ya la agregué al al maven no ya bajen las las dependencias y demás

01:59:24.770 --> 01:59:29.710
y luego con esto

01:59:30.750 --> 01:59:34.050
ya tendríamos este

01:59:35.270 --> 01:59:39.370
habilitado la parte de fein client ahora ya nada más habría que crearlos

01:59:39.370 --> 01:59:45.410
pues para eso si te fijas este microservicio de órdenes hay que crear

01:59:45.410 --> 01:59:50.750
un paquete nuevo que son los clients y dentro de esta carpeta o paquete vamos

01:59:50.750 --> 01:59:54.130
a crear dos clientes que es el de producto y el usuario

01:59:55.590 --> 01:59:59.490
tan sencillo como crear estas agregar estas líneas que creo que son

01:59:59.490 --> 02:00:05.290
bastante intuitivas vamos a crear por el cliente de producto lo que hago es

02:00:05.440 --> 02:00:10.840
decirle a qué microservicio se va lo puedo agarrar por medio del name le

02:00:10.840 --> 02:00:16.580
digo al de product service le digo que a qué url le tengo que pegar

02:00:16.580 --> 02:00:21.840
que es la que se llama products id va entonces esto se va a ir al

02:00:21.840 --> 02:00:25.820
controlador de productos a este endpoint que básicamente es el de

02:00:25.820 --> 02:00:31.680
product by id y paso este parámetro y la respuesta por eso les decía que

02:00:31.830 --> 02:00:36.730
micro servicio de órdenes ocupaba el dto de producto y el de usuario

02:00:37.210 --> 02:00:41.770
entonces este es el mapeo esto es lo que me va a devolver ese cliente un id

02:00:41.770 --> 02:00:47.010
un nombre y un precio que esto está mapeado pues con los clientes de con

02:00:47.010 --> 02:00:51.650
los dto de producto y el de cliente va es el mismo que tienes en dado de

02:00:51.650 --> 02:00:56.830
alta en esos microservicios entonces tú haciendo esto ya tienes un

02:01:05.370 --> 02:01:12.710
y finalmente nosotros nos vamos a la clase de los controladores aquí en el

02:01:12.710 --> 02:01:18.250
de orden y en el método post que es el de la creación de la orden si te

02:01:18.250 --> 02:01:22.430
fijas este también tiene el mismo ejemplo de traerla el example property

02:01:22.430 --> 02:01:26.910
de su config repo todo eso no como para que nos vayamos familiares

02:01:27.910 --> 02:01:32.330
y si te fijas aquí en el post no vamos a buscarlo

02:01:35.270 --> 02:01:42.110
en el post ahorita no le hagan caso al circuit breaker en el post este yo

02:01:42.110 --> 02:01:48.310
tengo el método de creación de orden me llega la petición el body

02:01:48.310 --> 02:01:53.670
de la petición para crear una orden me va a pedir básicamente el id

02:01:53.670 --> 02:01:58.790
del usuario el id del producto la cantidad y la fecha de la orden eso lo

02:01:58.790 --> 02:02:04.330
vamos a ir viendo ya también aquí en el postman si yo abriera la colección de

02:02:04.330 --> 02:02:07.670
órdenes para crear una este

02:02:09.610 --> 02:02:14.150
yo aquí tengo y esta es la petición va entonces voy a órdenes le voy a

02:02:14.150 --> 02:02:19.430
hacer un post para poder dar de alta una orden y en el body yo le voy a

02:02:19.430 --> 02:02:27.670
decir este al usuario dos le voy a pedir el producto id 2 y le voy a

02:02:27.670 --> 02:02:34.430
pedir tres no tres ese producto la cantidad y en esta fecha es el formato

02:02:34.970 --> 02:02:40.490
si yo al mandar esa petición me va a responder ya sea que si existe ese

02:02:40.490 --> 02:02:45.150
usuario y ese producto que si se acuerdan también tenemos los métodos

02:02:45.150 --> 02:02:50.850
para consultar el user por id el producto por id si esos existen este la

02:02:50.850 --> 02:02:54.870
orden se va a completar va entonces ahorita vamos a hacer el happy pad en

02:02:54.870 --> 02:02:58.970
donde si se inserta porque cuando no se inserta es cuando vamos a hacer la

02:02:58.970 --> 02:03:02.550
ilustración del circuit breaker no que es lo que les decía de que si

02:03:02.550 --> 02:03:06.470
algo falla este el circuit breaker va a estar ahí disponible para que

02:03:06.470 --> 02:03:13.910
eso eso no suceda no no se rompa el flujo entonces viendo el método si

02:03:13.910 --> 02:03:20.190
nosotros nos vamos a la programación aquí en el order service en la creación

02:03:20.190 --> 02:03:24.130
de la orden a lo que vimos ahí en la presentación primero vamos a

02:03:24.130 --> 02:03:28.350
verificar que exista ese usuario y ese producto que nos están pasando por la

02:03:28.350 --> 02:03:33.610
por el request es decir estos el id de ese usuario y ese producto lo vamos

02:03:33.610 --> 02:03:38.450
a validar que primero exista en los otros dos micros entonces para eso me

02:03:38.450 --> 02:03:42.350
hago uso por inyección de dependencia del cliente que acabo de

02:03:42.350 --> 02:03:46.450
crear esos clientes son estos no se les llaman clientes realmente son los

02:03:47.170 --> 02:03:51.650
clientes o sea estoy usando estoy importando estas librerías acá o

02:03:51.650 --> 02:03:57.110
bueno estos métodos estas clases por inyección y le estoy diciendo que

02:03:57.110 --> 02:04:02.310
aquí en el crear orden me lo traiga no lo estoy usando estoy diciendo

02:04:02.310 --> 02:04:06.330
tráeme un user tráeme un producto por medio de lo que llega en la

02:04:06.330 --> 02:04:11.570
petición de orden en el user id y en el producto id que es lo que

02:04:11.570 --> 02:04:17.570
llega acá estas estas dos propiedades entonces al hacer eso estos este

02:04:18.710 --> 02:04:24.070
DTO se van a llenar y si uno de ellos dos es nulo pues aquí me va a

02:04:24.070 --> 02:04:29.550
mandar una excepción va una excepción controlada en caso de que no la

02:04:29.550 --> 02:04:37.490
mande este a ver nada más un momento dos minutos por favor un segundo

02:04:37.490 --> 02:04:40.490
no me tardo

02:04:42.190 --> 02:04:47.950
esto ya una disculpa entonces este si aquí uno de estos dos estuviera vacío

02:04:47.950 --> 02:04:52.850
pues manda una excepción controlada y manda este mensaje de lo contrario la

02:04:52.850 --> 02:04:57.530
orden este se crearía y se guardaría va entonces vamos a hacer este happy

02:04:57.530 --> 02:05:02.730
pad en donde todo existe y si se puede dar de alta como para corroborar que

02:05:02.730 --> 02:05:08.730
todo esté bien entonces yo voy a mandar aquí mi usuario 2 porque primero

02:05:08.730 --> 02:05:13.070
vamos a consultarlos voy a ver si el producto 2 existe que de hecho ahí ya

02:05:13.070 --> 02:05:19.010
hice la petición varias veces existe ahora voy a checar en usuarios si

02:05:19.010 --> 02:05:24.730
existe lo puedo buscar por id o por un get all user no si yo le digo que

02:05:25.270 --> 02:05:30.330
me mande el 3 ahí lo veo le hago la petición y también existe entonces al

02:05:30.330 --> 02:05:36.350
momento de yo crear la orden es decir hacer el post de la orden mandándole

02:05:36.350 --> 02:05:41.450
el usuario 2 y el producto 2 con la cantidad 3 antes de eso quiero

02:05:41.450 --> 02:05:49.570
mostrarles el get all orders si se acuerdan de nuestro archivo de ml

02:05:51.250 --> 02:05:56.510
en órdenes también insertamos órdenes por por default entonces vamos

02:05:56.510 --> 02:06:03.130
a abrirlo nada más como para recordarlo vamos a abrir en en el sql en la de

02:06:03.130 --> 02:06:07.890
órdenes en la de manipulaciones los archivos de manipulación te fijas

02:06:07.890 --> 02:06:13.310
aquí también me dio de alta ciertas órdenes va igual ahí no di de alta

02:06:13.310 --> 02:06:19.770
el id simple sencillamente le dije que usuario que producto y con eso

02:06:19.770 --> 02:06:24.450
este me los fue me los fue dando de alta no entonces si yo hiciera un

02:06:24.450 --> 02:06:29.630
get all de esas órdenes me las va a responder me debe de responder tres

02:06:29.630 --> 02:06:34.830
órdenes que son las que existen ahí por default por así decirlo no eso se

02:06:34.830 --> 02:06:41.630
mapea como la orden con id 1 fue de una cantidad 2

02:06:44.910 --> 02:06:50.790
para el usuario 1 el producto 1 ya en esta fecha esa es la relación que se

02:06:50.790 --> 02:06:58.870
entre orden producto y usual es esto y bueno entonces si yo diera de alta una

02:06:58.870 --> 02:07:05.210
nueva orden se me borró ok lo vuelvo a agarrar si entonces yo fuera a dar de

02:07:05.210 --> 02:07:10.290
alta una nueva orden yo la yo la envío no vamos a tener un nuevo

02:07:10.290 --> 02:07:14.290
identificador en las órdenes que es el 4 que de hecho aquí ya se dio de

02:07:14.290 --> 02:07:18.610
alta si yo hiciera que un get all orders otra vez aquí nada más nos

02:07:18.610 --> 02:07:22.750
devolvía tres ahora ya nos debe de devolver cuatro que es el último

02:07:22.750 --> 02:07:28.770
registro que cree va entonces este mismo ejercicio es el que hemos

02:07:28.770 --> 02:07:34.830
estado manejando con producto y con usuario que es el crud aquí aquí está

02:07:34.830 --> 02:07:41.210
el crud ahora de órdenes y este crud está un poquito más este

02:07:41.210 --> 02:07:45.310
elaborado porque conlleva esa relación entre producto y usual

02:07:45.310 --> 02:07:52.550
no es entonces este bueno esta esta es la parte de cómo se

02:07:52.550 --> 02:07:57.550
conecta así es como se ocupa el fein client no sé si hay alguna duda sobre

02:07:57.550 --> 02:08:03.450
sobre este sobre cómo funcionan los clientes los fein clients para que se

02:08:03.450 --> 02:08:06.130
ocupa para que es la librería

02:08:06.130 --> 02:08:10.310
en la codificación no sé algo

02:08:13.810 --> 02:08:15.130
adelante

02:08:18.830 --> 02:08:20.150
adelante

02:08:28.090 --> 02:08:33.930
para usar los digamos solos sin necesidad de sí

02:08:35.470 --> 02:08:42.230
en nuestro ejemplo sí pero en la parte teórica te decía como como el spring

02:08:42.230 --> 02:08:47.110
framework es eso es un framework modular puedes ocupar cualquiera de esos

02:08:47.110 --> 02:08:50.610
piezas por separado y no no va a tener problema

02:09:06.470 --> 02:09:07.310
ok

02:09:07.930 --> 02:09:14.330
ok si básicamente es con el con el con la propiedad name donde está ah bueno

02:09:14.330 --> 02:09:20.930
déjame ver el cliente de de en donde lo configuramos aquí verdad este ok

02:09:21.630 --> 02:09:26.430
estos clientes este simplemente nosotros mapeando esta esta

02:09:26.430 --> 02:09:30.950
configuración y habilitando en la clase main los

02:09:31.930 --> 02:09:37.910
cómo se llaman los los la la el fein client con eso ya podrías este

02:09:37.910 --> 02:09:42.730
utilizarlo esto dentro de nuestro ejercicio que tenemos eureka que tenemos

02:09:42.730 --> 02:09:49.410
este el el gateway va cuando tú no tienes esa parte si si tendrías que

02:09:49.410 --> 02:09:54.950
hacer uso de del dominio del microservicio donde estás apuntando

02:09:55.150 --> 02:10:01.290
o sea literal le puedes pasar la url así tal cual completa como viene como te

02:10:01.290 --> 02:10:06.930
la den y a esa url es a donde tendrías que apuntar aquí en el fein client hay

02:10:06.930 --> 02:10:12.050
una propiedad no me acuerdo cómo se especifica pero tú le puedes decir la

02:10:12.050 --> 02:10:16.010
url la url va entonces nosotros estamos haciendo que esa es una muy

02:10:16.010 --> 02:10:21.030
buena pregunta nosotros estamos haciendo configuración por medio de

02:10:21.950 --> 02:10:25.770
como les decía todo está bonito cuadrado por las propiedades de los

02:10:25.770 --> 02:10:29.410
pero también puedes hacer una configuración por medio de una uri va

02:10:29.410 --> 02:10:33.210
entonces no me acuerdo aquí cómo es la notación no era mi intención

02:10:33.210 --> 02:10:37.810
mostrar ese ejercicio pero creo que por ahí puedes definir una propiedad es

02:10:37.810 --> 02:10:42.650
cuestión de también meterlos en las librerías y setear ahí la uri no

02:10:42.650 --> 02:10:46.770
la url y ya te evitas directamente agregar el name

02:10:47.770 --> 02:10:50.770
ya te puedes ir a cualquier servidor

02:10:52.690 --> 02:10:55.770
así sí claro

02:11:01.510 --> 02:11:02.910
y

02:11:13.730 --> 02:11:15.130
correcto

02:11:29.350 --> 02:11:29.990
claro

02:11:30.910 --> 02:11:37.810
sí sí de hecho yo hice un mapeo simple para ilustrarlo porque si te fijas este

02:11:37.810 --> 02:11:43.110
es un get hacia producto por id pero yo también puedo traerle todos los

02:11:43.110 --> 02:11:47.410
productos sin pasarle un id se yo puede haber hecho aquí otro cliente o

02:11:47.410 --> 02:11:54.330
sea si te fijas estos clientes fein son el mapeo de los crud o de los

02:11:54.330 --> 02:11:59.710
métodos de los endpoints que exponen cada controlador en cada microservicio

02:11:59.710 --> 02:12:04.930
si te fijas este es el endpoint que le pega al get product by id pero yo

02:12:04.930 --> 02:12:09.470
también puedo tener este de get products no y decirle que se llame

02:12:09.470 --> 02:12:15.030
así y no le pasó nada porque no ocupa ningún parámetro y con eso ya

02:12:15.030 --> 02:12:20.130
estaría yo haciéndole una petición al get all products y este es

02:12:20.130 --> 02:12:25.490
el mismo mapeo que yo me voy al que si yo me fuera aquí al product service a

02:12:25.490 --> 02:12:32.270
donde está su clase controladora y aquí tengo su products get all products

02:12:32.270 --> 02:12:37.970
que creo que era este aquí le estaría pegando yo a este método

02:12:37.970 --> 02:12:43.190
ah bueno aquí tendría que ver si te fijas aquí tendrías que devolver una

02:12:43.190 --> 02:12:49.010
lista de SDTO entonces yo aquí tendría que llevármelo también aquí en

02:12:49.010 --> 02:12:54.950
el de order si yo puedo crear una colección de mi cliente fein con tantos

02:12:54.950 --> 02:12:59.810
métodos como yo ocupe relacionados a este servicio entonces yo con esto al

02:12:59.810 --> 02:13:03.850
mandarlo a llamar estaría obteniendo toda la lista de todos los productos

02:13:03.850 --> 02:13:09.330
está pegando a ese endpoint también yo podría hacer por medio de fein

02:13:09.330 --> 02:13:17.010
client el delete el update todo eso va en este caso se ilustra el uso del

02:13:17.010 --> 02:13:22.690
del id de bueno de este endpoint pero pero si puedes ocupar el método que a

02:13:22.690 --> 02:13:25.010
ti se te ocurre

02:13:27.450 --> 02:13:34.010
bien entonces bastante bien alguien más alguna duda pregunta inquietud

02:13:34.570 --> 02:13:40.290
sobre el uso de los fein clients

02:13:43.790 --> 02:13:46.950
bien entonces todo claro

02:13:48.370 --> 02:13:55.570
curioso que siempre acabamos el pomodoro al en el número 8 58 va entonces

02:13:55.570 --> 02:14:01.330
vamos a tomar el siguiente pomodoro que es el tercero este

02:14:01.330 --> 02:14:07.770
hasta ahorita hemos tomado dos verdad 1 2 3 va entonces en este

02:14:09.530 --> 02:14:17.770
este este pomodoro vamos a agarrar 25 minutos para para ir a despejarnos y

02:14:18.510 --> 02:14:22.930
regresando este es el que no tomamos ayer regresando este continuamos

02:14:22.930 --> 02:14:26.810
viendo la parte ahora de los circuit breakers vamos ahora a ver cómo

02:14:26.810 --> 02:14:31.390
cuando la petición vamos a forzarla por allá que truene y cuando esto

02:14:31.390 --> 02:14:38.330
falle este vamos a vamos a ver cómo cae en un fallback en un circuit

02:14:38.330 --> 02:14:44.550
breaker para que no no sé no se truene no sea el flujo siga vivo y con

02:14:44.550 --> 02:14:49.510
eso pues ya este la petición nos no se pierda va entonces es el

02:14:49.510 --> 02:14:53.530
siguiente tema en parte del circuit breaker y entonces nos vemos aquí a

02:14:53.530 --> 02:15:02.130
12 25 tomando esta práctica del pomodoro va les parece bien

02:15:06.030 --> 02:15:12.530
vale entonces nos vemos ahorita 12 25 les les vuelvo aquí a hablar va

02:15:19.110 --> 02:15:19.990
listo

02:15:36.890 --> 02:15:38.290
y

02:15:56.810 --> 02:15:58.210
y

02:16:08.790 --> 02:16:10.190
y

02:16:10.190 --> 02:16:12.930
y

02:16:12.930 --> 02:16:13.690
y

02:16:21.630 --> 02:16:23.030
y

02:16:23.030 --> 02:16:23.050
y

02:16:25.810 --> 02:16:26.050
y

02:16:27.210 --> 02:16:27.310
y

02:16:38.330 --> 02:16:39.730
y

02:16:39.730 --> 02:16:42.050
y

02:16:51.150 --> 02:16:52.550
y

02:16:52.550 --> 02:16:52.570
y

02:16:55.850 --> 02:16:57.250
y

02:16:57.250 --> 02:16:57.330
y

02:17:10.150 --> 02:17:11.550
y

02:17:11.550 --> 02:17:12.730
y

02:17:20.690 --> 02:17:22.090
y

02:17:22.090 --> 02:17:22.550
y

02:17:26.930 --> 02:17:28.330
y

02:17:28.330 --> 02:17:28.550
y

02:17:38.630 --> 02:17:40.030
y

02:17:40.030 --> 02:17:41.950
y

02:17:50.530 --> 02:17:51.930
y

02:17:51.930 --> 02:17:52.050
y

02:17:52.050 --> 02:17:52.070
y

02:17:54.830 --> 02:17:55.070
y

02:17:56.230 --> 02:17:56.250
y

02:17:56.250 --> 02:17:57.690
y

02:18:07.590 --> 02:18:08.990
y

02:18:08.990 --> 02:18:11.170
y

02:18:11.170 --> 02:18:12.230
y

02:18:20.650 --> 02:18:22.050
y

02:18:31.570 --> 02:18:32.970
y

02:18:35.410 --> 02:18:36.810
y

02:18:36.810 --> 02:18:39.530
y

02:18:39.530 --> 02:18:42.210
y

02:18:50.010 --> 02:18:51.410
y

02:18:51.410 --> 02:18:51.550
y

02:18:51.550 --> 02:18:51.570
y

02:19:01.190 --> 02:19:02.590
y

02:19:02.590 --> 02:19:02.610
y

02:19:07.130 --> 02:19:08.530
y

02:19:08.530 --> 02:19:10.270
y

02:19:10.270 --> 02:19:11.730
y

02:19:11.730 --> 02:19:12.570
y

02:19:14.410 --> 02:19:15.370
y

02:19:19.690 --> 02:19:21.090
y

02:19:24.370 --> 02:19:25.770
y

02:19:25.770 --> 02:19:26.150
y

02:19:37.930 --> 02:19:39.330
y

02:19:39.330 --> 02:19:40.470
y

02:19:40.470 --> 02:19:40.570
y

02:19:49.190 --> 02:19:50.590
y

02:19:50.590 --> 02:19:50.610
y

02:20:00.230 --> 02:20:01.630
y

02:20:03.950 --> 02:20:05.350
y

02:20:05.350 --> 02:20:07.530
y

02:20:07.530 --> 02:20:10.070
y

02:20:10.070 --> 02:20:10.970
y

02:20:18.710 --> 02:20:20.110
y

02:20:20.110 --> 02:20:20.130
y

02:20:20.130 --> 02:20:22.830
y

02:20:22.830 --> 02:20:24.390
y

02:20:35.790 --> 02:20:37.190
y

02:20:37.190 --> 02:20:38.830
y

02:20:38.830 --> 02:20:40.290
y

02:20:40.290 --> 02:20:41.130
y

02:20:48.250 --> 02:20:49.650
y

02:20:49.650 --> 02:20:50.110
y

02:20:53.390 --> 02:20:54.790
y

02:21:05.630 --> 02:21:07.030
y

02:21:07.030 --> 02:21:09.510
y

02:21:18.070 --> 02:21:19.470
y

02:21:19.470 --> 02:21:19.610
y

02:21:19.610 --> 02:21:19.630
y

02:21:24.410 --> 02:21:25.810
y

02:21:25.810 --> 02:21:27.250
y

02:21:35.150 --> 02:21:36.550
y

02:21:36.550 --> 02:21:39.190
y

02:21:47.690 --> 02:21:49.090
y

02:21:49.090 --> 02:21:49.110
y

02:21:49.110 --> 02:21:49.130
y

02:21:49.130 --> 02:21:49.150
y

02:21:52.430 --> 02:21:53.830
y

02:21:53.830 --> 02:21:54.790
y

02:22:04.470 --> 02:22:05.870
y

02:22:05.870 --> 02:22:08.550
y

02:22:17.130 --> 02:22:18.530
y

02:22:18.530 --> 02:22:19.130
y

02:22:22.410 --> 02:22:23.810
y

02:22:23.810 --> 02:22:23.890
y

02:22:23.890 --> 02:22:23.930
y

02:22:34.750 --> 02:22:36.150
y

02:22:36.150 --> 02:22:38.010
y

02:22:38.010 --> 02:22:38.790
y

02:22:41.550 --> 02:22:42.950
y

02:22:47.250 --> 02:22:48.650
y

02:22:52.010 --> 02:22:53.410
y

02:23:03.930 --> 02:23:05.330
y

02:23:05.330 --> 02:23:08.030
y

02:23:16.790 --> 02:23:18.190
y

02:23:18.190 --> 02:23:18.210
y

02:23:27.730 --> 02:23:29.130
y

02:23:29.130 --> 02:23:29.150
y

02:23:30.770 --> 02:23:32.170
y

02:23:32.170 --> 02:23:34.910
y

02:23:34.910 --> 02:23:36.910
y

02:23:36.910 --> 02:23:37.870
y

02:23:46.310 --> 02:23:47.710
y

02:23:47.710 --> 02:23:47.730
y

02:23:57.350 --> 02:23:58.750
y

02:23:58.750 --> 02:23:58.830
y

02:24:00.290 --> 02:24:01.690
y

02:24:03.390 --> 02:24:04.790
y

02:24:15.650 --> 02:24:17.050
y

02:24:17.050 --> 02:24:17.710
y

02:24:20.490 --> 02:24:20.710
y

02:24:21.890 --> 02:24:21.970
y

02:24:21.970 --> 02:24:23.350
y

02:24:32.270 --> 02:24:33.670
y

02:24:35.770 --> 02:24:37.170
y

02:24:45.690 --> 02:24:47.090
y

02:24:47.090 --> 02:24:47.210
y

02:24:47.210 --> 02:24:47.230
y

02:24:50.010 --> 02:24:50.230
y

02:24:51.410 --> 02:24:51.490
y

02:24:51.490 --> 02:24:51.510
y

02:25:02.490 --> 02:25:03.890
y

02:25:03.890 --> 02:25:06.230
y

02:25:06.230 --> 02:25:08.310
y

02:25:09.730 --> 02:25:11.130
y

02:25:13.670 --> 02:25:14.130
y

02:25:15.070 --> 02:25:15.330
y

02:25:15.330 --> 02:25:16.790
y

02:25:29.890 --> 02:25:31.290
y

02:25:31.290 --> 02:25:33.210
y

02:25:39.250 --> 02:25:40.650
y

02:25:50.250 --> 02:25:51.650
y

02:25:55.570 --> 02:25:56.970
y

02:25:56.970 --> 02:25:59.690
y

02:25:59.690 --> 02:26:00.130
y

02:26:02.150 --> 02:26:03.550
y

02:26:08.770 --> 02:26:10.170
y

02:26:14.210 --> 02:26:15.610
y

02:26:15.610 --> 02:26:15.770
y

02:26:15.770 --> 02:26:15.790
y

02:26:25.730 --> 02:26:27.130
y

02:26:27.130 --> 02:26:29.570
y

02:26:38.290 --> 02:26:39.690
y

02:26:39.690 --> 02:26:40.150
y

02:26:50.150 --> 02:26:51.550
y

02:26:53.610 --> 02:26:55.010
y

02:26:55.010 --> 02:26:57.430
y

02:26:57.430 --> 02:26:59.550
y

02:27:08.230 --> 02:27:09.630
y

02:27:09.630 --> 02:27:10.130
y

02:27:13.410 --> 02:27:14.810
y

02:27:26.970 --> 02:27:28.370
y

02:27:28.370 --> 02:27:29.530
y

02:27:38.110 --> 02:27:39.510
y

02:27:39.510 --> 02:27:39.650
y

02:27:42.430 --> 02:27:42.650
y

02:27:43.830 --> 02:27:44.710
y

02:27:57.230 --> 02:27:58.630
y

02:27:58.630 --> 02:27:59.170
y

02:28:07.770 --> 02:28:09.170
y

02:28:09.170 --> 02:28:11.870
y

02:28:11.870 --> 02:28:13.430
y

02:28:26.470 --> 02:28:27.870
y

02:28:27.870 --> 02:28:28.150
y

02:28:37.150 --> 02:28:38.550
y

02:28:38.550 --> 02:28:38.670
y

02:28:38.670 --> 02:28:38.690
y

02:28:44.430 --> 02:28:45.830
y

02:28:54.170 --> 02:28:55.570
y

02:28:55.570 --> 02:28:57.850
y

02:28:57.850 --> 02:28:58.270
y

02:28:58.270 --> 02:28:59.110
y

02:28:59.690 --> 02:29:01.710
y

02:29:06.810 --> 02:29:08.210
y

02:29:11.490 --> 02:29:12.890
y

02:29:12.890 --> 02:29:13.850
y

02:29:25.790 --> 02:29:27.190
y

02:29:27.190 --> 02:29:27.730
y

02:29:27.730 --> 02:29:28.390
y

02:29:36.330 --> 02:29:37.730
y

02:29:41.010 --> 02:29:42.410
y

02:29:53.130 --> 02:29:54.530
y

02:29:54.530 --> 02:29:57.130
y

02:30:05.710 --> 02:30:07.110
y

02:30:07.110 --> 02:30:07.230
y

02:30:07.230 --> 02:30:07.250
y

02:30:10.530 --> 02:30:11.930
y

02:30:11.930 --> 02:30:12.010
y

02:30:23.330 --> 02:30:24.730
y

02:30:24.730 --> 02:30:26.910
y

02:30:35.230 --> 02:30:36.630
y

02:30:36.630 --> 02:30:36.730
y

02:30:36.730 --> 02:30:36.770
y

02:30:41.130 --> 02:30:42.530
y

02:30:42.530 --> 02:30:42.550
y

02:30:52.250 --> 02:30:53.650
y

02:30:53.650 --> 02:30:56.230
y

02:31:04.870 --> 02:31:06.270
y

02:31:06.270 --> 02:31:06.290
y

02:31:10.830 --> 02:31:12.230
y

02:31:12.230 --> 02:31:12.290
y

02:31:19.790 --> 02:31:21.190
y

02:31:21.190 --> 02:31:23.770
y

02:31:25.230 --> 02:31:26.630
y

02:31:34.270 --> 02:31:35.670
y

02:31:35.670 --> 02:31:35.810
y

02:31:35.810 --> 02:31:36.270
y

02:31:36.270 --> 02:31:38.970
y

02:31:38.970 --> 02:31:40.530
y

02:31:40.530 --> 02:31:41.050
y

02:31:51.550 --> 02:31:52.950
y

02:31:52.950 --> 02:31:55.730
y

02:32:04.250 --> 02:32:05.650
y

02:32:05.650 --> 02:32:05.770
y

02:32:05.770 --> 02:32:05.790
y

02:32:09.070 --> 02:32:10.470
y

02:32:10.470 --> 02:32:10.550
y

02:32:21.070 --> 02:32:22.470
y

02:32:23.910 --> 02:32:25.310
y

02:32:33.910 --> 02:32:35.310
y

02:32:35.310 --> 02:32:35.770
y

02:32:40.450 --> 02:32:41.850
y

02:32:53.070 --> 02:32:54.470
y

02:32:54.470 --> 02:32:55.150
y

02:33:03.750 --> 02:33:05.150
y

02:33:05.150 --> 02:33:05.270
y

02:33:05.270 --> 02:33:05.290
y

02:33:08.570 --> 02:33:09.970
y

02:33:09.970 --> 02:33:10.030
y

02:33:20.550 --> 02:33:21.950
y

02:33:21.950 --> 02:33:24.690
y

02:33:24.690 --> 02:33:24.750
y

02:33:33.390 --> 02:33:34.790
y

02:33:34.790 --> 02:33:34.810
y

02:33:38.090 --> 02:33:39.490
y

02:33:52.310 --> 02:33:53.710
y

02:33:53.710 --> 02:33:54.270
y

02:34:02.790 --> 02:34:04.190
y

02:34:04.190 --> 02:34:04.310
y

02:34:04.310 --> 02:34:04.330
y

02:34:04.330 --> 02:34:07.030
y

02:34:10.970 --> 02:34:12.370
y

02:34:16.890 --> 02:34:18.290
y

02:34:18.290 --> 02:34:20.650
y

02:34:22.530 --> 02:34:23.930
y

02:34:32.510 --> 02:34:33.910
y

02:34:33.910 --> 02:34:34.310
y

02:34:45.110 --> 02:34:46.510
y

02:34:46.510 --> 02:34:46.530
y

02:34:52.570 --> 02:34:53.970
y

02:34:53.970 --> 02:34:56.230
y

02:34:56.230 --> 02:34:56.410
y

02:34:56.410 --> 02:34:57.270
y

02:35:01.970 --> 02:35:03.370
y

02:35:15.230 --> 02:35:16.630
y

02:35:16.630 --> 02:35:16.670
y

02:35:25.390 --> 02:35:26.790
y

02:35:29.570 --> 02:35:29.790
y

02:35:30.970 --> 02:35:30.990
y

02:35:30.990 --> 02:35:31.070
y

02:35:42.070 --> 02:35:43.470
y

02:35:44.910 --> 02:35:46.310
y

02:35:55.370 --> 02:35:56.770
y

02:36:00.050 --> 02:36:01.450
y

02:36:01.450 --> 02:36:02.390
y

02:36:12.050 --> 02:36:13.450
y

02:36:13.450 --> 02:36:15.750
y

02:36:24.750 --> 02:36:26.150
y

02:36:26.150 --> 02:36:26.290
y

02:36:29.050 --> 02:36:29.290
y

02:36:30.450 --> 02:36:30.470
y

02:36:30.470 --> 02:36:30.550
y

02:36:42.010 --> 02:36:43.410
y

02:36:43.410 --> 02:36:45.270
y

02:36:54.270 --> 02:36:55.670
y

02:36:55.670 --> 02:36:55.810
y

02:36:59.450 --> 02:37:00.850
y

02:37:00.850 --> 02:37:01.810
y

02:37:09.270 --> 02:37:10.670
y

02:37:10.670 --> 02:37:12.930
y

02:37:24.390 --> 02:37:25.790
y

02:37:29.530 --> 02:37:30.930
y

02:37:30.930 --> 02:37:31.790
y

02:37:35.370 --> 02:37:36.770
y

02:37:36.770 --> 02:37:37.790
y

02:37:39.930 --> 02:37:40.790
y

02:37:41.330 --> 02:37:41.750
y

02:37:41.750 --> 02:37:41.770
y

02:37:53.810 --> 02:37:55.210
y

02:37:55.210 --> 02:37:55.310
y

02:37:58.070 --> 02:37:58.310
y

02:37:59.470 --> 02:37:59.510
y

02:37:59.510 --> 02:37:59.590
y

02:38:10.590 --> 02:38:11.990
y

02:38:11.990 --> 02:38:14.770
y

02:38:23.290 --> 02:38:24.690
y

02:38:24.690 --> 02:38:24.830
y

02:38:35.310 --> 02:38:36.710
y

02:38:39.450 --> 02:38:40.850
y

02:38:40.850 --> 02:38:43.550
y

02:38:43.550 --> 02:38:45.290
y

02:38:47.030 --> 02:38:48.430
y

02:38:52.810 --> 02:38:54.210
y

02:38:54.210 --> 02:38:54.350
y

02:38:59.090 --> 02:39:00.490
y

02:39:00.490 --> 02:39:01.590
y

02:39:10.350 --> 02:39:11.750
y

02:39:11.750 --> 02:39:13.870
y

02:39:13.870 --> 02:39:14.690
y

02:39:14.690 --> 02:39:14.710
y

02:39:22.470 --> 02:39:23.870
y

02:39:27.130 --> 02:39:28.050
y

02:39:28.050 --> 02:39:28.070
y

02:39:28.070 --> 02:39:28.130
y

02:39:39.830 --> 02:39:40.750
y

02:39:42.090 --> 02:39:43.010
y

02:39:52.330 --> 02:39:53.250
y

02:39:53.250 --> 02:39:53.370
y

02:39:53.370 --> 02:39:53.390
y

02:39:53.390 --> 02:39:53.850
y

02:40:06.710 --> 02:40:08.110
y

02:40:09.850 --> 02:40:11.250
y

02:40:11.250 --> 02:40:13.250
y

02:40:21.810 --> 02:40:23.210
y

02:40:23.210 --> 02:40:23.370
y

02:40:23.370 --> 02:40:24.270
y

02:40:24.270 --> 02:40:25.330
y

02:40:25.330 --> 02:40:26.150
y

02:40:26.150 --> 02:40:28.130
y

02:40:28.130 --> 02:40:30.450
y

02:40:30.450 --> 02:40:30.470
y

02:40:30.470 --> 02:40:30.590
y

02:40:30.590 --> 02:40:30.850
y

02:40:34.910 --> 02:40:34.950
y

02:40:34.950 --> 02:40:34.970
y

02:40:34.970 --> 02:40:34.990
y

02:40:34.990 --> 02:40:35.010
y

02:40:35.010 --> 02:40:35.030
y

02:40:35.030 --> 02:40:35.050
y

02:40:35.050 --> 02:40:35.070
y

02:40:35.070 --> 02:40:35.090
y

02:40:35.090 --> 02:40:35.110
y

02:40:36.990 --> 02:40:38.390
y

02:40:38.390 --> 02:40:38.550
y

02:40:38.550 --> 02:40:38.790
y

02:40:38.790 --> 02:40:41.370
y

02:40:41.370 --> 02:40:42.790
y

02:40:42.790 --> 02:40:42.810
y

02:40:42.810 --> 02:40:43.250
y

02:40:43.250 --> 02:40:43.370
y

02:40:43.370 --> 02:40:43.690
y

02:40:43.690 --> 02:40:44.010
y

02:40:44.010 --> 02:40:44.250
y

02:40:46.470 --> 02:40:47.110
y

02:40:47.110 --> 02:40:47.370
y

02:40:47.370 --> 02:40:47.790
y

02:41:11.590 --> 02:41:12.230
y

02:41:12.230 --> 02:41:13.410
y

02:41:13.410 --> 02:41:13.650
y

02:41:13.650 --> 02:41:13.850
y

02:41:13.850 --> 02:41:13.890
y

02:41:17.170 --> 02:41:18.570
y

02:41:37.050 --> 02:41:38.450
y

02:41:40.810 --> 02:41:42.210
y

02:41:42.210 --> 02:41:43.530
y

02:41:43.530 --> 02:41:44.910
y

02:41:44.910 --> 02:41:44.970
y

02:41:47.750 --> 02:41:49.150
y

02:41:49.150 --> 02:41:49.230
y

02:41:54.090 --> 02:41:55.490
y

02:42:10.650 --> 02:42:12.050
y

02:42:16.890 --> 02:42:18.290
y

02:42:21.930 --> 02:42:23.330
y

02:42:25.210 --> 02:42:26.610
y

02:42:26.610 --> 02:42:28.470
y

02:42:39.130 --> 02:42:40.530
y

02:42:40.530 --> 02:42:42.030
y

02:42:43.470 --> 02:42:44.030
y

02:42:44.030 --> 02:42:44.310
y

02:42:44.310 --> 02:42:44.330
y

02:43:01.150 --> 02:43:01.710
y

02:43:10.910 --> 02:43:11.470
y

02:43:11.470 --> 02:43:11.510
y

02:43:11.510 --> 02:43:11.570
y

02:43:11.570 --> 02:43:13.070
y

02:43:13.070 --> 02:43:13.370
y

02:43:13.370 --> 02:43:14.210
y

02:43:30.770 --> 02:43:32.170
y

02:43:32.170 --> 02:43:34.510
y

02:43:34.510 --> 02:43:34.530
y

02:43:40.150 --> 02:43:41.550
y

02:43:41.550 --> 02:43:42.170
y

02:44:04.030 --> 02:44:05.430
y

02:44:10.130 --> 02:44:11.530
y

02:44:37.410 --> 02:44:37.450
y

02:44:37.450 --> 02:44:37.470
y

02:44:37.470 --> 02:44:37.490
y

02:44:37.490 --> 02:44:37.510
y

02:44:37.510 --> 02:44:37.530
y

02:44:37.530 --> 02:44:37.550
y

02:44:37.550 --> 02:44:37.570
y

02:44:37.930 --> 02:44:37.970
y

02:44:41.470 --> 02:44:41.510
y

02:44:52.090 --> 02:44:53.490
y

02:45:00.390 --> 02:45:01.790
y

02:45:01.790 --> 02:45:01.810
y

02:45:01.810 --> 02:45:02.050
y

02:45:05.310 --> 02:45:06.710
y

02:45:06.710 --> 02:45:07.790
y

02:45:07.790 --> 02:45:10.530
y

02:45:10.530 --> 02:45:10.550
y

02:45:31.050 --> 02:45:31.330
y

02:45:31.330 --> 02:45:31.350
y

02:45:31.350 --> 02:45:31.450
y

02:45:31.450 --> 02:45:31.590
y

02:45:31.590 --> 02:45:31.910
y

02:45:31.910 --> 02:45:31.930
y

02:45:31.930 --> 02:45:32.230
y

02:45:35.990 --> 02:45:36.270
y

02:45:36.270 --> 02:45:36.290
y

02:46:02.110 --> 02:46:02.230
y

02:46:02.230 --> 02:46:02.250
y

02:46:02.630 --> 02:46:02.750
y

02:46:02.750 --> 02:46:02.810
y

02:46:02.810 --> 02:46:02.990
y

02:46:02.990 --> 02:46:03.010
y

02:46:03.010 --> 02:46:03.030
y

02:46:03.030 --> 02:46:03.050
y

02:46:04.270 --> 02:46:04.390
y

02:46:10.150 --> 02:46:10.190
y

02:46:27.550 --> 02:46:27.590
y

02:46:27.590 --> 02:46:27.610
y

02:46:27.610 --> 02:46:27.630
y

02:46:27.630 --> 02:46:27.650
y

02:46:27.650 --> 02:46:27.670
y

02:46:27.670 --> 02:46:27.690
y

02:46:27.890 --> 02:46:27.930
y

02:46:30.550 --> 02:46:30.590
y

02:46:38.650 --> 02:46:39.170
y

02:46:55.850 --> 02:46:56.370
y

02:46:56.370 --> 02:46:56.390
y

02:46:56.390 --> 02:46:56.650
y

02:46:57.930 --> 02:46:58.450
y

02:46:58.450 --> 02:46:58.590
y

02:46:59.610 --> 02:47:00.130
y

02:47:00.130 --> 02:47:00.150
y

02:47:00.150 --> 02:47:00.170
y

02:47:04.110 --> 02:47:05.510
y

02:47:07.130 --> 02:47:08.530
y

02:47:08.530 --> 02:47:09.170
y

02:47:10.010 --> 02:47:10.290
y

02:47:10.290 --> 02:47:11.650
y

02:47:22.330 --> 02:47:23.730
y

02:47:28.710 --> 02:47:30.110
y

02:47:30.110 --> 02:47:30.150
y

02:47:30.150 --> 02:47:32.010
y

02:47:32.010 --> 02:47:32.070
y

02:47:58.050 --> 02:47:59.450
y

02:47:59.450 --> 02:47:59.550
y

02:47:59.550 --> 02:48:00.290
y

02:48:20.190 --> 02:48:21.590
y

02:48:21.590 --> 02:48:22.150
y

02:48:22.150 --> 02:48:24.330
y

02:48:24.330 --> 02:48:24.570
y

02:48:28.010 --> 02:48:29.410
y

02:48:29.410 --> 02:48:29.510
y

02:48:39.970 --> 02:48:40.650
y

02:48:46.970 --> 02:48:47.650
y

02:48:47.650 --> 02:48:47.670
y

02:48:58.070 --> 02:48:58.750
y

02:48:58.750 --> 02:48:59.090
y

02:48:59.090 --> 02:48:59.110
y

02:48:59.110 --> 02:48:59.170
y

02:48:59.170 --> 02:48:59.970
y

02:48:59.970 --> 02:49:00.230
y

02:49:03.310 --> 02:49:04.710
y

02:49:25.650 --> 02:49:27.050
y

02:49:27.050 --> 02:49:29.150
y

02:49:32.310 --> 02:49:33.710
y

02:49:33.710 --> 02:49:34.410
y

02:49:40.950 --> 02:49:41.150
y

02:49:42.350 --> 02:49:42.430
y

02:49:51.850 --> 02:49:53.250
y

02:49:57.130 --> 02:49:58.530
y

02:50:01.590 --> 02:50:02.990
y

02:50:15.470 --> 02:50:16.870
y

02:50:16.870 --> 02:50:16.890
y

02:50:16.890 --> 02:50:16.910
y

02:50:16.910 --> 02:50:17.150
y

02:50:21.890 --> 02:50:23.290
y

02:50:27.110 --> 02:50:28.510
y

02:50:30.730 --> 02:50:31.590
y

02:50:31.590 --> 02:50:31.630
y

02:50:48.610 --> 02:50:49.470
y

02:50:49.470 --> 02:50:50.290
y

02:50:57.570 --> 02:50:58.430
y

02:50:58.430 --> 02:50:58.450
y

02:50:58.450 --> 02:50:58.470
y

02:50:58.470 --> 02:50:58.490
y

02:50:58.490 --> 02:51:00.150
y

02:51:00.150 --> 02:51:01.150
y

02:51:01.150 --> 02:51:01.170
y

02:51:13.690 --> 02:51:15.090
y

02:51:26.030 --> 02:51:27.430
y

02:51:27.430 --> 02:51:28.470
y

02:51:28.470 --> 02:51:28.790
y

02:51:28.790 --> 02:51:28.890
y

02:51:28.890 --> 02:51:29.150
y

02:51:29.150 --> 02:51:29.550
y

02:51:29.550 --> 02:51:30.250
y

02:51:57.730 --> 02:51:58.370
y

02:51:58.370 --> 02:51:58.450
y

02:52:02.090 --> 02:52:03.490
y

02:52:15.370 --> 02:52:16.770
y

02:52:16.770 --> 02:52:16.790
y

02:52:20.310 --> 02:52:21.710
y

02:52:27.030 --> 02:52:28.430
y

02:52:28.430 --> 02:52:30.270
y

02:52:31.430 --> 02:52:32.610
y

02:52:32.610 --> 02:52:33.010
y

02:52:33.010 --> 02:52:33.910
y

02:52:35.470 --> 02:52:36.870
y

02:52:47.890 --> 02:52:49.290
y

02:52:49.290 --> 02:52:49.550
y

02:52:53.590 --> 02:52:54.990
y

02:52:54.990 --> 02:52:55.010
y

02:52:55.010 --> 02:52:56.770
y

02:52:58.010 --> 02:52:59.070
y

02:52:59.070 --> 02:52:59.110
y

02:53:12.130 --> 02:53:13.530
y

02:53:23.590 --> 02:53:24.990
y

02:53:24.990 --> 02:53:26.870
y

02:53:26.870 --> 02:53:27.230
y

02:53:27.230 --> 02:53:28.510
y

02:53:41.970 --> 02:53:43.370
y

02:53:43.370 --> 02:53:44.370
y

02:53:50.530 --> 02:53:51.930
y

02:53:51.930 --> 02:53:51.950
y

02:53:51.950 --> 02:53:52.210
y

02:53:52.210 --> 02:53:54.150
y

02:53:54.150 --> 02:53:55.670
y

02:54:04.450 --> 02:54:05.850
y

02:54:05.850 --> 02:54:05.870
y

02:54:20.790 --> 02:54:22.190
y

02:54:23.450 --> 02:54:24.590
y

02:54:24.590 --> 02:54:24.710
y

02:54:24.710 --> 02:54:24.750
y

02:54:24.750 --> 02:54:24.870
y

02:54:26.390 --> 02:54:27.530
y

02:54:27.530 --> 02:54:27.550
y

02:54:27.550 --> 02:54:28.570
y

02:54:50.590 --> 02:54:51.730
y

02:54:51.730 --> 02:54:52.770
y

02:54:52.770 --> 02:54:53.410
y

02:54:53.410 --> 02:54:53.650
y

02:54:53.650 --> 02:54:54.210
y

02:55:03.050 --> 02:55:04.330
y

02:55:04.330 --> 02:55:04.350
y

02:55:16.890 --> 02:55:18.170
y

02:55:18.170 --> 02:55:19.770
y

02:55:21.170 --> 02:55:21.930
y

02:55:21.930 --> 02:55:22.710
y

02:55:22.710 --> 02:55:23.130
y

02:55:23.130 --> 02:55:23.650
y

02:55:34.190 --> 02:55:35.590
y

02:55:36.170 --> 02:55:37.130
y

02:55:37.130 --> 02:55:37.150
y

02:55:37.150 --> 02:55:37.170
y

02:55:39.430 --> 02:55:40.270
y

02:56:01.290 --> 02:56:02.130
y

02:56:02.130 --> 02:56:02.150
y

02:56:02.150 --> 02:56:02.170
y

02:56:02.170 --> 02:56:02.190
y

02:56:03.690 --> 02:56:04.530
y

02:56:04.530 --> 02:56:04.950
y

02:56:06.290 --> 02:56:07.130
y

02:56:07.130 --> 02:56:07.150
y

02:56:07.150 --> 02:56:09.730
y

02:56:09.730 --> 02:56:11.050
y

02:56:11.050 --> 02:56:11.070
y

02:56:27.730 --> 02:56:29.130
y

02:56:35.730 --> 02:56:37.130
y

02:56:41.250 --> 02:56:42.650
y

02:56:56.730 --> 02:56:58.130
y

02:56:58.130 --> 02:56:58.990
y

02:56:58.990 --> 02:56:59.010
y

02:56:59.010 --> 02:56:59.650
y

02:56:59.650 --> 02:56:59.710
y

02:56:59.710 --> 02:57:01.090
y

02:57:01.090 --> 02:57:01.110
y

02:57:01.110 --> 02:57:03.630
y

02:57:06.870 --> 02:57:08.270
y

02:57:08.270 --> 02:57:08.330
y

02:57:10.910 --> 02:57:12.310
y

02:57:32.210 --> 02:57:33.610
y

02:57:33.610 --> 02:57:34.030
y

02:57:34.030 --> 02:57:34.450
y

02:57:34.450 --> 02:57:35.130
y

02:57:57.770 --> 02:57:58.610
y

02:58:02.710 --> 02:58:03.550
y

02:58:03.550 --> 02:58:03.570
y

02:58:03.570 --> 02:58:03.590
y

02:58:03.590 --> 02:58:04.930
y

02:58:04.930 --> 02:58:04.950
y

02:58:04.950 --> 02:58:05.810
y

02:58:05.810 --> 02:58:06.390
y

02:58:06.390 --> 02:58:06.510
y

02:58:31.950 --> 02:58:33.110
y

02:58:33.110 --> 02:58:33.290
y

02:58:33.290 --> 02:58:33.870
y

02:58:33.870 --> 02:58:34.050
y

02:58:34.050 --> 02:58:34.570
y

02:58:37.970 --> 02:58:39.010
y

02:59:01.630 --> 02:59:02.670
y

02:59:02.670 --> 02:59:02.810
y

02:59:02.810 --> 02:59:02.910
y

02:59:02.910 --> 02:59:04.910
y

02:59:04.910 --> 02:59:05.470
y

02:59:31.690 --> 02:59:32.810
y

02:59:32.810 --> 02:59:32.830
y

02:59:32.830 --> 02:59:32.850
y

02:59:32.850 --> 02:59:34.470
y

02:59:57.010 --> 02:59:58.410
y

03:00:01.390 --> 03:00:02.790
y

03:00:02.790 --> 03:00:02.830
y

03:00:03.630 --> 03:00:03.670
y

03:00:03.670 --> 03:00:03.690
y

03:00:03.690 --> 03:00:03.710
y

03:00:05.670 --> 03:00:05.710
y

03:00:19.970 --> 03:00:20.010
y

03:00:32.710 --> 03:00:32.750
y

03:00:32.750 --> 03:00:32.770
y

03:00:32.770 --> 03:00:32.790
y

03:00:32.790 --> 03:00:32.810
y

03:00:32.810 --> 03:00:34.510
y

03:00:54.630 --> 03:00:56.030
y

03:01:00.610 --> 03:01:02.010
y

03:01:02.010 --> 03:01:02.170
y

03:01:02.170 --> 03:01:02.390
y

03:01:02.390 --> 03:01:02.410
y

03:01:08.970 --> 03:01:10.370
y

03:01:10.370 --> 03:01:13.030
y

03:01:16.430 --> 03:01:17.830
y

03:01:17.830 --> 03:01:19.450
y

03:01:29.650 --> 03:01:31.050
y

03:01:31.050 --> 03:01:32.350
y

03:01:32.350 --> 03:01:32.370
y

03:01:32.370 --> 03:01:32.390
y

03:01:34.110 --> 03:01:34.150
y

03:01:55.410 --> 03:01:55.450
y

03:02:02.250 --> 03:02:02.290
y

03:02:02.290 --> 03:02:02.310
y

03:02:02.310 --> 03:02:02.330
y

03:02:02.330 --> 03:02:02.350
y

03:02:02.350 --> 03:02:02.370
y

03:02:02.370 --> 03:02:03.110
y

03:02:09.370 --> 03:02:10.770
y

03:02:22.750 --> 03:02:24.150
y

03:02:30.950 --> 03:02:32.350
y

03:02:34.970 --> 03:02:35.350
y

03:02:53.290 --> 03:02:54.690
y

03:02:54.690 --> 03:02:55.130
y

03:02:55.130 --> 03:02:55.490
y

03:02:55.490 --> 03:02:55.710
y

03:02:58.510 --> 03:02:59.910
y

03:02:59.910 --> 03:03:01.650
y

03:03:01.650 --> 03:03:01.730
y

03:03:12.270 --> 03:03:12.710
y

03:03:12.710 --> 03:03:12.850
y

03:03:13.510 --> 03:03:13.950
y

03:03:13.950 --> 03:03:14.170
y

03:03:14.170 --> 03:03:14.190
y

03:03:30.850 --> 03:03:31.290
y

03:03:31.290 --> 03:03:31.370
y

03:03:31.370 --> 03:03:31.610
y

03:03:31.610 --> 03:03:31.990
y

03:03:31.990 --> 03:03:32.230
y

03:03:32.230 --> 03:03:32.290
y

03:03:35.470 --> 03:03:35.950
y

03:04:00.210 --> 03:04:00.690
y

03:04:00.690 --> 03:04:00.710
y

03:04:00.710 --> 03:04:00.750
y

03:04:04.650 --> 03:04:06.050
y

03:04:06.050 --> 03:04:06.750
y

03:04:09.990 --> 03:04:11.390
y

03:04:11.390 --> 03:04:12.110
y

03:04:22.770 --> 03:04:24.170
y

03:04:29.330 --> 03:04:30.730
y

03:04:30.730 --> 03:04:32.550
y

03:04:44.410 --> 03:04:45.810
y

03:04:55.890 --> 03:04:57.290
y

03:04:59.230 --> 03:05:00.630
y

03:05:00.630 --> 03:05:00.650
y

03:05:00.650 --> 03:05:00.670
y

03:05:00.670 --> 03:05:00.690
y

03:05:00.690 --> 03:05:00.710
y

03:05:00.710 --> 03:05:03.150
y

03:05:03.150 --> 03:05:03.510
y

03:05:03.510 --> 03:05:04.550
y

03:05:17.310 --> 03:05:18.710
y

03:05:28.970 --> 03:05:30.370
y

03:05:30.370 --> 03:05:30.390
y

03:05:30.390 --> 03:05:31.510
y

03:05:31.510 --> 03:05:32.070
y

03:05:32.070 --> 03:05:32.090
y

03:05:35.870 --> 03:05:36.990
y

03:05:56.830 --> 03:05:57.950
y

03:05:57.950 --> 03:05:58.970
y

03:05:58.970 --> 03:05:59.090
y

03:05:59.090 --> 03:05:59.110
y

03:05:59.110 --> 03:05:59.130
y

03:05:59.130 --> 03:06:00.050
y

03:06:02.150 --> 03:06:02.810
y

03:06:02.810 --> 03:06:02.910
y

03:06:02.910 --> 03:06:03.450
y

03:06:03.450 --> 03:06:03.570
y

03:06:03.570 --> 03:06:03.590
y

03:06:03.590 --> 03:06:03.610
y

03:06:03.610 --> 03:06:03.650
y

03:06:03.650 --> 03:06:04.730
y

03:06:06.690 --> 03:06:07.610
y

03:06:07.610 --> 03:06:08.070
y

03:06:32.150 --> 03:06:33.070
y

03:06:33.070 --> 03:06:33.530
y

03:06:35.710 --> 03:06:36.710
y

03:06:57.450 --> 03:06:58.450
y

03:07:00.790 --> 03:07:01.790
y

03:07:01.790 --> 03:07:02.250
y

03:07:02.250 --> 03:07:02.310
y

03:07:02.310 --> 03:07:02.330
y

03:07:02.330 --> 03:07:02.890
y

03:07:02.890 --> 03:07:03.390
y

03:07:03.390 --> 03:07:03.510
y

03:07:03.510 --> 03:07:05.670
y

03:07:05.670 --> 03:07:06.390
y

03:07:17.230 --> 03:07:18.630
y

03:07:20.670 --> 03:07:22.070
y

03:07:31.710 --> 03:07:33.110
y

03:07:33.110 --> 03:07:33.410
y

03:07:33.410 --> 03:07:33.490
y

03:07:36.030 --> 03:07:36.490
y

03:07:37.430 --> 03:07:37.450
y

03:07:37.450 --> 03:07:38.590
y

03:07:51.290 --> 03:07:52.690
y

03:08:02.070 --> 03:08:03.470
y

03:08:03.470 --> 03:08:04.470
y

03:08:04.470 --> 03:08:04.670
y

03:08:04.670 --> 03:08:05.730
y

03:08:26.270 --> 03:08:27.670
y

03:08:31.970 --> 03:08:33.370
y

03:08:33.370 --> 03:08:33.450
y

03:08:33.450 --> 03:08:34.070
y

03:08:34.070 --> 03:08:34.310
y

03:08:34.310 --> 03:08:35.350
y

03:08:35.350 --> 03:08:35.390
y

03:08:47.070 --> 03:08:47.930
y

03:08:47.930 --> 03:08:47.950
y

03:09:01.970 --> 03:09:02.830
y

03:09:02.830 --> 03:09:02.930
y

03:09:02.930 --> 03:09:03.590
y

03:09:03.590 --> 03:09:03.670
y

03:09:03.670 --> 03:09:03.850
y

03:09:03.850 --> 03:09:03.910
y

03:09:03.910 --> 03:09:04.330
y

03:09:04.330 --> 03:09:04.510
y

03:09:06.550 --> 03:09:07.390
y

03:09:14.290 --> 03:09:15.130
y

03:09:31.930 --> 03:09:32.770
y

03:09:32.770 --> 03:09:34.030
y

03:09:47.590 --> 03:09:48.990
y

03:09:51.850 --> 03:09:53.250
y

03:09:53.250 --> 03:09:55.890
y

03:09:55.890 --> 03:09:58.490
y

03:09:58.490 --> 03:09:58.590
y

03:09:58.590 --> 03:09:58.610
y

03:10:00.750 --> 03:10:02.150
y

03:10:13.410 --> 03:10:14.810
y

03:10:14.810 --> 03:10:16.170
y

03:10:16.170 --> 03:10:17.290
y

03:10:18.870 --> 03:10:20.270
y

03:10:30.650 --> 03:10:32.050
y

03:10:32.050 --> 03:10:32.070
y

03:10:32.070 --> 03:10:32.090
y

03:10:32.090 --> 03:10:32.110
y

03:10:32.110 --> 03:10:32.130
y

03:10:32.130 --> 03:10:33.930
y

03:10:43.890 --> 03:10:45.290
y

03:10:47.290 --> 03:10:48.690
y

03:11:00.570 --> 03:11:01.970
y

03:11:01.970 --> 03:11:02.050
y

03:11:02.050 --> 03:11:02.070
y

03:11:02.070 --> 03:11:02.090
y

03:11:02.090 --> 03:11:02.110
y

03:11:02.110 --> 03:11:02.690
y

03:11:02.690 --> 03:11:02.950
y

03:11:02.950 --> 03:11:03.950
y

03:11:03.950 --> 03:11:04.230
y

03:11:06.070 --> 03:11:07.470
y

03:11:27.190 --> 03:11:28.590
y

03:11:30.690 --> 03:11:32.090
y

03:11:32.090 --> 03:11:33.290
y

03:11:33.290 --> 03:11:33.390
y

03:11:42.790 --> 03:11:44.190
y

03:11:56.290 --> 03:11:57.690
y

03:12:00.670 --> 03:12:02.070
y

03:12:02.070 --> 03:12:02.090
y

03:12:02.090 --> 03:12:03.090
y

03:12:21.050 --> 03:12:22.450
y

03:12:30.650 --> 03:12:32.050
y

03:12:32.050 --> 03:12:33.410
y

03:12:53.530 --> 03:12:54.930
y

03:13:00.630 --> 03:13:02.030
y

03:13:02.030 --> 03:13:02.270
y

03:13:02.270 --> 03:13:02.290
y

03:13:02.290 --> 03:13:02.930
y

03:13:02.930 --> 03:13:03.130
y

03:13:23.190 --> 03:13:24.070
y

03:13:31.130 --> 03:13:32.010
y

03:13:32.010 --> 03:13:33.770
y

03:13:33.770 --> 03:13:33.790
y

03:13:46.770 --> 03:13:48.170
y

03:13:51.530 --> 03:13:52.930
y

03:14:00.590 --> 03:14:01.990
y

03:14:01.990 --> 03:14:03.070
y

03:14:09.150 --> 03:14:10.550
y

03:14:10.550 --> 03:14:10.690
y

03:14:30.570 --> 03:14:31.970
y

03:15:00.850 --> 03:15:01.490
y

03:15:01.490 --> 03:15:01.810
y

03:15:01.810 --> 03:15:01.910
y

03:15:01.910 --> 03:15:02.390
y

03:15:02.390 --> 03:15:03.610
y

03:15:28.190 --> 03:15:29.590
y

03:15:29.590 --> 03:15:29.630
y

03:15:29.630 --> 03:15:31.310
y

03:15:31.310 --> 03:15:31.330
y

03:15:33.050 --> 03:15:34.450
y

03:15:34.450 --> 03:15:34.890
y

03:15:37.930 --> 03:15:39.330
y

03:15:51.570 --> 03:15:52.970
y

03:15:59.250 --> 03:16:00.650
y

03:16:00.650 --> 03:16:00.690
y

03:16:00.690 --> 03:16:00.710
y

03:16:00.710 --> 03:16:00.830
y

03:16:17.050 --> 03:16:18.450
y

03:16:18.450 --> 03:16:18.590
y

03:16:18.590 --> 03:16:20.110
y

03:16:22.090 --> 03:16:23.490
y

03:16:23.490 --> 03:16:23.690
y

03:16:28.810 --> 03:16:30.210
y

03:16:30.210 --> 03:16:30.450
y

03:16:33.010 --> 03:16:33.450
y

03:16:34.410 --> 03:16:35.710
y

03:16:37.970 --> 03:16:39.370
y

03:16:52.350 --> 03:16:53.750
y

03:16:59.030 --> 03:17:00.430
y

03:17:01.490 --> 03:17:01.530
y

03:17:25.510 --> 03:17:25.550
y

03:17:30.290 --> 03:17:30.330
y

03:17:30.330 --> 03:17:30.350
y

03:17:30.350 --> 03:17:30.370
y

03:17:30.370 --> 03:17:30.390
y

03:17:30.390 --> 03:17:30.410
y

03:17:30.410 --> 03:17:30.470
y

03:17:30.470 --> 03:17:31.470
y

03:17:31.470 --> 03:17:32.110
y

03:17:55.270 --> 03:17:56.670
y

03:17:56.670 --> 03:17:58.910
y

03:17:58.910 --> 03:18:00.390
y

03:18:00.390 --> 03:18:02.530
y

03:18:03.390 --> 03:18:03.450
y

03:18:12.790 --> 03:18:14.190
y

03:18:26.610 --> 03:18:28.010
y

03:18:28.010 --> 03:18:28.070
y

03:18:28.070 --> 03:18:28.090
y

03:18:30.510 --> 03:18:35.370
bien ahorita lo lo repasamos entonces al momento de hacer la práctica

03:18:35.370 --> 03:18:40.090
ahí que quede de todos modos tengo la si se fijan yo voy siguiendo lo que va en la presentación

03:18:41.530 --> 03:18:42.610
entonces este

03:18:43.830 --> 03:18:48.090
seguramente ahorita vamos a terminar la presentación nos va a llegar la hora de

03:18:48.910 --> 03:18:54.550
de comida y regresando que ya sería los últimos dos horas la práctica es

03:18:54.550 --> 03:19:00.130
volver a reconstruir todo esto en sus ambientes no pero si se fijan ya es pura

03:19:00.130 --> 03:19:03.910
configuración como lo hemos estado viendo o sea yo ya les voy a dar todo funcional

03:19:03.910 --> 03:19:08.130
ya van a tener el user service funcionando el product service funcionando el

03:19:08.130 --> 03:19:12.870
order service y ya lo único que hay que hacer es configurarlos este los demás

03:19:12.870 --> 03:19:18.270
este productos no entonces bueno eso es lo que vamos a estar revisando

03:19:18.930 --> 03:19:23.250
ahorita y pues bueno entonces hay que apurarnos para la parte de

03:19:23.250 --> 03:19:29.150
del siguiente punto que creo que ya es el último que es la el seguimiento de

03:19:29.150 --> 03:19:34.050
la de los errores no entonces con esta parte cerramos la

03:19:34.050 --> 03:19:40.330
autenticación la seguridad con con el entre el gateway y y nuestro y nuestro

03:19:40.330 --> 03:19:41.870
servidor y clock

03:19:42.950 --> 03:19:46.230
y bueno que esto nos va a estar proporcionando los tokens y la

03:19:46.230 --> 03:19:48.250
autenticación va seguridad

03:19:49.150 --> 03:19:55.310
y bueno el último punto es la parte del seguimiento de microservicios para el

03:19:55.310 --> 03:20:00.970
descubrimiento de latencias ok entonces en este en este ejemplo

03:20:00.970 --> 03:20:08.350
bueno en este punto se está se propone utilizar o bueno se más bien se

03:20:08.350 --> 03:20:14.030
se propone abordar la librería es leut vale y nosotros tenemos como

03:20:14.030 --> 03:20:19.790
propuesta también ocupar sitkin que es un servidor en el cual convive muy de la

03:20:19.790 --> 03:20:23.290
mano con con esta librería con con es leut va

03:20:23.290 --> 03:20:28.630
entonces básicamente lo que hace es leut bueno nosotros la configuramos es que

03:20:28.630 --> 03:20:32.730
en todas las peticiones que nosotros le podemos llamar traza en toda la

03:20:32.730 --> 03:20:37.630
traza de la petición te va a generar un identificador un identificador más

03:20:37.630 --> 03:20:42.370
o menos como de este tipo no una cadena alfanumérica entonces ese

03:20:42.370 --> 03:20:48.810
identificador cuando ocurre un error tú puedes copiarlo y buscarlo directamente

03:20:48.810 --> 03:20:54.350
en sitkin o viceversa lo puedes buscar en sitkin encuentras el error y lo

03:20:54.350 --> 03:20:57.830
puedes buscar en los logs no reemplazan los logs simplemente es una

03:20:57.830 --> 03:21:05.050
forma es una forma diferente otra alterna de hacerlo no de buscar

03:21:05.050 --> 03:21:10.170
errores en los logs entonces sitkin es al igual que aquí clock un servicio

03:21:10.170 --> 03:21:14.250
parte es un servidor que vamos a estar instalando que ahorita no vamos a ver el

03:21:14.250 --> 03:21:19.270
paso a paso configurando también en las librerías y con eso vamos a

03:21:19.270 --> 03:21:25.330
poder hacer la demostración va entonces el primer paso como ya lo

03:21:25.330 --> 03:21:30.130
hemos estado trabajando vamos a agregar las dependencias en todos los micro

03:21:30.130 --> 03:21:39.310
servicios en donde queramos este agregar este seguimiento de errores o

03:21:41.930 --> 03:21:47.350
entonces yo lo puedo poner por ejemplo en la parte de productos

03:21:47.350 --> 03:21:52.310
puedo buscar en el micro servicio de productos usarios en el de órdenes

03:21:53.190 --> 03:21:56.510
incluso creo que también lo configuramos en el gateway y en todos

03:21:56.510 --> 03:22:00.990
esos microservicios tú puedes buscar la librería y la librería

03:22:01.650 --> 03:22:07.690
entonces yo me voy a ir a cala de producto y voy a ir cerrando otra vez

03:22:07.690 --> 03:22:12.470
todo esto ah bueno ahí le podemos cierran las otras

03:22:12.470 --> 03:22:18.110
entonces aquí yo le doy en maven si te fijas yo aquí encuentro las dos

03:22:18.110 --> 03:22:21.770
dependencias y si te fijas ya estas son las últimas entonces yo encuentro

03:22:21.770 --> 03:22:27.750
sitkin y encuentro zleut yo teniendo esto ya lo puedo instalar con

03:22:27.750 --> 03:22:33.790
maven se descargan las dependencias va después en el application

03:22:33.790 --> 03:22:39.790
yo tengo que configurar para que todas las todas las este

03:22:40.330 --> 03:22:45.850
los identificadores que se generen si entonces este

03:22:46.970 --> 03:22:52.930
para que se guarden aquí en la url perdón para que se configure con

03:22:52.930 --> 03:22:57.790
sitkin si si quien es un producto aparte que vamos a estar levantando

03:22:57.790 --> 03:23:03.270
y se va a levantar en este puerto localjoz 94 si ahorita vemos cómo se

03:23:03.270 --> 03:23:07.110
levanta y básicamente le vamos a decir con esta configuración a

03:23:07.110 --> 03:23:12.130
nuestros microservicios que todo lo que venga de zleut lo meta con

03:23:12.130 --> 03:23:16.510
una probabilidad de 1 esto quiere decir que en todas las peticiones

03:23:16.510 --> 03:23:21.490
siempre esté generándome esa traza en todas las trazas siempre

03:23:21.490 --> 03:23:26.990
esté aventando el identificador para que no haya no haya fallo va

03:23:26.990 --> 03:23:30.870
entonces siempre voy a estar agregando ese ese id con esa configuración

03:23:31.930 --> 03:23:32.970
y luego

03:23:36.550 --> 03:23:40.110
yo me voy aquí a la página para ver cómo se instala sitkin

03:23:40.110 --> 03:23:44.730
sitkin es más que un proyecto es un producto aparte

03:23:44.730 --> 03:23:48.790
quiero atrapiar luego los comandos que estoy en windows luego me

03:23:48.790 --> 03:23:54.010
cambió la máquina un rollo pero a ver a ver

03:23:54.010 --> 03:23:58.570
y se copiaron los caracteres de los lados ahí está entonces yo entro a sitkin

03:23:58.570 --> 03:24:03.150
va igual igual yo voy leyendo ahí toda la documentación se las dejo

03:24:03.150 --> 03:24:07.610
para que para que la puedan ir viendo con más detalle aquí está la

03:24:08.310 --> 03:24:11.970
documentación y este pues ahí te dice todo lo que si quien puede hacer

03:24:11.970 --> 03:24:16.730
incluso te grafica te hace varias cosas ahí interesantes entonces en el

03:24:16.730 --> 03:24:22.610
quick start nosotros podemos ver este cómo se instala por medio de

03:24:22.610 --> 03:24:27.610
por medio de java por medio de bueno del core por medio de cualquier una de

03:24:27.610 --> 03:24:32.110
estos tres métodos va yo en este caso elegí para ya no usar tanto el docker

03:24:32.110 --> 03:24:37.850
y variarle un poquito estoy utilizando el core de con java para hacer eso

03:24:37.850 --> 03:24:41.610
ahí por ahí puse una nota en la presentación que en un ambiente windows

03:24:42.170 --> 03:24:47.750
podemos usar algún cliente bash justo como el de el de git no el que

03:24:47.750 --> 03:24:52.390
tenemos ahí también abierto entonces voy a seguir las instrucciones y yo

03:24:52.390 --> 03:24:58.770
haciendo ejecutando estos dos comandos voy a poder instalar este si quien va

03:24:58.770 --> 03:25:03.690
es el primer comando que se ejecutaría es este core yo al hacerlo

03:25:03.690 --> 03:25:07.170
me va a empezar a bajar todas las dependencias y al final me va a decir

03:25:07.170 --> 03:25:12.970
que puedo ejecutar este comando para lanzar la petición y entonces este al

03:25:12.970 --> 03:25:18.110
momento de levantar eso nos va a dar ya la posibilidad de que yo pueda

03:25:18.110 --> 03:25:24.110
entrar a través de esta dirección así que va entonces vamos a ir haciéndolo

03:25:24.670 --> 03:25:30.330
aquí en la presentación me dice entonces que yo puedo generar el comando

03:25:30.330 --> 03:25:38.110
para este este para levantar el para descargar si entonces hago el core

03:25:39.510 --> 03:25:45.750
este aquí si te fijas ya lo ejecuto va y cuando empieza a ejecutar te digo

03:25:45.750 --> 03:25:50.350
que esto empieza a descargar un montón de paquetes y cuando ya termina te dice

03:25:50.350 --> 03:25:56.190
está este mensajito ahora puedes ejecutar este comando que es el mismo

03:25:56.190 --> 03:26:02.570
que te ponen acá ya vayan si punto ya ya lo ejecutas y al momento de hacer

03:26:02.570 --> 03:26:06.430
esto te empieza a levantar la instancia de si quien y te dice que está

03:26:06.430 --> 03:26:12.570
corriendo ya en el puerto 94 11 va en localhost 94 11 que de hecho es lo

03:26:12.570 --> 03:26:17.910
que te dice acá cuando tú entras aquí también te dice que aquí de hecho te

03:26:17.910 --> 03:26:22.550
dice no sin importar cómo tú quieras instalar o iniciar si quien vete al

03:26:23.110 --> 03:26:28.470
navegador 94 11 y vas a encontrar las las trazas entonces yo con eso ya y

03:26:28.470 --> 03:26:31.990
una vez que me sale ese mensaje yo me puedo meter aquí a mi cliente de

03:26:31.990 --> 03:26:37.950
si quien y si te fijas aquí en el 94 11 yo ya puedo entrar a la

03:26:37.950 --> 03:26:42.290
interfaz y esa es la interfaz de si quien ahí te dice buscar trazas yo aquí

03:26:42.290 --> 03:26:44.650
puedo configurar el idioma

03:26:47.730 --> 03:26:54.030
este viene el la configuración del idioma yo aquí le puedo decir que se

03:26:54.030 --> 03:26:56.930
vaya a

03:26:57.490 --> 03:27:01.270
a bueno cualquier idioma en este caso pues yo lo pongo en español bueno

03:27:01.270 --> 03:27:06.150
creo que es algo algún micro o quieren hacer alguna pregunta perdón

03:27:07.150 --> 03:27:12.850
sí bueno o quienes lo manejamos así al de hecho al revés pues nos vamos al al

03:27:12.850 --> 03:27:18.390
mandarín no no yo la verdad es que prefiero el español entonces este

03:27:18.390 --> 03:27:25.830
listo no ahí tenemos el la interfaz y y listo ahí yo puedo estar es que

03:27:25.830 --> 03:27:36.130
buscando filtros puedo filtrar y por nombre del servicio por lo que tú

03:27:36.130 --> 03:27:42.430
con con las instrucciones que me dicen acá no son todos los que va a reportar

03:27:42.430 --> 03:27:45.970
son todos los que si yo los configuro todos aquellos que configure son los

03:27:45.970 --> 03:27:52.010
que le van a reportar así que va con los que yo podría este entrar entonces

03:27:52.010 --> 03:27:56.270
si te fijas aquí yo tengo varios filtros puedo puedo preguntarle por

03:27:56.270 --> 03:28:01.010
nombre de servicio aquí tengo metidos si quien en estos tres en orden en

03:28:01.010 --> 03:28:07.290
puedo hacer búsqueda de trazas va o simplemente le puedo decir aquí que

03:28:07.290 --> 03:28:10.430
corra todo y me va a estar trayendo trazas yo aquí tengo ya porque son

03:28:12.410 --> 03:28:15.430
ejemplos de peticiones que ya hice incluso desde ayer y que ya nada más

03:28:15.430 --> 03:28:19.730
fui reviviendo si se acuerdan que hicimos ejemplos de del error no

03:28:19.730 --> 03:28:22.710
cuando hicimos el usuario y demás pues aquí como yo lo conecte pues

03:28:22.710 --> 03:28:28.130
ya lo trazo pero vamos a hacer uno desde cero para que se muestre este

03:28:28.130 --> 03:28:32.510
que digo que final se va a mapear de la misma forma no por ejemplo si

03:28:32.510 --> 03:28:37.990
nosotros trajeramos el identificador de usuario nada más que según yo sí

03:28:37.990 --> 03:28:41.890
lo va a reportar incluso llegando desde el que yo le digo que me traiga el

03:28:41.890 --> 03:28:47.430
usuario 4 que según yo no existía ahí nos va a devolver un autorizado

03:28:47.430 --> 03:28:51.310
bueno este es otro error este error no lo reporta porque esto no es un

03:28:51.310 --> 03:28:55.130
error como tal aquí simplemente el toque en este no está funcionando

03:28:55.170 --> 03:28:59.970
lo que yo puedo hacer más bien es en vez de pasarme por el gateway aquí le

03:28:59.970 --> 03:29:03.850
voy a decir que no se guarde le voy a decir directamente al micro

03:29:03.850 --> 03:29:09.890
servicio no le voy a pegar vamos a darle por ejemplo un get user my ID

03:29:09.890 --> 03:29:15.390
y le voy a poner el por ejemplo el 5 que es un usuario que no existe

03:29:16.410 --> 03:29:23.970
y al momento de hacerlo así ya me está dando un ahora sí este es un

03:29:23.970 --> 03:29:29.310
server que de hecho traigo otro ejemplo también aquí mapeado de hecho está

03:29:29.310 --> 03:29:34.110
en cualquiera de los tres vamos a agarrar otra vez el usuario por

03:29:34.110 --> 03:29:38.370
ejemplo y cuando le haces una petición no me acuerdo que en poin en que

03:29:38.370 --> 03:29:41.810
en poin lo puse a pues en el mismo de cuando tú haces un by ID aquí

03:29:41.810 --> 03:29:45.930
tendríamos que detenerlo y descomentar esta línea y si nosotros

03:29:45.930 --> 03:29:49.230
hiciéramos ese ejemplo cuando le pegáramos al

03:29:49.970 --> 03:29:56.590
en poin de obtener los usuarios por ID si yo descomento esta línea pues

03:29:56.590 --> 03:30:01.870
obviamente va a dar un problema de división entre cero ya viste puse ahí

03:30:01.870 --> 03:30:05.470
una línea que no la detecte la compilación sino que cuando esté

03:30:05.470 --> 03:30:09.610
corriendo va a mandar ese exception cuando yo le pegue este en poin y esa

03:30:09.610 --> 03:30:13.290
traza también la va a reportar va entonces podríamos también hacer ese

03:30:13.290 --> 03:30:17.570
ejemplo parando el micro comentando y descomentando esta línea en este

03:30:17.570 --> 03:30:21.870
caso pues lo voy a dejar así con este con este error de no encontrar al

03:30:21.870 --> 03:30:27.890
usuario en el 5 y tiene escasos segundos que yo corrí esto si yo le doy

03:30:27.890 --> 03:30:32.630
correr la traza aquí te dice que bueno tiene un minuto que lo corrió te

03:30:32.630 --> 03:30:36.650
dicen dónde se reportó en el microservicio de usuario y te está

03:30:36.650 --> 03:30:41.010
diciendo incluso yo le puedo decir a ver dime qué de qué se trata y aquí

03:30:41.010 --> 03:30:45.670
me está dando varias cosas y este es el este es el identificador que te

03:30:46.990 --> 03:30:52.410
devuelve la librería de sleuth si tú buscas esta traza por ejemplo acá en

03:30:52.410 --> 03:31:01.230
los logs este en los usuarios bueno yo aquí la de los logs pero si yo

03:31:01.230 --> 03:31:05.550
aquí le doy buscar ahí me va a encontrar la traza y si tú te fijas te

03:31:05.550 --> 03:31:08.690
va haciendo todo el seguimiento te va diciendo desde que hiciste la

03:31:08.690 --> 03:31:14.870
petición desde que se fue guardando al al este a la transacción y te

03:31:14.870 --> 03:31:17.870
está mostrando cómo se fue a la base de datos o sea te encuentra prácticamente

03:31:18.810 --> 03:31:23.590
ahí te encuentra todo ahí son 45 registros que encuentra relacionadas a

03:31:23.590 --> 03:31:30.250
la petición que tú este que tú lanzaste va entonces esto esta es la

03:31:30.250 --> 03:31:34.330
traza que les quería decir que encuentra esta otra librería que se

03:31:34.330 --> 03:31:38.870
llama sleuth a ver ahí dame una oportunidad porque esto se vuelve loco

03:31:39.010 --> 03:31:46.690
estoy haciendo scroll pero ya sé ya sé ya se controla solo a ver nada más

03:31:46.690 --> 03:31:50.430
déjamelo vuelvo a buscar ahí está entonces

03:31:53.090 --> 03:31:58.450
pues realmente la máquina la puse con el tope de memoria entonces este

03:31:58.450 --> 03:32:04.290
seguramente si ocupa varios pero pero bueno todo esto está como diseñado

03:32:04.290 --> 03:32:09.290
para que aguante estos procesos o sea el uso de los de varios microservicios

03:32:09.910 --> 03:32:16.330
pues no no le van a representar bastante más mucha carga entonces este

03:32:16.330 --> 03:32:22.890
si va entonces si te fijas esa esa es identificador lo vamos siguiendo vamos

03:32:22.890 --> 03:32:27.350
siguiendo y su historia ahí te va diciendo cómo llega a la base de

03:32:27.350 --> 03:32:32.010
datos a jpa y aquí ya te va diciendo no ya falló la petición la

03:32:32.010 --> 03:32:37.290
hasta que llega entonces tú puedes ir siguiendo la traza con ese con ese

03:32:37.290 --> 03:32:41.150
identificado y viceversa no imagínate que tú eres una persona que está

03:32:41.150 --> 03:32:45.290
revisando los blogs dame chance es que aquí no sé por qué se va el

03:32:46.770 --> 03:32:52.190
escrón y se va de más pero lo que quería mostrarles es esto no te

03:32:52.190 --> 03:32:56.450
fijas aquí te dice cómo va a si quien como reporta te dice cómo lo está

03:32:56.450 --> 03:33:00.450
reportando con qué traza tú puedes buscar como te decía viceversa no

03:33:00.450 --> 03:33:05.430
puedes encontrar esta traza la puedes poner la puedes copiar de aquí de tus

03:33:05.430 --> 03:33:09.390
blogs y imagínate que quieres más detalle porque dices no existe medio

03:33:09.390 --> 03:33:15.710
imposible te vas a si quien va y tú puedes hacer una búsqueda por traza

03:33:15.710 --> 03:33:20.490
es decir aquí le puedes decir dame la idea de traza yo lo copio y ahí

03:33:20.490 --> 03:33:25.010
también en automático te lleva al problema donde se generó aquí si te

03:33:25.010 --> 03:33:30.070
fijas aquí podrías ver la documentación de si quien pues ir viendo

03:33:30.070 --> 03:33:33.790
qué hace más con detalles pues todos los los la información que aquí te

03:33:33.790 --> 03:33:38.010
pinta no pero aquí creo que es bastante clara te estaba diciendo que fue una

03:33:38.010 --> 03:33:42.050
excepción de not found que de hecho es lo que hicimos no hicimos buscar

03:33:42.050 --> 03:33:46.330
un usuario que no existe en la base de datos nos manda el status code

03:33:46.330 --> 03:33:50.190
error que son 500 que si te fijas es el mismo que que reporta aquí

03:33:51.650 --> 03:33:57.970
500 entonces esto es si quien va te dice incluso en donde fue un método del

03:33:57.970 --> 03:34:02.730
modelo vista controlador en un control te va diciendo toda esta parte no que

03:34:02.730 --> 03:34:06.670
que seguramente ya con más detalle con más práctica pues la vas a poder

03:34:06.670 --> 03:34:12.090
este entender de mejor forma va pero entonces esto es si quien no sé si

03:34:12.790 --> 03:34:18.230
queda si quien combinado con la traza de sleuth no sé si queda alguna

03:34:18.230 --> 03:34:21.230
duda alguna pregunta con con este componente

03:34:26.150 --> 03:34:27.230
está bueno no

03:34:30.330 --> 03:34:36.750
si si está está está bueno entonces este pues bueno esa es la

03:34:36.750 --> 03:34:42.110
configuración creo que no fue tan compleja tampoco es más que nada ir

03:34:42.110 --> 03:34:48.890
siguiendo y la la presentación y tenerla ahí la paciencia pero bueno

03:34:48.890 --> 03:34:54.830
entonces pues con eso terminaría básicamente todo el temario de lo que

03:34:54.830 --> 03:34:56.690
estábamos este

03:34:58.490 --> 03:35:03.590
revisando si después de esto hay otros dos ejercicios que hay que hacer

03:35:03.590 --> 03:35:08.510
uno es este me piden hacer estas preguntas entonces tendríamos que

03:35:08.510 --> 03:35:12.630
estarlas ahorita se las voy diciendo para que entre todos votemos para ver

03:35:12.630 --> 03:35:16.850
cómo le hacemos tengo que la verdad me descontrola un poquito del tema del

03:35:16.850 --> 03:35:22.650
de la diferencia del horario porque lo tenía mapeado más como de 8 a 4

03:35:23.150 --> 03:35:27.550
ahorita se me se me va un poquito y la se me movió entonces este

03:35:27.550 --> 03:35:32.370
generalmente yo esto lo dejo al final pero también tenemos que hacer el

03:35:32.370 --> 03:35:36.850
tema de la práctica también se viene la hora de la comida y que más

03:35:36.850 --> 03:35:41.630
también se viene la evaluación de ustedes hacia mí entonces lo que

03:35:41.630 --> 03:35:43.250
podemos hacer es

03:35:43.850 --> 03:35:48.490
yo les iba a proponer si les parece hacemos esto de lo que va en la

03:35:48.490 --> 03:35:51.010
última media hora de aquí a las dos

03:35:51.890 --> 03:35:56.550
contestamos estas preguntas las mandamos por por correo las ponemos

03:35:56.550 --> 03:36:01.670
aquí en el chat y este tomamos después de dos a tres horas de la

03:36:01.670 --> 03:36:07.710
comida y en las últimas dos horas que son de 3 a 5 nos ponemos a hacer esta

03:36:07.710 --> 03:36:12.210
práctica la práctica básicamente es levantar todo lo que tenemos acá o sea

03:36:12.210 --> 03:36:17.470
vamos a bajar los repositorios y les vamos a ir configurando basándonos en

03:36:17.470 --> 03:36:22.170
las ramas de develop va entonces esta es la práctica nada más es

03:36:22.170 --> 03:36:27.410
replicar todo para que ustedes también lo tengan en su ambiente y esa

03:36:27.410 --> 03:36:30.490
práctica pues ya con esa práctica ya se van las dos horas

03:36:30.490 --> 03:36:36.770
este que más y ya en final los últimos cinco minutos les paso el enlace que es

03:36:36.770 --> 03:36:42.930
para que ustedes hagan la evaluación hacia mí va y digo eso es es como lo

03:36:42.930 --> 03:36:48.530
último no la esta evaluación es a retro y este incluso la pueden hacer

03:36:48.530 --> 03:36:52.470
terminando el la llamada no terminamos la llamada y ya hacen

03:36:53.810 --> 03:36:58.490
como ven les parece el flujo que que podemos seguir si

03:37:00.750 --> 03:37:04.490
perfecto va no hay alguna objeción nadie todos de acuerdo listo

03:37:05.330 --> 03:37:12.710
bueno entonces voy a dejar esta pantalla esta lámina a ver si se se ve según

03:37:12.710 --> 03:37:16.990
yo si se ve todo son tres preguntas la verdad es que son bastante sencillas

03:37:16.990 --> 03:37:23.810
creo yo básicamente es definir que es spring cloud sale luego vámonos a la

03:37:23.810 --> 03:37:29.030
pregunta dos que es mencionar un componente de spring cloud que sea parte

03:37:29.030 --> 03:37:35.750
del temario y otro que no se acuerdan que vimos ahí en el día de ayer una

03:37:35.750 --> 03:37:40.150
página en donde se veían varios este varios componentes unos estaban

03:37:40.150 --> 03:37:44.030
dentro del temario otros no es básicamente de ahí podemos sacar la

03:37:44.030 --> 03:37:48.570
respuesta y todo está en la presentación de hecho y el último

03:37:48.570 --> 03:37:52.950
punto que tal vez sería el más este elaborado hay que describir con

03:37:52.950 --> 03:38:00.290
nuestras propias palabras el flujo de spring cloud bus va con cafca es decir

03:38:00.290 --> 03:38:07.350
necesitamos entender cómo es que cafca funciona como un bus y viene a ser la

03:38:07.350 --> 03:38:12.510
actualización de variables desde el config repo hasta el microservicio en

03:38:12.510 --> 03:38:18.010
cuestión va entonces todo esto viene en las presentación y es lo que hemos

03:38:18.010 --> 03:38:22.290
estado revisando entonces cualquier duda que tengan la idea es más bien

03:38:22.290 --> 03:38:26.990
que si existe preguntas sobre esto pues lo podemos este aclarar si no queda

03:38:26.990 --> 03:38:32.610
claro algo lo podamos volver a repasar va como ven entonces ésta la voy a

03:38:32.610 --> 03:38:40.670
dejar así en no no es cierto es que me fui hasta acá

03:38:40.670 --> 03:38:46.170
vamos a dejar aquí presentó en no si quieres en el chat ahí nada más

03:38:46.170 --> 03:38:50.910
ponme 1.1 tu respuesta 2.1 tu respuesta 3.1 tu respuesta y como

03:38:50.910 --> 03:38:56.950
se mapea el mensaje con tu usuario ya con eso yo lo va entonces de aquí a las

03:38:56.950 --> 03:39:02.790
dos voy a poner la alarma si terminan antes pues ya se pueden ir a la hora de

03:39:03.470 --> 03:39:09.290
descanso no a la hora de la comida y ya nos veríamos a las a las tres

03:39:09.970 --> 03:39:13.790
bueno quienes van acabando por favor lo ponen ahí en el chat

03:39:13.790 --> 03:39:21.910
dale dale no te preocupes sin problema ahora suerte hasta luego

03:39:21.910 --> 03:39:26.710
entonces para todos los demás no hay tema está clara la actividad quieren que

03:39:26.710 --> 03:39:32.510
repasemos algo o todo bien listo va entonces este voy a poner mío mi

03:39:32.510 --> 03:39:37.770
micrófono y este estar aquí al pendiente va

03:39:37.770 --> 03:39:40.470
pongo mío y vuelvo a poner la presentación

03:39:42.770 --> 03:39:48.830
ok mira este lo que hay que hacer es este lo siguiente vamos a en esta

03:39:48.830 --> 03:39:53.750
lámina que veo que puse que es la de las preguntas

03:39:53.750 --> 03:39:58.930
tenemos que contestar estas tres preguntas la forma de contestar es en

03:39:58.930 --> 03:40:05.570
el chat del grupo ahí me pones 1.1 tu respuesta 2.1 tu respuesta 3.1 tu

03:40:05.570 --> 03:40:11.190
respuesta va y ya con como el mensaje se liga con tu usuario pues ya yo con eso

03:40:11.190 --> 03:40:17.630
que ha hecho la respuesta y listo son 30 minutos si terminas antes ya nada

03:40:17.630 --> 03:40:22.710
más dejas ahí el mensaje y ya te puedes ir a la hora de la comida de

03:40:22.710 --> 03:40:27.050
2 a 3 y ya de 3 a 5 que es hasta donde terminar vamos a seguir con la

03:40:27.050 --> 03:40:32.810
práctica de ambientar todo esto que que vimos de este es de hecho todo

03:40:34.430 --> 03:40:39.590
todo lo vimos en el curso viene aquí en la presentación si alguien tiene

03:40:39.590 --> 03:40:44.810
alguna duda sin problemas lo podemos repasar otra vez y listo

03:40:45.450 --> 03:40:52.350
pero si si todo bien va va que va perfecto no no no ahora sí que tú

03:40:52.350 --> 03:40:57.790
respondes a como las encuentras a como te sientas como como era la

03:40:57.790 --> 03:41:02.570
la práctica cuando hacías el examen no en la respondías primero a

03:41:02.570 --> 03:41:07.330
las que te sentías como con más confianza y le dejabas al último las

03:41:07.330 --> 03:41:11.530
más complejas no las más laboriosas entonces no no hay bronca tú no

03:41:11.530 --> 03:41:18.570
respondes como como como se te como como se te venga va listo

03:41:37.470 --> 03:41:39.570
va pues ya varios han contestado

03:41:43.430 --> 03:41:49.390
y entonces quedan todavía seis minutos los que ya contestaron ya sin

03:41:49.390 --> 03:41:55.570
problemas se pueden ir a la pues a la hora de la comida sería de

03:41:58.010 --> 03:42:02.110
de 2 a 3 va entonces nos volvemos a ver aquí en las tres

03:42:02.790 --> 03:42:07.550
y continuamos con lo de la práctica y los que falten pues ahí todavía hay

03:42:07.550 --> 03:42:11.950
tiempo para para mandar ahí las respuestas

03:42:11.950 --> 03:42:17.010
alguien se le está complicando las preguntas a nadie va que va entonces

03:42:17.010 --> 03:42:24.390
voy a poner el y nos vemos a las tres va de 2 a 3 tomemos la hora y

03:42:24.390 --> 03:42:27.610
nos volvemos a conectar aquí a las tres perfecto provecho