{"id":483,"date":"2023-11-28T10:00:00","date_gmt":"2023-11-28T10:00:00","guid":{"rendered":"https:\/\/jacar.es\/event-driven-arquitectura\/"},"modified":"2023-11-28T10:00:00","modified_gmt":"2023-11-28T10:00:00","slug":"event-driven-arquitectura","status":"publish","type":"post","link":"https:\/\/jacar.es\/en\/event-driven-arquitectura\/","title":{"rendered":"Event-Driven Architecture: When and How to Adopt It"},"content":{"rendered":"<p><strong>Event-Driven Architecture<\/strong> (EDA) is one of the most promoted patterns in modern distributed systems. The idea: instead of services calling each other directly, services <strong>publish events<\/strong> when something changes, and other services <strong>subscribe<\/strong> to relevant events. Coupling reduces; resilience improves; new pieces plug in without touching existing ones.<\/p>\n<p>Reality is more nuanced. We cover when EDA adds real value, which patterns consolidate, and which new problems it brings that often get underestimated.<\/p>\n<h2 id=\"the-paradigm-shift\">The Paradigm Shift<\/h2>\n<p>In classic synchronous REST architecture:<\/p>\n<pre><code>ServiceA \u2192 POST \/orders \u2192 ServiceB\nServiceA waits for response\nServiceA does something with the response<\/code><\/pre>\n<p>In event-driven architecture:<\/p>\n<pre><code>ServiceA publishes &quot;OrderCreated&quot; event on the broker\nServiceB receives the event, processes\nServiceC also receives it, does its thing\nServiceA neither waits nor knows who consumes<\/code><\/pre>\n<p>The difference is deep: ServiceA no longer knows about B or C. Tomorrow ServiceD can start consuming the same events without changing anything in ServiceA. That\u2019s real decoupling.<\/p>\n<h2 id=\"when-it-adds-value\">When It Adds Value<\/h2>\n<p>EDA shines in concrete scenarios:<\/p>\n<ul>\n<li><strong>Multiple consumers of the same event<\/strong>. A purchase order triggers: inventory update, email send, analytics record, fraud check. Each separately.<\/li>\n<li><strong>Naturally asynchronous processing<\/strong>. The user makes a request; the result takes minutes to compute. You accept the request, generate an event, and the client polls for result later.<\/li>\n<li><strong>Domain reacting to external changes<\/strong>. IoT, financial markets, online games \u2014 things happen continuously and you must react.<\/li>\n<li><strong>Intrinsic audit trail<\/strong>. If you save all events, you have the complete history of what happened and when, without designing it separately.<\/li>\n<li><strong>Autonomous teams with clear boundaries<\/strong>. Each team owns its events; others consume without asking permission.<\/li>\n<\/ul>\n<h2 id=\"when-it-doesnt-pay-off\">When It Doesn\u2019t Pay Off<\/h2>\n<p>EDA is often applied by default when something simpler would work better:<\/p>\n<ul>\n<li><strong>Linear workflow with few steps<\/strong>. If A \u2192 B \u2192 C \u2192 D and nobody else benefits, a synchronous call or traditional orchestration is simpler.<\/li>\n<li><strong>Need for immediate user response<\/strong>. EDA is naturally asynchronous; if your UI waits for result, you return to a request-response pattern over the broker.<\/li>\n<li><strong>Small team and early product<\/strong>. Operating complexity (broker, schemas, monitoring) doesn\u2019t amortise.<\/li>\n<li><strong>Strong consistency guarantees<\/strong>. EDA is eventually consistent. If you need strong transactional consistency, the pattern adds friction.<\/li>\n<\/ul>\n<h2 id=\"main-brokers\">Main Brokers<\/h2>\n<p>In 2023, the brokers most seen in production:<\/p>\n<ul>\n<li><strong><a href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a><\/strong>: king in high throughput and long persistence (days or weeks of retention). Distributed log model. Complex to operate but well understood.<\/li>\n<li><strong><a href=\"https:\/\/www.rabbitmq.com\/\">RabbitMQ<\/a><\/strong>: simpler, focus on flexible routing (exchanges, queues), not designed for event sourcing but excellent for traditional queues.<\/li>\n<li><strong><a href=\"https:\/\/nats.io\/\">NATS<\/a><\/strong>: very lightweight, high performance, suitable for microservices and edge. Persistent streams via JetStream.<\/li>\n<li><strong>AWS SNS\/SQS<\/strong>, <strong>Google Pub\/Sub<\/strong>, <strong>Azure Service Bus<\/strong>: managed options per your cloud.<\/li>\n<li><strong>Redis Streams<\/strong>: if you already use Redis, simple option for moderate volumes.<\/li>\n<\/ul>\n<p>Choice depends on expected throughput, required retention, and preference for managed vs self-host. For almost any serious new project, Kafka is the default if you expect scale.<\/p>\n<h2 id=\"patterns-that-matter\">Patterns That Matter<\/h2>\n<p>Four patterns that appear in serious EDA projects:<\/p>\n<h3 id=\"event-sourcing\">Event Sourcing<\/h3>\n<p>Instead of storing current entity state, you store the full sequence of events that modified them. Current state is rebuilt by replaying events. Allows perfect auditing and \u201ctime travel\u201d but complicates queries and schema migration.<\/p>\n<h3 id=\"cqrs-command-query-responsibility-segregation\">CQRS (Command Query Responsibility Segregation)<\/h3>\n<p>You separate the write model (commands) from the read model (queries). After a command, read models update asynchronously via events. You optimise each side independently.<\/p>\n<p>Often appears alongside Event Sourcing but they\u2019re orthogonal \u2014 you can do CQRS without event sourcing and vice versa.<\/p>\n<h3 id=\"saga\">Saga<\/h3>\n<p>For distributed transactions crossing multiple services without XA\/2PC. The saga is a sequence of steps where each step publishes an event; if a step fails, <strong>compensating actions<\/strong> execute that reverse previous ones.<\/p>\n<p>Two variants: <strong>choreography<\/strong> (each service reacts to events without coordinator) and <strong>orchestration<\/strong> (a central orchestrator guides the saga). Choreography is more decoupled; orchestration is easier to reason about.<\/p>\n<h3 id=\"outbox-pattern\">Outbox Pattern<\/h3>\n<p>To guarantee atomicity between writing to your DB and publishing an event. You write the event to an <code>outbox<\/code> table in the same transaction as the state change. A separate process reads from outbox and publishes to the broker. Solves the \u201cI published but the DB failed\u201d problem or vice versa.<\/p>\n<h2 id=\"problems-eda-introduces\">Problems EDA Introduces<\/h2>\n<p>Honesty: EDA isn\u2019t just upsides. Real problems that appear:<\/p>\n<ul>\n<li><strong>Difficult debugging<\/strong>. A user request triggers a cascade of events through N services. Without serious distributed tracing (OpenTelemetry, Jaeger), debugging is a nightmare.<\/li>\n<li><strong>Eventual consistency<\/strong>. The user makes an action and \u201csees\u201d it seconds or minutes later. UX and communication must reflect this.<\/li>\n<li><strong>Schema management<\/strong>. Evolving events, consumers with different versions, backward compatibility. Without discipline (Avro, Protobuf, JSON Schema in a schema registry), it all breaks.<\/li>\n<li><strong>Event duplication<\/strong>. Brokers offer \u201cat least once\u201d, not \u201cexactly once\u201d. Your consumers must be idempotent.<\/li>\n<li><strong>Broker operations<\/strong>. Kafka cluster is a serious system to operate. Backups, monitoring, capacity planning \u2014 all new work.<\/li>\n<li><strong>Cognitive cost<\/strong>. The way to reason is different. Longer onboarding for new devs.<\/li>\n<\/ul>\n<h2 id=\"how-to-start-gradually\">How to Start Gradually<\/h2>\n<p>If you decide EDA is for you, gradual adoption reduces risk:<\/p>\n<ol type=\"1\">\n<li><strong>Identify an obvious case<\/strong> where multiple systems react to the same event (typically: purchase order, user registration, audit event).<\/li>\n<li><strong>Start with a simple broker<\/strong> (RabbitMQ, NATS) if volumes allow. Kafka if you expect scale from the start.<\/li>\n<li><strong>A single producer, a single consumer<\/strong> initially. Add more when the pattern is tamed.<\/li>\n<li><strong>Schema registry from the first event<\/strong> \u2014 don\u2019t improvise with JSON without contract.<\/li>\n<li><strong>Distributed tracing<\/strong> from day one. Without it, debugging will be unbearable later.<\/li>\n<\/ol>\n<h2 id=\"conclusion\">Conclusion<\/h2>\n<p>Event-driven architecture is a powerful tool for concrete problems: service decoupling, multiple consumers, naturally asynchronous processing. But it\u2019s not a free upgrade \u2014 it introduces new operational, cognitive, and consistency problems worth recognising before adopting. Applied with judgment in the right places, it improves architectures. Applied dogmatically, it complicates them unnecessarily.<\/p>\n<p>Follow us on jacar.es for more on distributed architecture, event brokers, and modern patterns.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Event-driven architecture decouples services and improves resilience. When it adds real value, which patterns work, and which new problems it brings.<\/p>\n","protected":false},"author":1,"featured_media":484,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[27],"tags":[116,272,270,112,111,271],"class_list":["post-483","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-arquitectura","tag-arquitectura","tag-cqrs","tag-event-driven","tag-kafka","tag-rabbitmq","tag-saga"],"translation":{"provider":"WPGlobus","version":"3.0.2","language":"en","enabled_languages":["es","en"],"languages":{"es":{"title":true,"content":true,"excerpt":true},"en":{"title":true,"content":true,"excerpt":true}}},"gutentor_comment":0,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v27.4 - https:\/\/yoast.com\/product\/yoast-seo-wordpress\/ -->\n<title>Event-Driven Architecture: When and How to Adopt It - Jacar<\/title>\n<meta name=\"description\" content=\"Event-driven architecture: advantages, patterns (event sourcing, CQRS, saga), common brokers, and when not to complicate the system.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/jacar.es\/event-driven-arquitectura\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Event-Driven Architecture: When and How to Adopt It - Jacar\" \/>\n<meta property=\"og:description\" content=\"Event-driven architecture: advantages, patterns (event sourcing, CQRS, saga), common brokers, and when not to complicate the system.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/jacar.es\/event-driven-arquitectura\/\" \/>\n<meta property=\"og:site_name\" content=\"Jacar\" \/>\n<meta property=\"article:published_time\" content=\"2023-11-28T10:00:00+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png\" \/>\n\t<meta property=\"og:image:width\" content=\"252\" \/>\n\t<meta property=\"og:image:height\" content=\"229\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"author\" content=\"javi\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"javi\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\\\/\\\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#article\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/\"},\"author\":{\"name\":\"javi\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\"},\"headline\":\"Event-Driven Architecture: When and How to Adopt It\",\"datePublished\":\"2023-11-28T10:00:00+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/\"},\"wordCount\":2006,\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19234351\\\/jwp-1294106-1728.jpg\",\"keywords\":[\"arquitectura\",\"cqrs\",\"event driven\",\"kafka\",\"rabbitmq\",\"saga\"],\"articleSection\":[\"Arquitectura\"],\"inLanguage\":\"en-US\"},{\"@type\":[\"WebPage\",\"ItemPage\"],\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/\",\"name\":\"Event-Driven Architecture: When and How to Adopt It - Jacar\",\"isPartOf\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#primaryimage\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#primaryimage\"},\"thumbnailUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19234351\\\/jwp-1294106-1728.jpg\",\"datePublished\":\"2023-11-28T10:00:00+00:00\",\"description\":\"Event-driven architecture: advantages, patterns (event sourcing, CQRS, saga), common brokers, and when not to complicate the system.\",\"breadcrumb\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#primaryimage\",\"url\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19234351\\\/jwp-1294106-1728.jpg\",\"contentUrl\":\"https:\\\/\\\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\\\/wp-content\\\/uploads\\\/2023\\\/11\\\/19234351\\\/jwp-1294106-1728.jpg\",\"width\":1200,\"height\":960,\"caption\":\"Diagrama de flechas conectando nodos representando eventos en cadena\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\\\/\\\/jacar.es\\\/event-driven-arquitectura\\\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Portada\",\"item\":\"https:\\\/\\\/jacar.es\\\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Arquitectura orientada a eventos: cuando y como adoptarla\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#website\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"name\":\"Jacar\",\"description\":\"Passion for Technology\",\"publisher\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\\\/\\\/jacar.es\\\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#organization\",\"name\":\"Jacar\",\"url\":\"https:\\\/\\\/jacar.es\\\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\",\"url\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"contentUrl\":\"https:\\\/\\\/jacar.es\\\/wp-content\\\/uploads\\\/2020\\\/09\\\/favicon.png\",\"width\":252,\"height\":229,\"caption\":\"Jacar\"},\"image\":{\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/logo\\\/image\\\/\"},\"sameAs\":[\"https:\\\/\\\/www.linkedin.com\\\/in\\\/javiercanetearroyo\\\/\"]},{\"@type\":\"Person\",\"@id\":\"https:\\\/\\\/jacar.es\\\/#\\\/schema\\\/person\\\/54a7f7b4224b38fafc9866eb3e614208\",\"name\":\"javi\",\"sameAs\":[\"https:\\\/\\\/jacar.es\"],\"url\":\"https:\\\/\\\/jacar.es\\\/en\\\/author\\\/javi\\\/\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"Event-Driven Architecture: When and How to Adopt It - Jacar","description":"Event-driven architecture: advantages, patterns (event sourcing, CQRS, saga), common brokers, and when not to complicate the system.","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:\/\/jacar.es\/event-driven-arquitectura\/","og_locale":"en_US","og_type":"article","og_title":"Event-Driven Architecture: When and How to Adopt It - Jacar","og_description":"Event-driven architecture: advantages, patterns (event sourcing, CQRS, saga), common brokers, and when not to complicate the system.","og_url":"https:\/\/jacar.es\/event-driven-arquitectura\/","og_site_name":"Jacar","article_published_time":"2023-11-28T10:00:00+00:00","og_image":[{"width":252,"height":229,"url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2020\/09\/favicon.png","type":"image\/png"}],"author":"javi","twitter_card":"summary_large_image","twitter_misc":{"Written by":"javi","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#article","isPartOf":{"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/"},"author":{"name":"javi","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208"},"headline":"Event-Driven Architecture: When and How to Adopt It","datePublished":"2023-11-28T10:00:00+00:00","mainEntityOfPage":{"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/"},"wordCount":2006,"publisher":{"@id":"https:\/\/jacar.es\/#organization"},"image":{"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19234351\/jwp-1294106-1728.jpg","keywords":["arquitectura","cqrs","event driven","kafka","rabbitmq","saga"],"articleSection":["Arquitectura"],"inLanguage":"en-US"},{"@type":["WebPage","ItemPage"],"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/","url":"https:\/\/jacar.es\/event-driven-arquitectura\/","name":"Event-Driven Architecture: When and How to Adopt It - Jacar","isPartOf":{"@id":"https:\/\/jacar.es\/#website"},"primaryImageOfPage":{"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#primaryimage"},"image":{"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#primaryimage"},"thumbnailUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19234351\/jwp-1294106-1728.jpg","datePublished":"2023-11-28T10:00:00+00:00","description":"Event-driven architecture: advantages, patterns (event sourcing, CQRS, saga), common brokers, and when not to complicate the system.","breadcrumb":{"@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/jacar.es\/event-driven-arquitectura\/"]}]},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#primaryimage","url":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19234351\/jwp-1294106-1728.jpg","contentUrl":"https:\/\/jcs-wp-jacar-es.fsn1.your-objectstorage.com\/wp-content\/uploads\/2023\/11\/19234351\/jwp-1294106-1728.jpg","width":1200,"height":960,"caption":"Diagrama de flechas conectando nodos representando eventos en cadena"},{"@type":"BreadcrumbList","@id":"https:\/\/jacar.es\/event-driven-arquitectura\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Portada","item":"https:\/\/jacar.es\/"},{"@type":"ListItem","position":2,"name":"Arquitectura orientada a eventos: cuando y como adoptarla"}]},{"@type":"WebSite","@id":"https:\/\/jacar.es\/#website","url":"https:\/\/jacar.es\/","name":"Jacar","description":"Passion for Technology","publisher":{"@id":"https:\/\/jacar.es\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/jacar.es\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/jacar.es\/#organization","name":"Jacar","url":"https:\/\/jacar.es\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/","url":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","contentUrl":"https:\/\/jacar.es\/wp-content\/uploads\/2020\/09\/favicon.png","width":252,"height":229,"caption":"Jacar"},"image":{"@id":"https:\/\/jacar.es\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.linkedin.com\/in\/javiercanetearroyo\/"]},{"@type":"Person","@id":"https:\/\/jacar.es\/#\/schema\/person\/54a7f7b4224b38fafc9866eb3e614208","name":"javi","sameAs":["https:\/\/jacar.es"],"url":"https:\/\/jacar.es\/en\/author\/javi\/"}]}},"_links":{"self":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/483","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/comments?post=483"}],"version-history":[{"count":0,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/posts\/483\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media\/484"}],"wp:attachment":[{"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/media?parent=483"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/categories?post=483"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/jacar.es\/en\/wp-json\/wp\/v2\/tags?post=483"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}