{"id":424,"date":"2025-07-18T15:25:03","date_gmt":"2025-07-18T15:25:03","guid":{"rendered":"https:\/\/whitesolutionit.com\/?p=424"},"modified":"2025-07-18T15:38:21","modified_gmt":"2025-07-18T15:38:21","slug":"rabbitmq-el-peligro-oculto-de-las-colas-classic-mirrored-lazy-ttl","status":"publish","type":"post","link":"https:\/\/whitesolutionit.com\/?p=424","title":{"rendered":"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL"},"content":{"rendered":"\n<h2 class=\"wp-block-heading\">\u00bfAlguna vez RabbitMQ te ha dado alguno de estos errores?<\/h2>\n\n\n\n<div class=\"wp-block-group\" style=\"font-size:11px\"><div class=\"wp-block-group__inner-container is-layout-constrained wp-block-group-is-layout-constrained\">\n<pre class=\"wp-block-code\"><code class=\"\">[error] &lt;0.XXX.0&gt; Discarding message from queue 'queue_lazy_ha_ttl' on delivery because it has expired (message TTL exceeded)\n[error] &lt;0.XXX.0&gt; Unexpected ACK\/NACK on expired message in queue 'queue_lazy_ha_ttl'. Index and store out of sync.\n[error] &lt;0.XXX.0&gt; Inconsistent state detected: ACK for message already expired and purged from queue 'queue_lazy_ha_ttl'\n[error] &lt;0.1234.0&gt; CRASH REPORT Process &lt;0.2345.0&gt; exited with reason: {{badmatch,{error,einval}}, ...}<\/code><\/pre>\n<\/div><\/div>\n\n\n\n<p class=\"wp-block-paragraph\">Vamos a ver porque son ocasionados y como remediarlo.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es una \u00abclassic mirrored queue\u00bb en RabbitMQ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">Una <strong>cola cl\u00e1sica (classic queue)<\/strong> en RabbitMQ es el tipo de cola tradicional que se ha utilizado durante a\u00f1os.<br>Cuando hablamos de <strong>mirrored (HA) queue<\/strong>, nos referimos a una configuraci\u00f3n donde la cola y todos sus mensajes son replicados en varios nodos del cluster RabbitMQ, para garantizar alta disponibilidad ante la ca\u00edda de un nodo.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Master<\/strong>: Nodo principal que gestiona la cola.<\/li>\n\n\n\n<li><strong>Slaves<\/strong>: Nodos secundarios que mantienen una r\u00e9plica id\u00e9ntica de la cola.<\/li>\n\n\n\n<li>Si el nodo master cae, uno de los slaves toma el control autom\u00e1ticamente.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">La replicaci\u00f3n se controla mediante <strong>pol\u00edticas (policies)<\/strong>, por ejemplo:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>La cola puede quedar marcada como corrupta e inutilizable.<\/strong><\/li>\n\n\n\n<li><strong>RabbitMQ puede reiniciar el proceso del nodo afectado<\/strong> (\u201cStopping node because of queue index corruption\u201d).<\/li>\n\n\n\n<li><strong>Los consumidores pueden recibir mensajes ya expirados, o errores 404\/NOT_FOUND.<\/strong><\/li>\n\n\n\n<li>Puede <strong>requerir borrar la cola a mano y recrearla<\/strong> (\u00a1p\u00e9rdida de mensajes!).<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 es el modo Lazy en RabbitMQ?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\">El <strong>modo Lazy<\/strong> es una caracter\u00edstica de RabbitMQ dise\u00f1ada para colas que pueden llegar a almacenar muchos mensajes en espera antes de ser consumidos.<br>Su objetivo principal es <strong>minimizar el uso de memoria RAM<\/strong> en el servidor, moviendo los mensajes directamente a disco tan pronto como sea posible.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00bfC\u00f3mo funciona una cola Lazy?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>Por defecto<\/strong>, cuando publicas mensajes en una cola est\u00e1ndar (\u00abnormal\u00bb), RabbitMQ los mantiene en memoria (RAM) hasta que hay demasiados, y solo entonces los va moviendo a disco si es necesario.<\/li>\n\n\n\n<li><strong>En una cola Lazy<\/strong>, RabbitMQ <strong>escribe los mensajes en disco desde el principio<\/strong>, incluso aunque haya suficiente memoria disponible.<br>Solo mueve mensajes de disco a memoria cuando van a ser entregados a un consumidor.<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\"><strong>\u00bfCu\u00e1ndo deber\u00edas usar una cola Lazy?<\/strong><\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Cuando esperas <strong>altos picos de mensajes<\/strong> o retenciones largas (backlogs), y no puedes permitir que la RAM del servidor se llene.<\/li>\n\n\n\n<li>Casos t\u00edpicos:\n<ul class=\"wp-block-list\">\n<li>Sistemas donde el ritmo de producci\u00f3n de mensajes es mucho mayor que el de consumo.<\/li>\n\n\n\n<li>Procesamiento batch o colas de tareas retrasadas.<\/li>\n\n\n\n<li>Integraciones donde los consumidores pueden quedar inactivos durante un tiempo.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfQu\u00e9 problemas reales puede provocar?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>P\u00e9rdida de mensajes:<\/strong> Mensajes \u201cresucitados\u201d que nunca deber\u00edan ser entregados, o mensajes perdidos por corrupci\u00f3n.<\/li>\n\n\n\n<li><strong>Cola inutilizable:<\/strong> La cola se corrompe y no puede ser consumida ni publicada, hay que eliminarla manualmente.<\/li>\n\n\n\n<li><strong>Ca\u00edda de nodos:<\/strong> Si la corrupci\u00f3n se propaga, nodos del cluster pueden reiniciarse para proteger la integridad global (mnesia).<\/li>\n\n\n\n<li><strong>Par\u00f3n del sistema:<\/strong> Si usas pol\u00edticas como <code>pause_minority<\/code>, parte del cluster puede quedar en modo solo lectura hasta que resuelvas el problema.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo solucionar el problema cuando aparece?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Borra la cola corrupta:<\/strong><br>Si la cola est\u00e1 inutilizable, elim\u00ednala desde la UI o por consola:<\/p>\n\n\n\n<pre class=\"wp-block-code\"><code class=\"\">rabbitmqctl delete_queue &lt;queue_lazy_ha_ttl&gt;<\/code><\/pre>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Reinicia el nodo afectado:<\/strong><br>A veces, tras borrar la cola, el nodo vuelve a la normalidad.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Comprueba el estado del cluster:<\/strong><\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Verifica si hay particiones o nodos en estado \u201cdown\u201d.<\/li>\n\n\n\n<li>Revisa los logs para buscar m\u00e1s colas afectadas.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo evitar este bug en producci\u00f3n?<\/h2>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>No uses classic mirrored queues:<\/strong><\/li>\n\n\n\n<li>Est\u00e1n <strong>deprecadas<\/strong>. Usa <strong>Quorum Queues<\/strong> para alta disponibilidad real.<\/li>\n\n\n\n<li><strong>Si usas mirroring, evita modo lazy + TTL juntos:<\/strong><\/li>\n\n\n\n<li>Es esta combinaci\u00f3n la que activa el bug.<\/li>\n\n\n\n<li><strong>No reinicies o desconectes nodos del cluster durante grandes purgas\/expiraciones:<\/strong><\/li>\n\n\n\n<li>Haz mantenimientos programados en ventanas de bajo tr\u00e1fico.<\/li>\n\n\n\n<li><strong>Monitorea siempre los logs del cluster RabbitMQ:<\/strong><\/li>\n\n\n\n<li>Busca errores de \u201ccorruption\u201d, \u201cexpired\u201d, \u201cACK\u201d, \u201cbadmatch\u201d, \u201ceinval\u201d, etc.<\/li>\n\n\n\n<li><strong>Planifica la migraci\u00f3n a Quorum Queues:<\/strong><\/li>\n\n\n\n<li>Son m\u00e1s robustas, no presentan este bug y soportan HA de verdad.<\/li>\n<\/ul>\n\n\n\n<h2 class=\"wp-block-heading\">\u00bfC\u00f3mo se soluciona a nivel de arquitectura?<\/h2>\n\n\n\n<p class=\"wp-block-paragraph\"><strong>Quorum Queues<\/strong> es la respuesta moderna de RabbitMQ al problema de las classic mirrored.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>Replican el log de mensajes en todos los nodos usando un protocolo tipo Raft.<\/li>\n\n\n\n<li>Soportan TTL, expiraci\u00f3n, y alta disponibilidad <strong>de verdad<\/strong>.<\/li>\n\n\n\n<li>Son el \u00fanico tipo de cola recomendado para nuevos desarrollos.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">Si aun no estas preparado para la migraci\u00f3n una buena idea para evitar el problema es aumentando el TTL o aumentar los consumidores para evitar que los mensajes lleguen al punto de pasar a la TTL y los consuman al mismo tiempo.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\"><\/p>\n","protected":false},"excerpt":{"rendered":"<p>\u00bfAlguna vez RabbitMQ te ha dado alguno de estos errores? Vamos a ver porque son ocasionados y como remediarlo. \u00bfQu\u00e9 es una \u00abclassic mirrored queue\u00bb en RabbitMQ? Una cola cl\u00e1sica (classic queue) en RabbitMQ es el tipo de cola tradicional que se ha utilizado durante a\u00f1os.Cuando hablamos de mirrored (HA) queue, nos referimos a una [&hellip;]<\/p>\n","protected":false},"author":2,"featured_media":429,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[29],"class_list":["post-424","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-posts","tag-rabbitmq"],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v24.2 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL - White Solution IT<\/title>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/whitesolutionit.com\/?p=424\" \/>\n<meta property=\"og:locale\" content=\"es_ES\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL - White Solution IT\" \/>\n<meta property=\"og:description\" content=\"\u00bfAlguna vez RabbitMQ te ha dado alguno de estos errores? Vamos a ver porque son ocasionados y como remediarlo. \u00bfQu\u00e9 es una \u00abclassic mirrored queue\u00bb en RabbitMQ? Una cola cl\u00e1sica (classic queue) en RabbitMQ es el tipo de cola tradicional que se ha utilizado durante a\u00f1os.Cuando hablamos de mirrored (HA) queue, nos referimos a una [&hellip;]\" \/>\n<meta property=\"og:url\" content=\"https:\/\/whitesolutionit.com\/?p=424\" \/>\n<meta property=\"og:site_name\" content=\"White Solution IT\" \/>\n<meta property=\"article:published_time\" content=\"2025-07-18T15:25:03+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-18T15:38:21+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png\" \/>\n\t<meta property=\"og:image:width\" content=\"225\" \/>\n\t<meta property=\"og:image:height\" content=\"225\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"Jaime Blanco\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Escrito por\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jaime Blanco\" \/>\n\t<meta name=\"twitter:label2\" content=\"Tiempo de lectura\" \/>\n\t<meta name=\"twitter:data2\" content=\"4 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#article\",\"isPartOf\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=424\"},\"author\":{\"name\":\"Jaime Blanco\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98\"},\"headline\":\"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL\",\"datePublished\":\"2025-07-18T15:25:03+00:00\",\"dateModified\":\"2025-07-18T15:38:21+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=424\"},\"wordCount\":725,\"publisher\":{\"@id\":\"https:\/\/whitesolutionit.com\/#organization\"},\"image\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#primaryimage\"},\"thumbnailUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png\",\"keywords\":[\"RabbitMQ\"],\"articleSection\":[\"posts\"],\"inLanguage\":\"es\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=424\",\"url\":\"https:\/\/whitesolutionit.com\/?p=424\",\"name\":\"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL - White Solution IT\",\"isPartOf\":{\"@id\":\"https:\/\/whitesolutionit.com\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#primaryimage\"},\"image\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#primaryimage\"},\"thumbnailUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png\",\"datePublished\":\"2025-07-18T15:25:03+00:00\",\"dateModified\":\"2025-07-18T15:38:21+00:00\",\"breadcrumb\":{\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#breadcrumb\"},\"inLanguage\":\"es\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/whitesolutionit.com\/?p=424\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#primaryimage\",\"url\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png\",\"contentUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png\",\"width\":225,\"height\":225},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/whitesolutionit.com\/?p=424#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\/\/whitesolutionit.com\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/whitesolutionit.com\/#website\",\"url\":\"https:\/\/whitesolutionit.com\/\",\"name\":\"White Solution IT\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/whitesolutionit.com\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/whitesolutionit.com\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"es\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/whitesolutionit.com\/#organization\",\"name\":\"White Solution IT\",\"url\":\"https:\/\/whitesolutionit.com\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif\",\"contentUrl\":\"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif\",\"width\":500,\"height\":500,\"caption\":\"White Solution IT\"},\"image\":{\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/\"}},{\"@type\":\"Person\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98\",\"name\":\"Jaime Blanco\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"es\",\"@id\":\"https:\/\/whitesolutionit.com\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g\",\"caption\":\"Jaime Blanco\"},\"url\":\"https:\/\/whitesolutionit.com\/?author=2\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL - White Solution IT","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/whitesolutionit.com\/?p=424","og_locale":"es_ES","og_type":"article","og_title":"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL - White Solution IT","og_description":"\u00bfAlguna vez RabbitMQ te ha dado alguno de estos errores? Vamos a ver porque son ocasionados y como remediarlo. \u00bfQu\u00e9 es una \u00abclassic mirrored queue\u00bb en RabbitMQ? Una cola cl\u00e1sica (classic queue) en RabbitMQ es el tipo de cola tradicional que se ha utilizado durante a\u00f1os.Cuando hablamos de mirrored (HA) queue, nos referimos a una [&hellip;]","og_url":"https:\/\/whitesolutionit.com\/?p=424","og_site_name":"White Solution IT","article_published_time":"2025-07-18T15:25:03+00:00","article_modified_time":"2025-07-18T15:38:21+00:00","og_image":[{"width":225,"height":225,"url":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png","type":"image\/png"}],"author":"Jaime Blanco","twitter_card":"summary_large_image","twitter_misc":{"Escrito por":"Jaime Blanco","Tiempo de lectura":"4 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/whitesolutionit.com\/?p=424#article","isPartOf":{"@id":"https:\/\/whitesolutionit.com\/?p=424"},"author":{"name":"Jaime Blanco","@id":"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98"},"headline":"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL","datePublished":"2025-07-18T15:25:03+00:00","dateModified":"2025-07-18T15:38:21+00:00","mainEntityOfPage":{"@id":"https:\/\/whitesolutionit.com\/?p=424"},"wordCount":725,"publisher":{"@id":"https:\/\/whitesolutionit.com\/#organization"},"image":{"@id":"https:\/\/whitesolutionit.com\/?p=424#primaryimage"},"thumbnailUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png","keywords":["RabbitMQ"],"articleSection":["posts"],"inLanguage":"es"},{"@type":"WebPage","@id":"https:\/\/whitesolutionit.com\/?p=424","url":"https:\/\/whitesolutionit.com\/?p=424","name":"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL - White Solution IT","isPartOf":{"@id":"https:\/\/whitesolutionit.com\/#website"},"primaryImageOfPage":{"@id":"https:\/\/whitesolutionit.com\/?p=424#primaryimage"},"image":{"@id":"https:\/\/whitesolutionit.com\/?p=424#primaryimage"},"thumbnailUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png","datePublished":"2025-07-18T15:25:03+00:00","dateModified":"2025-07-18T15:38:21+00:00","breadcrumb":{"@id":"https:\/\/whitesolutionit.com\/?p=424#breadcrumb"},"inLanguage":"es","potentialAction":[{"@type":"ReadAction","target":["https:\/\/whitesolutionit.com\/?p=424"]}]},{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/whitesolutionit.com\/?p=424#primaryimage","url":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png","contentUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2025\/07\/descarga.png","width":225,"height":225},{"@type":"BreadcrumbList","@id":"https:\/\/whitesolutionit.com\/?p=424#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/whitesolutionit.com\/"},{"@type":"ListItem","position":2,"name":"RabbitMQ: El peligro oculto de las colas classic mirrored + lazy + TTL"}]},{"@type":"WebSite","@id":"https:\/\/whitesolutionit.com\/#website","url":"https:\/\/whitesolutionit.com\/","name":"White Solution IT","description":"","publisher":{"@id":"https:\/\/whitesolutionit.com\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/whitesolutionit.com\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"es"},{"@type":"Organization","@id":"https:\/\/whitesolutionit.com\/#organization","name":"White Solution IT","url":"https:\/\/whitesolutionit.com\/","logo":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/","url":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif","contentUrl":"https:\/\/whitesolutionit.com\/wp-content\/uploads\/2024\/03\/whITe.gif","width":500,"height":500,"caption":"White Solution IT"},"image":{"@id":"https:\/\/whitesolutionit.com\/#\/schema\/logo\/image\/"}},{"@type":"Person","@id":"https:\/\/whitesolutionit.com\/#\/schema\/person\/eae062b2c2c9fd8a41699a17eb73af98","name":"Jaime Blanco","image":{"@type":"ImageObject","inLanguage":"es","@id":"https:\/\/whitesolutionit.com\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/91b2f8cf19941cb345ef5bf959df7ce8f66450115ebe67ab48ee01e841e4e647?s=96&d=mm&r=g","caption":"Jaime Blanco"},"url":"https:\/\/whitesolutionit.com\/?author=2"}]}},"_links":{"self":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts\/424","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/users\/2"}],"replies":[{"embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=424"}],"version-history":[{"count":2,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts\/424\/revisions"}],"predecessor-version":[{"id":427,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/posts\/424\/revisions\/427"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=\/wp\/v2\/media\/429"}],"wp:attachment":[{"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=424"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=424"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/whitesolutionit.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=424"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}