{"id":2153,"date":"2023-09-11T01:55:23","date_gmt":"2023-09-11T05:55:23","guid":{"rendered":"https:\/\/flexsss.com\/latam\/?p=2153"},"modified":"2023-09-11T01:55:23","modified_gmt":"2023-09-11T05:55:23","slug":"comprender-la-arquitectura-mqtt-una-inmersion-profunda","status":"publish","type":"post","link":"https:\/\/flexsss.com\/latam\/comprender-la-arquitectura-mqtt-una-inmersion-profunda\/","title":{"rendered":"Comprender la arquitectura MQTT: una inmersi\u00f3n profunda"},"content":{"rendered":"\n<p><a href=\"https:\/\/www.paessler.com\/industrial-it-monitoring\" rel=\"noreferrer noopener\" target=\"_blank\">Monitorear las redes de informaci\u00f3n industrial<\/a>&nbsp;es esencial para garantizar el rendimiento, reducir el tiempo de inactividad no planificado y optimizar el uso de energ\u00eda en la producci\u00f3n diaria.&nbsp;Un aspecto importante del monitoreo de estas redes es comprender los protocolos en uso, los m\u00e1s comunes son HTTP, OPC UA y MQTT, entre otros.&nbsp;Para este art\u00edculo, nos centraremos espec\u00edficamente en el monitoreo de MQTT, que se ha vuelto m\u00e1s com\u00fan en las redes de tecnolog\u00eda operativa con el auge del IIoT (Internet industrial de las cosas).&nbsp;<\/p>\n\n\n\n<p><img data-recalc-dims=\"1\" loading=\"lazy\" decoding=\"async\" src=\"https:\/\/i0.wp.com\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?resize=307%2C254&#038;ssl=1\" width=\"307\" height=\"254\" alt=\"cedalo-mqtt-image3\" srcset=\"https:\/\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?width=154&amp;height=127&amp;name=cedalo-mqtt-image3.png 154w, https:\/\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?width=307&amp;height=254&amp;name=cedalo-mqtt-image3.png 307w, https:\/\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?width=461&amp;height=381&amp;name=cedalo-mqtt-image3.png 461w, https:\/\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?width=614&amp;height=508&amp;name=cedalo-mqtt-image3.png 614w, https:\/\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?width=768&amp;height=635&amp;name=cedalo-mqtt-image3.png 768w, https:\/\/blog.paessler.com\/hs-fs\/hubfs\/2023\/Visuals\/Body\/cedalo-mqtt-image3.png?width=921&amp;height=762&amp;name=cedalo-mqtt-image3.png 921w\">Entonces, \u00bfc\u00f3mo se resuelve la tarea de monitorear MQTT?&nbsp;Un requisito es tener a su disposici\u00f3n herramientas convenientes y confiables, como el&nbsp;<a href=\"https:\/\/www.paessler.com\/de\/manuals\/prtg\/mqtt_round_trip_sensor\">sensor de ida y vuelta MQTT<\/a>&nbsp;.&nbsp;Pero el otro punto crucial es&nbsp;<strong>tener conocimiento de la arquitectura MQTT en uso<\/strong>&nbsp;, que puede usarse para comprender los flujos de datos y solucionar problemas y tomar acciones efectivas en caso de cualquier problema.&nbsp;Esto significa que debe tener conocimiento de factores como el&nbsp;<a href=\"https:\/\/cedalo.com\/mqtt-broker-pro-mosquitto\/\" rel=\"noreferrer noopener\" target=\"_blank\">corredor MQTT<\/a>&nbsp;en uso, los requisitos de alta disponibilidad y m\u00e1s.<\/p>\n\n\n\n<p>En las siguientes secciones, examinaremos brevemente las arquitecturas MQTT utilizadas en entornos confiables, de alta disponibilidad y de alto rendimiento.&nbsp;Pero primero, echemos un vistazo a qu\u00e9 son los corredores y temas de MQTT.&nbsp;&nbsp;<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">MQTT: \u00bfPor qu\u00e9, c\u00f3mo, qu\u00e9?<\/h2>\n\n\n\n<p>La comunicaci\u00f3n es un valor clave a nivel de taller en las redes de producci\u00f3n industrial.&nbsp;Como puede imaginar, los trabajadores est\u00e1n acostumbrados a utilizar aplicaciones de mensajer\u00eda para enviar, recibir o compartir informaci\u00f3n f\u00e1cilmente en grupos o entre individuos a lo largo de su jornada laboral, asegurando que las tareas se completen.&nbsp;MQTT es un protocolo ligero y estandarizado que suelen utilizar m\u00e1quinas y controladores para enviar, recibir o compartir informaci\u00f3n en grupos o entre entidades espec\u00edficas.&nbsp;El concepto es bastante parecido al de las aplicaciones de mensajer\u00eda personal.&nbsp;Como resultado, MQTT se utiliza ampliamente en muchas aplicaciones inteligentes para f\u00e1bricas, ciudades, hogares y veh\u00edculos.<\/p>\n\n\n\n<p>Uno puede publicar informaci\u00f3n sobre un tema espec\u00edfico y otros pueden suscribirse a esos temas para recibir la informaci\u00f3n publicada al instante.&nbsp;La instancia que gestiona la distribuci\u00f3n de los mensajes publicados es el denominado intermediario de mensajes.&nbsp;Este software puede ejecutarse en peque\u00f1os dispositivos integrados como Raspberry Pi o en servicios en la nube como&nbsp;<a href=\"https:\/\/cedalo.com\/mqtt-broker-pro-mosquitto\/\">Pro Mosquitto MQTT Broker<\/a>&nbsp;de Cedalo .<\/p>\n\n\n\n<p>Llegados a este punto, los principales puntos a considerar sobre&nbsp;<strong>los clientes MQTT<\/strong>&nbsp;(como un PLC o un dispositivo de sensor inteligente) son:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>pueden&nbsp;<strong>publicar mensajes<\/strong>&nbsp;sobre temas (por ejemplo, \u201ctemperatura\/desde\/sensorA\u201d)<\/li>\n\n\n\n<li>reciben&nbsp;<strong>mensajes<\/strong>&nbsp;de temas suscritos (por ejemplo, \u201ctemperatura\/de\/sensorB\u201d) a trav\u00e9s del broker MQTT<\/li>\n\n\n\n<li>mantienen&nbsp;<strong>la conexi\u00f3n con el corredor establecida o se vuelven a conectar en caso de p\u00e9rdida de conexi\u00f3n<\/strong><\/li>\n<\/ul>\n\n\n\n<p>Para obtener m\u00e1s detalles sobre MQTT, consulte&nbsp;<a href=\"https:\/\/www.paessler.com\/it-explained\/mqtt\">TI explicada: MQTT<\/a>&nbsp;.<\/p>\n\n\n\n<p>La conectividad y funcionalidad del broker MQTT son cruciales para asegurar esta comunicaci\u00f3n y, por tanto, el transporte de la informaci\u00f3n, por lo que es una buena idea monitorear constantemente el estado del broker y establecer una arquitectura de alta disponibilidad.<\/p>\n\n\n\n<h2 class=\"wp-block-heading\">Arquitectura MQTT<\/h2>\n\n\n\n<p>Como se mencion\u00f3 anteriormente, usar MQTT desde la perspectiva del cliente es sencillo: publicar y suscribirse a temas.&nbsp;Pero la arquitectura necesaria para realizar el transporte de informaci\u00f3n puede diferir seg\u00fan los requisitos de seguridad de la informaci\u00f3n, disponibilidad y las diferentes ubicaciones donde se producen\/consumen los datos.&nbsp;Echaremos un vistazo a la&nbsp;<strong>arquitectura MQTT b\u00e1sica<\/strong>&nbsp;y luego pasaremos a&nbsp;<strong>los corredores de alta disponibilidad<\/strong>&nbsp;, un&nbsp;<strong>escenario del mundo real para la arquitectura MQTT<\/strong>&nbsp;y&nbsp;<strong>el mapeo de mensajes est\u00e1ticos versus din\u00e1micos<\/strong>&nbsp;, todos los cuales es importante comprender al configurar el monitoreo.&nbsp;<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">La arquitectura b\u00e1sica de MQTT<\/h3>\n\n\n\n<p>En la arquitectura b\u00e1sica, hay varios clientes y un corredor en la misma ubicaci\u00f3n.&nbsp;B\u00e1sicamente, \u00abmisma ubicaci\u00f3n\u00bb significa que la comunicaci\u00f3n de red subyacente no necesita cruzar fronteras a trav\u00e9s de una conexi\u00f3n a Internet.<\/p>\n\n\n\n<p>Por ejemplo, la informaci\u00f3n se transporta de un cliente a otro a trav\u00e9s del broker MQTT mediante una conexi\u00f3n TCP Ethernet (ver Figura 1).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.paessler.com\/hubfs\/2023\/Visuals\/Body\/Infographics_Blogheader-Guest-Graphics_3.20230904104217992.svg\" alt=\"Infograf\u00eda_Blogheader-Guest-Graphics_3.20230904104217992\"\/><\/figure>\n\n\n\n<p><em><strong>Figura 1<\/strong>&nbsp;&nbsp;: Arquitectura MQTT b\u00e1sica: un corredor y varios clientes en la misma ubicaci\u00f3n<\/em><\/p>\n\n\n\n<p>Esta arquitectura se puede configurar f\u00e1cilmente para implementaciones locales y una peque\u00f1a cantidad de clientes (&lt; 500) sin utilizar cifrado de transporte (TLS), ya que otros mecanismos pueden proteger la red contra violaciones.&nbsp;Una ventaja de la arquitectura b\u00e1sica es el sencillo proceso de configuraci\u00f3n y la disponibilidad de numerosos paquetes de software de cliente.<\/p>\n\n\n\n<p>Un inconveniente de utilizar esta arquitectura en entornos de producci\u00f3n es la gesti\u00f3n de los derechos de acceso.&nbsp;Esto significa que diferentes clientes pueden o no acceder a cada tema, y \u200b\u200bpuede haber problemas de rendimiento y disponibilidad cuando aumenta el n\u00famero de clientes o cuando hay altas tasas de publicaci\u00f3n de mensajes.&nbsp;Por lo tanto, para prepararse para una arquitectura escalable y de alto rendimiento, se necesitar\u00e1 un intermediario de alta disponibilidad con una API de administraci\u00f3n de acceso, y esto se presenta en la siguiente secci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">El concepto de corredores MQTT de alta disponibilidad.<\/h3>\n\n\n\n<p>La arquitectura b\u00e1sica utiliza un intermediario.&nbsp;Sin embargo, puede tener clientes conectados desde diferentes ubicaciones comunic\u00e1ndose con el corredor a trav\u00e9s de Internet.&nbsp;Si tiene requisitos con altas exigencias en cuanto a la disponibilidad del corredor MQTT, entra en juego el concepto de un cl\u00faster de alta disponibilidad (HA Broker).<\/p>\n\n\n\n<p>Este corredor de HA se implementa utilizando tres, cinco o incluso m\u00e1s instancias (nodos) del mismo corredor.&nbsp;Estos nodos pueden estar ubicados en diferentes zonas de disponibilidad, normalmente en los servidores de los proveedores de infraestructura.&nbsp;Para ver un ejemplo de gesti\u00f3n de m\u00faltiples nodos de un corredor (y diferentes modos de agrupaci\u00f3n), consulte&nbsp;<a href=\"https:\/\/cedalo.com\/mqtt-broker-pro-mosquitto\/high-availability\/\">Mosquitto MQTT High Availability y sus diferentes modos de agrupaci\u00f3n<\/a>&nbsp;.<\/p>\n\n\n\n<p><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/blog.paessler.com\/hubfs\/2023\/Visuals\/Body\/Infographics_Blogheader-Guest-Graphics_2.svg\" alt=\"Infograf\u00eda_Blogheader-Guest-Graphics_2\" width=\"381\" height=\"352\"><em><strong>Figura 2<\/strong>&nbsp;&nbsp;: HA Broker con tres nodos de cl\u00faster y punto final con redundancia de zona<\/em><\/p>\n\n\n\n<p>Existen diferentes conceptos para realizar estos corredores de HA (para los lectores alemanes,&nbsp;<a href=\"https:\/\/www.heise.de\/hintergrund\/Internet-der-Dinge-Hochverfuegbare-Anwendungen-mit-MQTT-8514916.html\" rel=\"noreferrer noopener\" target=\"_blank\">este art\u00edculo en l\u00ednea de Heise<\/a>&nbsp;lo describe muy bien).<\/p>\n\n\n\n<p>Un enfoque es elegir un intermediario del cl\u00faster (nodo) para que act\u00fae como maestro y administre el flujo de tr\u00e1fico.&nbsp;Mientras tanto, los dem\u00e1s intermediarios permanecen en modo de espera y pueden configurarse para que act\u00faen como maestros en milisegundos.<\/p>\n\n\n\n<p>En una vista de nivel suficientemente alto, los corredores de HA proporcionan un punto final al que se puede acceder a trav\u00e9s de Internet, red local o redes privadas virtuales (VPN) que garantiza una disponibilidad t\u00e9cnica del 99,9% o superior, independientemente de la cantidad de mensajes o la cantidad. de clientes conectados.&nbsp;Es posible tener miles o decenas de miles de clientes sin notar p\u00e9rdidas de rendimiento.&nbsp;El monitoreo y la reacci\u00f3n de las fallas de los nodos se realizan autom\u00e1ticamente mediante el software subyacente, como un complemento de extensi\u00f3n de cl\u00faster para las instancias del corredor.&nbsp;Puede leer los detalles t\u00e9cnicos del&nbsp;<a href=\"https:\/\/docs.cedalo.com\/mosquitto\/broker\/mosquitto-high-availability\/\">cl\u00faster de alta disponibilidad de Mosquitto<\/a>&nbsp;para obtener m\u00e1s informaci\u00f3n.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Posible escenario del mundo real para la arquitectura MQTT<\/h3>\n\n\n\n<p>En el mundo real, los flujos o flujos de datos de la red de informaci\u00f3n de producci\u00f3n utilizan diferentes protocolos.&nbsp;As\u00ed, por ejemplo, un enfoque com\u00fan es utilizar webhooks (HTTP, POST) para receptores de datos o ingestas de an\u00e1lisis de streaming.&nbsp;Por otro lado, las fuentes de datos en un entorno de producci\u00f3n consisten en PLC con capacidades de tiempo real o PC integradas.&nbsp;Aqu\u00ed se utiliza a menudo el protocolo MQTT.&nbsp;Seg\u00fan el concepto de pir\u00e1mide de automatizaci\u00f3n, las entidades en las redes de informaci\u00f3n se pueden organizar en niveles de informaci\u00f3n (ver Figura 3).<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img decoding=\"async\" src=\"https:\/\/blog.paessler.com\/hubfs\/2023\/Visuals\/Body\/Infographics_Blogheader-Guest-Graphics_1.20230904104142160.svg\" alt=\"Infograf\u00eda_Blogheader-Guest-Graphics_1.20230904104142160\"\/><\/figure>\n\n\n\n<p><em><strong>Figura 3<\/strong>&nbsp;&nbsp;: Vista conceptual de diferentes niveles de informaci\u00f3n para un posible escenario de entorno de producci\u00f3n en el contexto de consumidores y receptores de datos.<\/em><\/p>\n\n\n\n<p>Se deben tomar decisiones individuales adicionales con respecto a la ubicaci\u00f3n de las instancias de procesamiento de datos, es decir, el broker MQTT, ya sea en las instalaciones o en la nube.&nbsp;Este \u00faltimo se puede dividir a su vez en infraestructura compartida o dedicada.<\/p>\n\n\n\n<p>Este enfoque dar\u00e1 como resultado los siguientes requisitos de alto nivel:<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li>M\u00faltiples clientes en diferentes ubicaciones y m\u00faltiples intermediarios que utilizan cl\u00fasteres puente y de alta disponibilidad tienen que comunicarse.<\/li>\n\n\n\n<li>Es necesario establecer conexiones confiables de sitio a sitio a nivel de empresa a trav\u00e9s de VPN, conexi\u00f3n de cable privado o mediante transporte de datos HTTPS.<\/li>\n\n\n\n<li>Se necesita un concepto alineado para la denominaci\u00f3n de temas y la disposici\u00f3n de los valores de metadatos.<\/li>\n<\/ul>\n\n\n\n<p>Echemos un vistazo detallado al primer requisito de alto nivel.&nbsp;La arquitectura MQTT b\u00e1sica se puede utilizar para ofrecer comunicaci\u00f3n instant\u00e1nea y flujo de datos entre clientes, como se muestra arriba.&nbsp;La Figura 3 demuestra que los intermediarios se pueden implementar localmente como un intermediario HA con m\u00faltiples nodos.&nbsp;Los corredores 1, 2 y 3 brindan servicios de distribuci\u00f3n de mensajes para diferentes l\u00edneas de producci\u00f3n o infraestructura log\u00edstica.<\/p>\n\n\n\n<p>La funcionalidad clave para interconectar a estos corredores se llama puente.&nbsp;La uni\u00f3n de corredores MQTT permite asignar mensajes entre diferentes niveles o sitios.&nbsp;Puede, por ejemplo, nombrar los temas como \u201cfrom_level_0\u201d o \u201cenergy_metrics_for_facility_mmgt\u201d.&nbsp;Para obtener una explicaci\u00f3n m\u00e1s detallada sobre los puentes, consulte el blog&nbsp;<a href=\"https:\/\/cedalo.com\/blog\/mosquitto-bridge-configuration\/\">Explicaci\u00f3n de la configuraci\u00f3n del puente Mosquitto<\/a>&nbsp;.<\/p>\n\n\n\n<p>En \u00faltima instancia, las capacidades de puente del corredor garantizan que los clientes ubicados en diferentes niveles de informaci\u00f3n o en diferentes ubicaciones puedan intercambiar informaci\u00f3n a trav\u00e9s de m\u00faltiples corredores puente.&nbsp;En este caso, no importa si los corredores est\u00e1n alojados en las instalaciones o en la nube.<\/p>\n\n\n\n<p><strong>El principal desaf\u00edo, tambi\u00e9n para el monitoreo, es alinear y definir convenciones de nomenclatura de temas y asignaciones de temas<\/strong>&nbsp;.&nbsp;El riesgo de crear bucles de mensajes aumenta con el n\u00famero de intermediarios involucrados.&nbsp;La detecci\u00f3n de bucles de mensajes y tr\u00e1fico redundante es otro desaf\u00edo donde se necesitan capacidades de an\u00e1lisis de tr\u00e1fico.<\/p>\n\n\n\n<p>En el escenario ilustrado que se muestra en la Figura 3, tambi\u00e9n se da el caso de que el puente se realiza desde MQTT al protocolo HTTP.&nbsp;Esto tiene sentido para temas seleccionados y, por tanto, informaci\u00f3n espec\u00edfica para agregarlos y almacenarlos en un lago de datos central alimentado por un webhook a nivel de empresa.<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">Mapeo de mensajes est\u00e1ticos versus din\u00e1micos<\/h3>\n\n\n\n<p>La arquitectura descrita anteriormente (consulte la Figura 3) se puede realizar mediante una configuraci\u00f3n est\u00e1tica para el puente MQTT.&nbsp;Pero la necesidad de un puente din\u00e1mico inteligente puede aumentar a medida que pongamos en pr\u00e1ctica posibles casos de uso.<\/p>\n\n\n\n<p>Imag\u00ednese si, a nivel de empresa, reconoce que falta una m\u00e9trica o informaci\u00f3n para un informe de BI altamente agregado.&nbsp;Luego, podr\u00eda publicar una solicitud en un AI-Bot con el mensaje: \u00abPara el pr\u00f3ximo per\u00edodo de evaluaci\u00f3n de la facturaci\u00f3n mensual, incluya un gr\u00e1fico de barras para la suma de kil\u00f3metros que recorren los AGV por l\u00ednea de producci\u00f3n\u00bb.&nbsp;Sin duda, este podr\u00eda ser un requisito de funcionalidad futuro.<\/p>\n\n\n\n<p>Las funciones de ejecuci\u00f3n tendr\u00edan que redefinir autom\u00e1ticamente la configuraci\u00f3n del puente en todos los niveles para garantizar que los datos se transporten desde los AGV al lago de datos central.\u00a0T\u00e9cnicamente, ya hay un bloque de construcci\u00f3n disponible que utiliza interfaces remotas como la\u00a0<a href=\"https:\/\/cedalo.com\/mqtt-broker-pro-mosquitto\/mqtt-api-and-rest-api\/\">API MQTT y la API REST<\/a>\u00a0para actualizar las configuraciones del agente MQTT.\u00a0Esto puede denominarse puente din\u00e1mico inteligente y es el punto de partida para arquitecturas MQTT m\u00e1s avanzadas.<\/p>\n\n\n\n<p>Por <em>Dr. Andreas Schiffler<\/em><\/p>\n","protected":false},"excerpt":{"rendered":"<p>Monitorear las redes de informaci\u00f3n industrial&nbsp;es esencial para garantizar el rendimiento, reducir el tiempo de inactividad no planificado y optimizar el uso de energ\u00eda en la producci\u00f3n diaria.&nbsp;Un aspecto importante del monitoreo de estas redes es comprender los protocolos en uso, los m\u00e1s comunes son HTTP, OPC UA y MQTT, entre otros.&nbsp;Para este art\u00edculo, nos&hellip; <br \/> <a class=\"read-more\" href=\"https:\/\/flexsss.com\/latam\/comprender-la-arquitectura-mqtt-una-inmersion-profunda\/\">Read more<\/a><\/p>\n","protected":false},"author":1,"featured_media":2154,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[187,181],"tags":[],"class_list":["post-2153","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-gestion-de-activos","category-productividad"],"jetpack_featured_media_url":"https:\/\/i0.wp.com\/flexsss.com\/latam\/wp-content\/uploads\/2023\/09\/Entrada_Paessler2.png?fit=700%2C366&ssl=1","jetpack-related-posts":[],"jetpack_sharing_enabled":true,"_links":{"self":[{"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/posts\/2153","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/comments?post=2153"}],"version-history":[{"count":1,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/posts\/2153\/revisions"}],"predecessor-version":[{"id":2155,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/posts\/2153\/revisions\/2155"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/media\/2154"}],"wp:attachment":[{"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/media?parent=2153"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/categories?post=2153"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/flexsss.com\/latam\/wp-json\/wp\/v2\/tags?post=2153"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}