{"id":19911,"date":"2021-11-17T12:40:39","date_gmt":"2021-11-17T10:40:39","guid":{"rendered":"https:\/\/www.hiberus.com\/crecemos-contigo\/?p=19911"},"modified":"2023-11-28T13:14:42","modified_gmt":"2023-11-28T12:14:42","slug":"microservicios-disponibilidad-y-escalabilidad-para-el-black-friday","status":"publish","type":"post","link":"https:\/\/www.hiberus.com\/crecemos-contigo\/microservicios-disponibilidad-y-escalabilidad-para-el-black-friday\/","title":{"rendered":"Microservicios: disponibilidad y escalabilidad para el Black Friday"},"content":{"rendered":"<p><span data-contrast=\"auto\">Las plataformas\u00a0<\/span><i><span data-contrast=\"auto\">e-commerce\u00a0<\/span><\/i><span data-contrast=\"auto\">son cada vez m\u00e1s importantes en el d\u00eda a d\u00eda de las personas. En Hiberus creemos que son la evoluci\u00f3n natural de los comercios tal y como los conocemos. Permiten hacer compras altamente personalizadas, desde donde queramos y cuando queramos, ya que su lugar es la web y\u00a0est\u00e1n siempre abiertas para el p\u00fablico.\u00a0La poblaci\u00f3n joven, que generalmente se desenvuelve mejor en el mundo digital,\u00a0ha incrementado en un 29% el n\u00famero de compras online en los \u00faltimos 10 a\u00f1os.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h2><b><span data-contrast=\"auto\">\u00bfQu\u00e9 es el Black Friday?<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">El\u00a0<\/span><i><span data-contrast=\"auto\">Black Friday\u00a0<\/span><\/i><span data-contrast=\"auto\">se origin\u00f3 en E.E.U.U.\u00a0en el siglo pasado y en los \u00faltimos a\u00f1os ha llegado a Espa\u00f1a, haci\u00e9ndose altamente popular. Este fen\u00f3meno consiste en que los comercios realizan grandes descuentos durante unos pocos d\u00edas (que coinciden con el cuarto viernes de noviembre, d\u00eda posterior al D\u00eda de Acci\u00f3n de Gracias), para dar el pistoletazo de salida al inicio de las compras navide\u00f1as. Estos descuentos se traducen en un aumento de ventas extraordinario, del que no se salvan tampoco las grandes plataformas de\u00a0<\/span><i><span data-contrast=\"auto\"><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/tag\/ecommerce\/\">e-commerce<\/a>,\u00a0<\/span><\/i><span data-contrast=\"auto\">pues han de ser capaces de atender a muchas m\u00e1s peticiones sin que el servicio se degrade\u00a0<\/span><i><span data-contrast=\"auto\">(QoS)<\/span><\/i><span data-contrast=\"auto\">, o, en casos extremos, se desvanezca.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><img loading=\"lazy\" decoding=\"async\" class=\"aligncenter wp-image-19912 size-full\" src=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33.png\" alt=\"\" width=\"1630\" height=\"426\" srcset=\"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33.png 1630w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33-300x78.png 300w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33-1024x268.png 1024w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33-768x201.png 768w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33-1536x401.png 1536w, https:\/\/www.hiberus.com\/crecemos-contigo\/wp-content\/uploads\/2021\/11\/Screenshot-2021-11-05-at-09.12.33-360x94.png 360w\" sizes=\"auto, (max-width: 1630px) 100vw, 1630px\" \/><\/p>\n<p>&nbsp;<\/p>\n<h2>El reto que supone el\u00a0<i>Black Friday<\/i><\/h2>\n<p><span data-contrast=\"auto\">La variaci\u00f3n de tr\u00e1fico que tienen que tener en cuenta las plataformas \u00a0<\/span><i><span data-contrast=\"auto\">e-commerce\u00a0<\/span><\/i><span data-contrast=\"auto\">para estos d\u00edas es abrumadora. Por ejemplo, <strong>en Espa\u00f1a,\u00a0hay un aumento del 706%\u00a0de las ventas online con respecto a un d\u00eda normal<\/strong>, que no es nada en comparaci\u00f3n con el 3501% de Austria.\u00a0Es por esto que, a\u00a0d\u00eda de hoy,\u00a0las plataformas\u00a0<\/span><i><span data-contrast=\"auto\">e-commerce<\/span><\/i><span data-contrast=\"auto\">\u00a0se idean, se dise\u00f1an y se implementan teniendo en cuenta, sobre todo, la existencia de d\u00edas como el\u00a0<\/span><i><span data-contrast=\"auto\">Black Friday<\/span><\/i><span data-contrast=\"auto\">.\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">De poco sirve que el servidor funcione bien el 95% del tiempo cuando el 5% restante es tiempo en el que puedes facturar\u00a0cantidades mucho mayores de dinero. Ese 5% es un tiempo nada despreciable, pues supone un coste de\u00a0oportunidad muy alto, adem\u00e1s del precio a pagar en t\u00e9rminos de malos comentarios\u00a0(todos hemos visto redes sociales plagadas de memes cuando alguna plataforma deja de estar disponible).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p><a title=\"Infograf\u00eda: \u00bfQu\u00e9 supone el Black Friday para el comercio? | Statista\" href=\"https:\/\/es.statista.com\/grafico\/20072\/aumento-de-las-ventas-online-respecto-a-un-dia-normal-en-2018\/\"><img decoding=\"async\" style=\"width: 100%; height: auto !important; max-width: 960px;\" src=\"https:\/\/cdn.statcdn.com\/Infographic\/images\/normal\/20072.jpeg\" alt=\"Infograf\u00eda: \u00bfQu\u00e9 supone el Black Friday para el comercio? | Statista\" width=\"100%\" height=\"auto\" \/><\/a><\/p>\n<h2><\/h2>\n<h2><b><span data-contrast=\"auto\">Monolitos: simples pero limitados<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559685&quot;:720,&quot;335559737&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259,&quot;335559991&quot;:360}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">Hist\u00f3ricamente, los monolitos han sido la soluci\u00f3n m\u00e1s usada por peque\u00f1os, medianos y grandes\u00a0<\/span><i><span data-contrast=\"auto\">retailers\u00a0<\/span><\/i><span data-contrast=\"auto\">a nivel mundial. T\u00e9cnicamente, un monolito consiste en una \u00fanica pieza de c\u00f3digo, esto es,\u00a0encapsular todas las funcionalidades del sistema en un \u00fanico lugar: gesti\u00f3n de usuarios, gesti\u00f3n de cat\u00e1logo, gesti\u00f3n de promociones, etc. Puede parecer la soluci\u00f3n m\u00e1s natural,\u00a0de hecho, es la m\u00e1s sencilla y directa a un m\u00ednimo producto viable\u00a0(<\/span><i><span data-contrast=\"auto\">MVP<\/span><\/i><span data-contrast=\"auto\">)\u00a0a cambio de sacrificar otros aspectos\u00a0como la escalabilidad horizontal, alta\u00a0disponibilidad, etc.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><em>En\u00a0una\u00a0arquitectura monol\u00edtica&#8230;\u00a0<\/em><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9\u00a0ocurre si\u00a0se realizan muchos pedidos en el\u00a0<\/span><\/b><b><i><span data-contrast=\"auto\">Black Friday<\/span><\/i><\/b><b><span data-contrast=\"auto\">?\u00a0<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Todas las funcionalidades est\u00e1n gestionadas por una \u00fanica m\u00e1quina, por lo\u00a0que,\u00a0si\u00a0esta falla, <strong>todo falla<\/strong>. Incluso puede fallar \u201cparcialmente\u201d, es decir, el servidor no se cae, pero\u00a0no dispone de suficientes recursos\u00a0para\u00a0aguantar\u00a0la demanda, por lo que el resto de funcionalidades se ven afectadas, desembocando en una falta de disponibilidad.<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9 se puede hacer?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Si el servidor se queda sin recursos, siempre se pueden a\u00f1adir m\u00e1s a la m\u00e1quina (RAM, CPU, disco&#8230;). A esta soluci\u00f3n se le denomina como \u201c<strong>escalabilidad vertical<\/strong>\u201d.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9 ocurre con los recursos que hemos comprado para soportar el pico de demanda del\u00a0<\/span><\/b><b><i><span data-contrast=\"auto\">Black Friday<\/span><\/i><\/b><b><span data-contrast=\"auto\">\u00a0y que ahora no necesitamos?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Es muy probable que estos recursos\u00a0no\u00a0se\u00a0puedan\u00a0devolver. Han sido comprados,\u00a0y,\u00a0ahora,\u00a0se\u00a0va a estar operando con un sistema capaz de soportar las\u00a0horas punta\u00a0en\u00a0un\u00a0<\/span><i><span data-contrast=\"auto\">Black\u00a0Friday<\/span><\/i><span data-contrast=\"auto\">\u00a0aunque\u00a0realmente\u00a0sea\u00a0un martes\u00a0de marzo a las 05:48 de la ma\u00f1ana, con mucha menos demanda.\u00a0Con otro tipo de soluciones, el\u00a0sistema podr\u00eda\u00a0reescalar\u00a0sus recursos autom\u00e1ticamente en funci\u00f3n de la demanda, es decir, podr\u00eda ser el\u00e1stico.<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9 ocurre\u00a0si ahora nuestra plataforma\u00a0<\/span><\/b><b><i><span data-contrast=\"auto\">e-commerce\u00a0<\/span><\/i><\/b><b><span data-contrast=\"auto\">a\u00f1ade una integraci\u00f3n con otra empresa de paqueter\u00eda?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Lamentablemente, con la soluci\u00f3n monol\u00edtica,\u00a0es necesario\u00a0reiniciar todo el sistema para poder incluir cambios en \u00e9l\u00a0(mejoras, nuevas caracter\u00edsticas, arreglo de\u00a0<\/span><i><span data-contrast=\"auto\">bugs<\/span><\/i><span data-contrast=\"auto\">&#8230;).\u00a0Esto supone\u00a0un corte del servicio, que podr\u00e1 afectar a la econom\u00eda de la empresa.\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">Error 404&#8230; \u00bfy ahora qu\u00e9?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Los usuarios parten de la\u00a0idea\u00a0de que\u00a0todo\u00a0est\u00e1 abierto las 24 horas en Internet. En una arquitectura monol\u00edtica es pr\u00e1cticamente imposible estar el 100% del tiempo disponible.\u00a0Puesto que lo ideal es un\u00a0<\/span><i><span data-contrast=\"auto\">uptime\u00a0<\/span><\/i><span data-contrast=\"auto\">del 100%, un porcentaje menor\u00a0no es\u00a0admisible\u00a0en muchos casos. No\u00a0hay que olvidar que\u00a0un\u00a0<\/span><i><span data-contrast=\"auto\">uptime\u00a0<\/span><\/i><span data-contrast=\"auto\">del 99% implica que la web est\u00e9 ca\u00edda durante 3 d\u00edas y medio al a\u00f1o.\u00a0\u00bfY si\u00a0estos 3 d\u00edas y medio\u00a0fueran los del\u00a0<\/span><i><span data-contrast=\"auto\">Black Friday<\/span><\/i><span data-contrast=\"auto\">?<\/span><\/p>\n<h2><b><span data-contrast=\"auto\"><a href=\"https:\/\/www.hiberus.com\/modern-applications\/microservicios\" target=\"_blank\" rel=\"noopener\">Microservicios<\/a>: as\u00ed lo hacemos en Hiberus<\/span><\/b><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h2>\n<p><span data-contrast=\"auto\">La\u00a0<\/span><a href=\"https:\/\/www.hiberus.com\/crecemos-contigo\/cuales-son-los-beneficios-de-una-arquitectura-microservicios\/\" target=\"_blank\" rel=\"noopener\"><span data-contrast=\"none\">arquitectura de\u00a0microservicios<\/span><\/a><span data-contrast=\"auto\">\u00a0se fundamenta, b\u00e1sicamente, en romper el monolito.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><span data-contrast=\"auto\">Una aproximaci\u00f3n podr\u00eda\u00a0pasar por\u00a0dise\u00f1ar\u00a0tantos microservicios como entidades (usuarios, pedidos, productos,\u00a0etc.)\u00a0tenga el sistema. Esta aproximaci\u00f3n favorece la segregaci\u00f3n de responsabilidades,\u00a0la cohesi\u00f3n de todas las partes de la soluci\u00f3n,\u00a0la simplicidad de cada de uno de los\u00a0microservicios\u00a0(principio KISS) y la evoluci\u00f3n individual de cada uno de los mismos. Permite el desacople de los equipos de\u00a0trabajo pudiendo\u00a0centrarse cada uno en una parte espec\u00edfica del dominio del problema.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><em>En\u00a0una arquitectura basada\u00a0en microservicios&#8230;\u00a0<\/em><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9 ocurre si se realizan muchos pedidos en el\u00a0<\/span><\/b><b><i><span data-contrast=\"auto\">Black Friday<\/span><\/i><\/b><b><span data-contrast=\"auto\">?\u00a0\u00bfIr\u00e1 lento todo el sistema?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Casi por definici\u00f3n,\u00a0el resto de funcionalidades no se ven afectadas\u00a0si no dependen de\u00a0la funcionalidad de pedidos. Esto se traduce en que el registro de usuarios o la inserci\u00f3n de nuevos productos al cat\u00e1logo funcionar\u00e1n exactamente igual haya 1, 10 o 10000000 de pedidos a la hora.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfIr\u00e1 lenta toda la parte de pedidos?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">No necesariamente, ya que un microservicio deber\u00eda ser f\u00e1cilmente\u00a0encapsulable\u00a0en un contenedor. Estos contenedores pueden replicarse (s\u00ed, hacer clones), permitiendo tener varias instancias\/copias de un microservicio. Esto favorece el reparto de trabajo\u00a0(distribuyendo las peticiones a un contenedor o a otro)\u00a0y la alta disponibilidad\u00a0(teniendo un n\u00famero de instancias de un contenedor en marcha como m\u00ednimo).\u00a0Para esto se utilizan herramientas como\u00a0<\/span><i><span data-contrast=\"auto\">OpenShift\u00a0<\/span><\/i><span data-contrast=\"auto\">o\u00a0<\/span><i><span data-contrast=\"auto\">Kubernetes<\/span><\/i><span data-contrast=\"auto\">, que adem\u00e1s tambi\u00e9n permiten\u00a0escalar de manera autom\u00e1tica\u00a0el n\u00famero de microservicios en funci\u00f3n de la demanda\u00a0(elasticidad), lo que se traduce por:\u00a0<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"auto\">Mucha demanda de pedidos -&gt; Se levantan m\u00e1s contenedores del microservicio que gestiona los pedidos<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><i><span data-contrast=\"auto\">Poca demanda -&gt;\u00a0Se dejan en marcha tantos contenedores como marque la pol\u00edtica de\u00a0QoS\u00a0(Quality\u00a0of\u00a0Service)<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:2,&quot;335551620&quot;:2,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfC\u00f3mo se coordinan\/comunican para llevar a cabo sus tareas?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Un microservicio puede depender de otro(s), por ejemplo si necesita informaci\u00f3n para realizar la operativa. Esta arquitectura se basa en\u00a0un sistema distribuido conformado por una red de comunicaciones. Esta red ser\u00e1 m\u00e1s\u00a0o menos densa dependiendo del n\u00famero de microservicios que haya y las dependencias entre\u00a0ellos.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">Existen dos\u00a0grandes aproximaciones:<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<ul>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"7\" data-aria-posinset=\"1\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>Aproximaci\u00f3n s\u00edncrona<\/strong>:\u00a0si un microservicio depende de otro hace una llamada\u00a0y espera la respuesta para continuar con su tarea.<\/span><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<li data-leveltext=\"-\" data-font=\"Calibri\" data-listid=\"7\" data-aria-posinset=\"2\" data-aria-level=\"1\"><span data-contrast=\"auto\"><strong>Aproximaci\u00f3n as\u00edncrona<\/strong>: si un microservicio depende de una informaci\u00f3n que tiene otro microservicio, \u00e9ste \u00faltimo publica esa informaci\u00f3n cada vez que cambia, por ejemplo, mediante eventos. Esto se denomina arquitectura de <a href=\"http:\/\/hiberus.com\/crecemos-contigo\/que-son-los-microservicios-basados-en-eventos-rompiendo-el-modelo-sincrono\/\" target=\"_blank\" rel=\"noopener\">microservicios basados en eventos <\/a><\/span><i><span data-contrast=\"auto\">(<strong>event-driven\u00a0architecture<\/strong>).<\/span><\/i><span data-ccp-props=\"{&quot;134233279&quot;:true,&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/li>\n<\/ul>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9 ocurre si uno cae?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Depende en gran parte de la aproximaci\u00f3n elegida. Sin embargo, no hay que olvidar que un gran n\u00famero de interacciones\u00a0entre distintos microservicios\u00a0implica que nuestro sistema tiene muchas partes acopladas entre s\u00ed. Y este acoplamiento tiene que ser evitado en la medida de lo posible. Evidentemente, en casos como una arquitectura\u00a0basada en\u00a0microservicios\u00a0muchas\u00a0de\u00a0(o todas)\u00a0estas interacciones van a ser necesarias\u00a0(por ejemplo,\u00a0para realizar un pedido se necesita saber si se dispone de\u00a0<\/span><i><span data-contrast=\"auto\">stock\u00a0<\/span><\/i><span data-contrast=\"auto\">suficiente).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">En la aproximaci\u00f3n s\u00edncrona\u00a0se\u00a0puede hacer uso del patr\u00f3n\u00a0<\/span><i><span data-contrast=\"auto\"><strong>circuit\u00a0breaker<\/strong>,\u00a0<\/span><\/i><span data-contrast=\"auto\">que evitar\u00e1 una ca\u00edda en cascada.\u00a0Este patr\u00f3n, a grandes rasgos, impide que, durante un tiempo,\u00a0se realicen llamadas a un microservicio que anteriormente\u00a0ha dado problemas: no ha contestado.<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p><span data-contrast=\"auto\">En la aproximaci\u00f3n as\u00edncrona\u00a0no pasa nada. En este caso no se necesita que ambos microservicios est\u00e9n acoplados temporalmente, pues utilizando soluciones como colas (Apache Kafka,\u00a0RabbitMQ&#8230;) se sabr\u00e1 en base a eventos<\/span><i><span data-contrast=\"auto\">\u00a0<\/span><\/i><span data-contrast=\"auto\">cu\u00e1ntos art\u00edculos quedaban antes de que se cayera el microservicio de\u00a0<\/span><i><span data-contrast=\"auto\">stock<\/span><\/i>, entre otros<i><span data-contrast=\"auto\">.<\/span><\/i><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<h3><b><span data-contrast=\"auto\">\u00bfQu\u00e9 ocurre si ahora nuestra plataforma\u00a0<\/span><\/b><b><i><span data-contrast=\"auto\">e-commerce\u00a0<\/span><\/i><\/b><b><span data-contrast=\"auto\">a\u00f1ade una integraci\u00f3n con otra empresa de paqueter\u00eda?<\/span><\/b><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/h3>\n<p><span data-contrast=\"auto\">Si se ha planteado bien la arquitectura, nada. Solamente habr\u00eda que lanzar nuevas instancias de la parte de integraciones con terceros (que puede y deber\u00eda ser f\u00e1cilmente un microservicio).<\/span><span data-ccp-props=\"{&quot;201341983&quot;:0,&quot;335551550&quot;:6,&quot;335551620&quot;:6,&quot;335559739&quot;:160,&quot;335559740&quot;:259}\">\u00a0<\/span><\/p>\n<p>&nbsp;<\/p>\n<p>Nuestra visi\u00f3n es ser el <strong>socio tecnol\u00f3gico en <a href=\"https:\/\/www.hiberus.com\/modern-applications\/microservicios\" target=\"_blank\" rel=\"noopener\">microservicios<\/a><\/strong> de nuestros clientes. Esta visi\u00f3n se plasma en aportar a cada cliente la mejor soluci\u00f3n y el mejor servicio que necesita en cada momento. Supone compartir toda nuestra experiencia y capacidades, crecer con nuestros clientes y estar preparados para aportarles el \u201cimpulso\u201d necesario en cada momento.<\/p>\n<p>Ser \u201csocio tecnol\u00f3gico\u201d de nuestros clientes tambi\u00e9n supone entender su negocio y asegurar el alineamiento de la tecnolog\u00eda y de nuestros servicios para potenciar sus objetivos de negocio. Cont\u00e1ctanos con tu caso y nuestro equipo te dar\u00e1 la mejor soluci\u00f3n.<\/p>\n<p>&nbsp;<\/p>\n<p style=\"text-align: center;\"><iframe loading=\"lazy\" title=\"YouTube video player\" src=\"https:\/\/www.youtube.com\/embed\/sVSdXV1oA20\" width=\"560\" height=\"315\" frameborder=\"0\" allowfullscreen=\"allowfullscreen\"><\/iframe><\/p>\n<p>&nbsp;<\/p>\n<p><em><strong>Autores: \u00c1ngel Ca\u00f1al,\u00a0Alejandro G\u00f3mez y\u00a0Ra\u00fal Javierre.\u00a0<\/strong><\/em><\/p>\n        <div class=\"row\">\n            <div class=\"block-cta-form\" style=\"background-color: #003664;\">\n                <div class=\"content-cta-form\">\n                    <div class=\"text-cta-form\">\n                        <p class=\"title-cta-form\">\u00bfQuieres m\u00e1s informaci\u00f3n sobre nuestra \u00e1rea de Microservicios?<\/p>\n                        <p>Contacta con nuestro equipo de Microservicios<\/p>\n                    <\/div>\n                    <div class=\"form-fields\">\n                        \n<div class=\"wpcf7 no-js\" id=\"wpcf7-f33973-o1\" lang=\"es-ES\" dir=\"ltr\" data-wpcf7-id=\"33973\">\n<div class=\"screen-reader-response\"><p role=\"status\" aria-live=\"polite\" aria-atomic=\"true\"><\/p> <ul><\/ul><\/div>\n<form action=\"\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/19911#wpcf7-f33973-o1\" method=\"post\" class=\"wpcf7-form init\" aria-label=\"Formulario de contacto\" novalidate=\"novalidate\" data-status=\"init\">\n<fieldset class=\"hidden-fields-container\"><input type=\"hidden\" name=\"_wpcf7\" value=\"33973\" \/><input type=\"hidden\" name=\"_wpcf7_version\" value=\"6.1.5\" \/><input type=\"hidden\" name=\"_wpcf7_locale\" value=\"es_ES\" \/><input type=\"hidden\" name=\"_wpcf7_unit_tag\" value=\"wpcf7-f33973-o1\" \/><input type=\"hidden\" name=\"_wpcf7_container_post\" value=\"0\" \/><input type=\"hidden\" name=\"_wpcf7_posted_data_hash\" value=\"\" \/><input type=\"hidden\" name=\"_wpcf7_recaptcha_response\" value=\"\" \/>\n<\/fieldset>\n<div id=\"responsive-form\" class=\"clearfix\">\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"nombre\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Nombre *\" value=\"\" type=\"text\" name=\"nombre\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"apellido\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Apellido *\" value=\"\" type=\"text\" name=\"apellido\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"correo\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-email wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-email\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Correo corporativo *\" value=\"\" type=\"email\" name=\"correo\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"telf-contacto\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-tel wpcf7-validates-as-required wpcf7-text wpcf7-validates-as-tel\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Tel\u00e9fono *\" value=\"\" type=\"tel\" name=\"telf-contacto\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"compania\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Compa\u00f1ia *\" value=\"\" type=\"text\" name=\"compania\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"mensaje\"><textarea cols=\"40\" rows=\"10\" maxlength=\"2000\" class=\"wpcf7-form-control wpcf7-textarea wpcf7-validates-as-required\" aria-required=\"true\" aria-invalid=\"false\" placeholder=\"Mensaje *\" name=\"mensaje\"><\/textarea><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"politica\"><span class=\"wpcf7-form-control wpcf7-acceptance\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"politica\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">He le\u00eddo y acepto la <a href=\"https:\/\/www.hiberus.com\/politica\" target=\"_blank\"><u>Pol\u00edtica de privacidad<\/u><\/a><\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-full color-acceptance\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"marketing\"><span class=\"wpcf7-form-control wpcf7-acceptance optional\"><span class=\"wpcf7-list-item\"><label><input type=\"checkbox\" name=\"marketing\" value=\"1\" aria-invalid=\"false\" \/><span class=\"wpcf7-list-item-label\">Me gustar\u00eda recibir comunicaciones de marketing de Hiberus y sobre sus productos, servicios y eventos.<\/span><\/label><\/span><\/span><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div class=\"column-half\">\n\t\t\t<p><input class=\"wpcf7-form-control wpcf7-submit has-spinner\" type=\"submit\" value=\"Contacta con nosotros\" \/>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n\t<div class=\"form-row\">\n\t\t<div id=\"campos_ocultos\" class=\"hidden\">\n\t\t\t<p><span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new1\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new1\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new1\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new2\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new2\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new2\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new3\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new3\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new3\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new4\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new4\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new4\" \/><\/span><br \/>\n<span class=\"wpcf7-form-control-wrap\" data-name=\"oculto_analitica_new_p\"><input size=\"40\" maxlength=\"400\" class=\"wpcf7-form-control wpcf7-text\" id=\"oculto_analitica_new_p\" aria-invalid=\"false\" value=\"\" type=\"text\" name=\"oculto_analitica_new_p\" \/><\/span>\n\t\t\t<\/p>\n\t\t<\/div>\n\t<\/div>\n<\/div>\n\n<!--end responsive-form--><div class=\"wpcf7-response-output\" aria-hidden=\"true\"><\/div>\n<\/form>\n<\/div>\n                    <\/div>\n                <\/div>\n            <\/div>\n        <\/div>\n        \n","protected":false},"excerpt":{"rendered":"<p>Las plataformas\u00a0e-commerce\u00a0son cada vez m\u00e1s importantes en el d\u00eda a d\u00eda de las personas. En Hiberus creemos que son la evoluci\u00f3n natural&#8230;<\/p>\n","protected":false},"author":232,"featured_media":19992,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_acf_changed":false,"_ayudawp_aiss_exclude":false,"footnotes":""},"categories":[242,3,246,237,167,233],"tags":[158,23,136,34,56,57],"class_list":{"0":"post-19911","1":"post","2":"type-post","3":"status-publish","4":"format-standard","5":"has-post-thumbnail","7":"category-cloud","8":"category-negocio-electronico","9":"category-infraestructura","10":"category-microservicios","11":"category-retail-distribucion","12":"category-tecnologias-ecommmerce","13":"tag-aws","14":"tag-cloud","15":"tag-cloud-infraestructura","16":"tag-ecommerce","17":"tag-microservicios","18":"tag-microsoft-azure"},"acf":[],"_links":{"self":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/19911","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/users\/232"}],"replies":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/comments?post=19911"}],"version-history":[{"count":15,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/19911\/revisions"}],"predecessor-version":[{"id":36270,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/posts\/19911\/revisions\/36270"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media\/19992"}],"wp:attachment":[{"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/media?parent=19911"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/categories?post=19911"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.hiberus.com\/crecemos-contigo\/wp-json\/wp\/v2\/tags?post=19911"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}