{"id":70614,"date":"2025-04-23T12:53:20","date_gmt":"2025-04-23T07:23:20","guid":{"rendered":"https:\/\/www.tothenew.com\/blog\/?p=70614"},"modified":"2025-11-26T13:40:36","modified_gmt":"2025-11-26T08:10:36","slug":"unlocking-the-power-of-kafka-a-beginners-guide-to-distributed-messaging","status":"publish","type":"post","link":"https:\/\/www.tothenew.com\/blog\/unlocking-the-power-of-kafka-a-beginners-guide-to-distributed-messaging\/","title":{"rendered":"Kafka: The Distributed Messaging System: That\u2019s Revolutionizing Real-Time Applications"},"content":{"rendered":"<p style=\"padding-left: 40px; text-align: left;\">Imagine you\u2019re managing a busy e-commerce website. Every time a customer places an order, it triggers several events: an email confirmation, a shipping update, a payment confirmation, and much more.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">From updating the inventory to sending a confirmation email and processing the payment, everything needs to happen instantly and in sync. But how do you make sure all these processes talk to each other, handle high traffic, and never fail even under pressure?<\/p>\n<h3 style=\"padding-left: 40px; text-align: left;\"><strong>How do these different services share data, and more importantly, how do they do it in a reliable way?<\/strong><\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">Direct communication, like API calls or database queries, works in some cases, but it quickly becomes a nightmare when:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"text-align: left;\">Your services are distributed across different servers or regions.<\/li>\n<li style=\"text-align: left;\">Your <a href=\"https:\/\/www.tothenew.com\/data-services\">data<\/a> is growing fast, and you need to keep things scalable.<\/li>\n<li style=\"text-align: left;\">You want to decouple different parts of the system so that one service\u2019s failure doesn\u2019t bring the whole system down.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"text-align: left;\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-70611 aligncenter\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/ServiceComplicated-1.png\" alt=\"Complicated Services\" width=\"765\" height=\"341\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/ServiceComplicated-1.png 951w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/ServiceComplicated-1-300x134.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/ServiceComplicated-1-768x342.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/ServiceComplicated-1-624x278.png 624w\" sizes=\"(max-width: 765px) 100vw, 765px\" \/><\/p>\n<h3 style=\"padding-left: 40px; text-align: left;\"><strong>Why Messaging Systems Matter ?<\/strong><\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">In any system, especially large-scale ones, the ability to decouple different services and allow them to communicate without direct dependencies is crucial. Traditional methods like direct API calls or database queries often create bottlenecks and make scaling difficult. A messaging system, on the other hand, acts as a buffer that allows different parts of the application to talk to each other asynchronously.<\/p>\n<p style=\"text-align: left;\"><img decoding=\"async\" loading=\"lazy\" class=\"wp-image-70612 aligncenter\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/Decoupling.png\" alt=\"Decoupling using Kafka\" width=\"923\" height=\"453\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/Decoupling.png 1151w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/Decoupling-300x147.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/Decoupling-1024x503.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/Decoupling-768x377.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/Decoupling-624x306.png 624w\" sizes=\"(max-width: 923px) 100vw, 923px\" \/><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul style=\"list-style-type: circle;\">\n<li style=\"text-align: left;\">Producer services send messages about events (like an order placed, or a payment processed).<\/li>\n<li style=\"text-align: left;\">Consumer services pick up and react to these messages in their own time, whether it\u2019s sending an email confirmation or updating inventory.<\/li>\n<li style=\"text-align: left;\">This ensures that the services don\u2019t have to wait for each other to finish tasks and can work in parallel, improving the overall performance and reliability of the system.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h2 style=\"text-align: left;\"><\/h2>\n<h1 style=\"padding-left: 40px; text-align: left;\">Kafka: The Distributed Messaging System That\u2019s Revolutionizing Real-Time Applications<\/h1>\n<p style=\"padding-left: 40px; text-align: left;\">Okay, so we know why messaging systems are important. But what makes Kafka so special? Kafka is a distributed event streaming platform. It\u2019s designed to handle huge volumes of real-time data. Unlike traditional messaging systems, Kafka is built to scale and is fault-tolerant, which makes it perfect for today\u2019s big data-driven applications.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">Here\u2019s why Kafka is a game-changer:<\/p>\n<p style=\"padding-left: 40px; text-align: left;\"><strong>Scalability<\/strong>: Kafka is designed to handle millions (yes, millions!) of events per second. So if your application needs to scale, Kafka can easily handle it.<br \/>\n<strong>Fault Tolerance<\/strong>: Kafka replicates your data across multiple servers, so even if one server goes down, your data is still safe.<br \/>\n<strong>Real-Time Data Processing<\/strong>: Kafka lets you process data as it\u2019s generated, so applications can react immediately to events, whether that\u2019s sending an alert or triggering another action.<\/p>\n<p><img decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-70792\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/FaultSafe.png\" alt=\"Diagram Description: A cluster of Kafka brokers (multiple servers), each containing a partition of a topic. Arrows show replication between brokers to ensure fault tolerance and scalability\" width=\"559\" height=\"271\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/FaultSafe.png 559w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/FaultSafe-300x145.png 300w\" sizes=\"(max-width: 559px) 100vw, 559px\" \/><\/p>\n<h3 style=\"padding-left: 40px; text-align: left;\">Let\u2019s Break Down the Basic Kafka Terms<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">Now that we know what Kafka is and why it&#8217;s useful, let\u2019s get into some of the basic terms. I\u2019ll keep it simple!<\/p>\n<h3 style=\"padding-left: 40px; text-align: left;\"><strong>Zookeeper<\/strong><\/h3>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul style=\"list-style-type: circle;\">\n<li>Role: Zookeeper is a distributed coordination service. It&#8217;s used to maintain and coordinate the state of a system across multiple nodes.<br \/>\nFunctionality: In systems like Kafka, Zookeeper helps with tasks like managing metadata, handling leader election, keeping track of which broker is responsible for a partition, and more.<\/li>\n<li>Cluster Management: Zookeeper ensures that all the nodes (brokers) in the cluster are aware of each other and synchronized.<\/li>\n<li>Fault Tolerance: If a node (broker) goes down, Zookeeper helps manage failover, ensuring another broker takes over the responsibilities, and the system stays consistent.<\/li>\n<li>Persistent Data Storage: Zookeeper stores small amounts of critical configuration data or metadata. It is not intended for storing large amounts of data, like messages or logs.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 style=\"padding-left: 40px; text-align: left;\">1. Brokers<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">In Kafka, brokers are the servers that manage and store the messages. When a producer (we\u2019ll get to that next) sends a message, it gets stored in a broker. Kafka is usually set up with multiple brokers to ensure that if one fails, others can pick up the slack.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">Think of brokers like the workers at a post office \u2014 they take the messages, store them, and make sure they\u2019re delivered to the right place<\/p>\n<div id=\"attachment_70793\" style=\"width: 793px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70793\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-70793\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/brokerZookeeper.png\" alt=\"Multiple brokers in a Kafka cluster. \" width=\"783\" height=\"349\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/brokerZookeeper.png 1050w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/brokerZookeeper-300x134.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/brokerZookeeper-1024x456.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/brokerZookeeper-768x342.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/brokerZookeeper-624x278.png 624w\" sizes=\"(max-width: 783px) 100vw, 783px\" \/><p id=\"caption-attachment-70793\" class=\"wp-caption-text\">Multiple brokers in a Kafka cluster.<\/p><\/div>\n<p style=\"padding-left: 40px; text-align: left;\"><strong>Broker Leader (in Kafka)<\/strong><\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul style=\"list-style-type: circle;\">\n<li>Role: A broker leader in Kafka refers to the single broker that is responsible for managing all read and write requests for a particular partition of a topic. Each partition has one leader broker, and other brokers replicate the data as followers.<\/li>\n<li>Functionality: The leader broker handles all reads and writes to a partition. When producers or consumers interact with Kafka, they communicate with the leader of the partition they are interested in.<\/li>\n<li>Cluster Management: The broker leader&#8217;s role is critical for data consistency. If the leader fails, a new leader is elected, usually by Zookeeper in the case of Kafka, ensuring the system remains available.<\/li>\n<li>Failover: If a leader broker goes down, Zookeeper is responsible for electing a new leader from the available followers.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px; text-align: left;\"><strong>Key Differences<\/strong>:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Purpose: Zookeeper is a coordination service, while the broker leader is a component of Kafka that handles data for a specific partition.<\/li>\n<li>Scope: Zookeeper manages the overall coordination of the Kafka cluster, including leader election, while a broker leader manages the operations of a partition (writes\/reads).<\/li>\n<li>Failure Recovery: Zookeeper helps in detecting failure and leader election, whereas the broker leader is a dynamic role that may change when failures occur.<br \/>\nIn Kafka, Zookeeper manages and coordinates tasks like leader election for brokers, while a broker leader is the actual node that performs the work of handling requests for a partition.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<h3 style=\"padding-left: 40px; text-align: left;\">2. Topics<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">A topic in Kafka is like a channel or a category. Producers send messages to specific topics, and consumers (the services reading the data) subscribe to those topics. You can think of topics as the &#8220;folders&#8221; where messages get organized.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">For example, if you have an e-commerce platform, you might have a topic called orders where all new orders are sent. Another topic could be payments for tracking payments.<\/p>\n<div id=\"attachment_70794\" style=\"width: 786px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70794\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-70794\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker.png\" alt=\"Topic\" width=\"776\" height=\"405\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker.png 1999w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker-300x157.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker-1024x534.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker-768x401.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker-1536x801.png 1536w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/KafkaBroker-624x326.png 624w\" sizes=\"(max-width: 776px) 100vw, 776px\" \/><p id=\"caption-attachment-70794\" class=\"wp-caption-text\">Topic<\/p><\/div>\n<h3 style=\"padding-left: 40px; text-align: left;\">3. Partitions<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">Kafka helps you scale by breaking topics into smaller partitions. Each partition is like a mini topic within the larger topic, and it can be stored on a different broker. This allows Kafka to handle tons of messages at once.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">Imagine you\u2019re running a huge social media platform. You could have millions of users posting photos or comments every second. Kafka makes sure these messages are spread across multiple partitions, so no single broker gets overwhelmed.<\/p>\n<div id=\"attachment_70796\" style=\"width: 532px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70796\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-70796\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/Partition.png\" alt=\"Partition\" width=\"522\" height=\"314\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/Partition.png 522w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/Partition-300x180.png 300w\" sizes=\"(max-width: 522px) 100vw, 522px\" \/><p id=\"caption-attachment-70796\" class=\"wp-caption-text\">Partition<\/p><\/div>\n<h3 style=\"padding-left: 40px; text-align: left;\">4. Offsets<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">Here\u2019s where it gets interesting. Kafka keeps track of which messages consumers have already read using offsets. An offset is simply a number that represents a position in the topic&#8217;s partition.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">Let\u2019s say your consumer has read 100 messages from a partition. Kafka will remember that and assign an offset to that consumer. If the consumer crashes or stops for any reason, it can resume reading from that exact point using the offset.<\/p>\n<div id=\"attachment_70795\" style=\"width: 720px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70795\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-70795\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/partition.png\" alt=\"partition\" width=\"710\" height=\"186\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/partition.png 1000w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/partition-300x79.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/partition-768x201.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/partition-624x163.png 624w\" sizes=\"(max-width: 710px) 100vw, 710px\" \/><p id=\"caption-attachment-70795\" class=\"wp-caption-text\">offsets<\/p><\/div>\n<h3 style=\"padding-left: 40px; text-align: left;\">5. Producers<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">Producers are the services or applications that send messages to Kafka. A producer might be an order service in an e-commerce platform that sends order data to the orders topic. They &#8220;produce&#8221; data that needs to be consumed by other services.<\/p>\n<h3 style=\"padding-left: 40px; text-align: left;\">6. Consumers<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">Consumers are the ones that read messages from Kafka topics. In a microservices architecture, a consumer could be a service that listens for new orders in the orders topic and processes them. Kafka allows consumers to read messages in parallel, which makes it super fast and efficient.<\/p>\n<div id=\"attachment_70797\" style=\"width: 763px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70797\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-70797\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/GPS_Kafka.png\" alt=\"Consumer\" width=\"753\" height=\"180\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/GPS_Kafka.png 1330w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/GPS_Kafka-300x72.png 300w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/GPS_Kafka-1024x245.png 1024w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/GPS_Kafka-768x184.png 768w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/GPS_Kafka-624x149.png 624w\" sizes=\"(max-width: 753px) 100vw, 753px\" \/><p id=\"caption-attachment-70797\" class=\"wp-caption-text\">Consumer<\/p><\/div>\n<h3 style=\"padding-left: 40px; text-align: left;\">7. Consumer Groups<\/h3>\n<p style=\"padding-left: 40px; text-align: left;\">If you have multiple consumers reading from the same topic, they can join a consumer group. Each consumer in the group will get a portion of the messages, which helps balance the load and ensures that messages aren\u2019t read multiple times. So, if you have a team of services processing orders, each service might pick up a different order message without stepping on each other&#8217;s toes.<\/p>\n<div id=\"attachment_70800\" style=\"width: 441px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70800\" decoding=\"async\" loading=\"lazy\" class=\"size-full wp-image-70800\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/ConsumerGroup.png\" alt=\"ConsumerGroup\" width=\"431\" height=\"382\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/ConsumerGroup.png 431w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/ConsumerGroup-300x266.png 300w\" sizes=\"(max-width: 431px) 100vw, 431px\" \/><p id=\"caption-attachment-70800\" class=\"wp-caption-text\">Consumer Group<\/p><\/div>\n<div id=\"attachment_70801\" style=\"width: 392px\" class=\"wp-caption aligncenter\"><img aria-describedby=\"caption-attachment-70801\" decoding=\"async\" loading=\"lazy\" class=\" wp-image-70801\" src=\"https:\/\/www.tothenew.com\/blog\/wp-ttn-blog\/uploads\/2025\/03\/ConsumerGroup1.png\" alt=\"Consumer Group Offset\" width=\"382\" height=\"198\" srcset=\"\/blog\/wp-ttn-blog\/uploads\/2025\/03\/ConsumerGroup1.png 340w, \/blog\/wp-ttn-blog\/uploads\/2025\/03\/ConsumerGroup1-300x155.png 300w\" sizes=\"(max-width: 382px) 100vw, 382px\" \/><p id=\"caption-attachment-70801\" class=\"wp-caption-text\">Consumer Group Offset<\/p><\/div>\n<h2 style=\"padding-left: 40px; text-align: left;\">Kafka in Real-Life Applications<\/h2>\n<p style=\"padding-left: 40px; text-align: left;\">Now that we know the basics, let\u2019s talk about why Kafka is such a big deal in the real world. Many large companies use Kafka because it allows them to process huge amounts of real-time data quickly and reliably.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">For example:<\/p>\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li style=\"list-style-type: none;\">\n<ul>\n<li>Netflix uses Kafka to process user activity and deliver personalized recommendations in real time.<\/li>\n<li>Uber uses Kafka to track trips, handle payments, and update drivers\u2019 statuses as they move around the city.<\/li>\n<li>LinkedIn uses Kafka for logging, metrics, and even to power their real-time recommendation engine.<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<\/li>\n<\/ul>\n<p style=\"padding-left: 40px; text-align: left;\">Kafka allows these systems to scale easily while keeping things running smoothly without any bottlenecks.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\"><strong>FINAL THOUGHTS<\/strong><\/p>\n<p style=\"padding-left: 40px; text-align: left;\">Kafka is a powerful tool that helps applications handle massive streams of data in real-time.<\/p>\n<p style=\"padding-left: 40px; text-align: left;\">Kafka is more than just a messaging system, it\u2019s a distributed, fault-tolerant platform that keeps your data flowing smoothly, no matter how big or complex your application gets, if you\u2019re building scalable, data-driven apps.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Imagine you\u2019re managing a busy e-commerce website. Every time a customer places an order, it triggers several events: an email confirmation, a shipping update, a payment confirmation, and much more. From updating the inventory to sending a confirmation email and processing the payment, everything needs to happen instantly and in sync. But how do you [&hellip;]<\/p>\n","protected":false},"author":1967,"featured_media":0,"comment_status":"open","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"iawp_total_views":10},"categories":[446],"tags":[5550,1604,7171],"aioseo_notices":[],"_links":{"self":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/70614"}],"collection":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/users\/1967"}],"replies":[{"embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/comments?post=70614"}],"version-history":[{"count":13,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/70614\/revisions"}],"predecessor-version":[{"id":76901,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/posts\/70614\/revisions\/76901"}],"wp:attachment":[{"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/media?parent=70614"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/categories?post=70614"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.tothenew.com\/blog\/wp-json\/wp\/v2\/tags?post=70614"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}