{"id":2374,"date":"2023-06-27T11:16:21","date_gmt":"2023-06-27T11:16:21","guid":{"rendered":"https:\/\/www.workfall.com\/learning\/blog\/?p=2374"},"modified":"2025-09-17T03:46:52","modified_gmt":"2025-09-17T03:46:52","slug":"how-to-use-kafka-for-event-streaming-in-a-microservices-architecture","status":"publish","type":"post","link":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/","title":{"rendered":"How to Use Kafka for Event Streaming in a Microservices Architecture?"},"content":{"rendered":"<span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span>\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/KUcoCSfx0eSnWzMxQJmRHp8Dc-p-9kBDCNYdye3bLYNXBMQqaqtfjuNfcEHUjiCy5pvk-DIfvKDzqeirX06CiZwohs037sm3aHcKj-deG9X3eOUnnelQkSMfciKOqh9Atf2Ik75T5O7MgPpXM-sqdgs\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">The world of creating real-time applications can get complex when we have to consider latency, fault tolerance, scalability, and possible data losses. Traditionally, web sockets were the go-to option when it came to real-time applications, but think of a situation whereby there\u2019s server downtime. It means that there is a high risk of data loss but Apache Kafka solves this because it is distributed and can easily scale horizontally and other servers can take over the workload seamlessly.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">In this blog, we\u2019ll explore how to harness the power of Kafka to streamline event streaming within a microservices architecture and unlock its full potential for building scalable and responsive systems. Let\u2019s get started! \ud83d\ude80<\/p>\n\n\n\n<p>In this blog, we will cover:<\/p>\n\n\n\n<ul><li>Apache Kafka<ul><li>Powerful Features of Apache Kafka<\/li><li>5 Key Apache Kafka Use Cases in 2023<\/li><li>Apache Kafka in Microservices<\/li><\/ul><\/li><li>Hands-on<\/li><li>Conclusion<\/li><\/ul>\n\n\n\n<h2>Apache Kafka<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">Apache Kafka is a distributed data stream platform that aims at having unified, high-throughput data pipelines. It offers a unified solution to real-time data needs any organisation might have. Think about it this way, traditionally, all the data needs were being handled by the backend server. So if a user requests a piece of information, the request goes to the Database server.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Let\u2019s assume that there are many users using the system simultaneously, you will realize that due to latency some users may get different results depending on how fast the server will process the request and relay back the response.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">A good real-world example will be a taxi app. We want to always have unified data which is broadcasted to all the client applications simultaneously without any latency. This is where Apache Kafka comes in.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Another good application is in payment platforms. Since messages are not lost in <a href=\"https:\/\/kafka.apache.org\/\">Apache Kafka<\/a> in the event a payment server goes down or experiences latency, things like payment requests(messages) will not fail, they will simply be resumed at a later time.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Last but not least it can be well applied in a microservices architecture whereby the microservices are decoupled; which will be handled in this blog. Kafka can also be used to stream data from <a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-connect-a-device-to-the-amazon-iot-core-service-and-watch-it-send-mqtt-messages\/\">IoT<\/a> devices or sensors.<\/p>\n\n\n\n<h3>Powerful Features of Apache Kafka<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/s983Xjoc3XV2SOjcs-DfKnGohrxTkI92dV1zMzLLYAy_7oEhxacBSGrkG36qRzSNFo6_7qIteAT-z7X8c6wG0RuzVnkFoHuGtvyUGmMCuSG4IR6iT4SEMtzvsBhBCNnnYE2ZB6X4UnhE_nI2vBrNb1M\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Apache Kafka, a widely used open-source stream-processing platform, offers an array of powerful features that contribute to its popularity. It boasts high throughput, low latency, and fault tolerance. Let&#8217;s explore some of its key capabilities:<\/p>\n\n\n\n<ul><li><strong>Fault-Tolerant &amp; Durable:<\/strong> Kafka ensures data protection and resilience by distributing partitions and replicating data across multiple servers. In the event of server failure, Kafka can autonomously restart itself, ensuring uninterrupted data flow.<\/li><\/ul>\n\n\n\n<ul><li><strong>Highly Scalable with Low Latency:<\/strong> Leveraging a partitioned log model, Kafka efficiently distributes data across multiple servers, enabling seamless scalability beyond the limitations of a single server. By separating data streams, Kafka achieves low latency and high throughput.<\/li><\/ul>\n\n\n\n<ul><li><strong>Robust Integrations:<\/strong> Kafka offers extensive support for third-party integrations and provides a range of APIs. This flexibility empowers users to effortlessly incorporate additional features and seamlessly integrate Kafka with popular services like Amazon Redshift, Cassandra, and Spark.<\/li><\/ul>\n\n\n\n<ul><li><strong>Detailed Analysis:<\/strong> Kafka is widely adopted for real-time operational data tracking. It enables the collection of data from diverse platforms in real-time, organizing it into consolidated feeds while providing comprehensive metrics for monitoring.&nbsp;<\/li><\/ul>\n\n\n\n<h3>5 Key Apache Kafka Use Cases in 2023<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/FYMd-0U3gTF31quCc2JosJSh9CZUyCKi9yYdjLGFsaPJ28nc3gWLRFR7e23qnDVJr7q6t_b7ShxgiyQnmy0f9T2zG-YQ0TEGiUuDV39wjRMO_FrL-7X_3mJO29iQI1HcsUYGC7FAj2Y-4yHU0F2BLzM\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p class=\"has-text-align-justify\">Apache Kafka has emerged as the go-to solution for managing streaming data, earning its reputation as the ultimate guardian of real-time data streams. As a distributed data storage system, Kafka has been meticulously optimized to handle the continuous flow of streaming data generated by numerous sources.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">But what exactly can Kafka do, and in what scenarios should it be employed? Let&#8217;s delve into the details and explore the top five use cases where Apache Kafka shines the brightest.<\/p>\n\n\n\n<ul><li><strong>Real-Time Data Streaming and Processing:<\/strong> Apache Kafka is widely used for real-time data streaming and processing. It excels in scenarios where large volumes of data need to be ingested, processed, and analyzed in real-time, such as real-time analytics, fraud detection, and monitoring systems.<\/li><\/ul>\n\n\n\n<ul><li><strong>Event-Driven Architectures: <\/strong>Kafka is a natural fit for building event-driven architectures. It serves as a central event hub, allowing different microservices or applications to publish and subscribe to events, enabling loose coupling, scalability, and asynchronous communication.<\/li><\/ul>\n\n\n\n<ul><li><strong>Log Aggregation and Analytics: <\/strong>Kafka&#8217;s durable and fault-tolerant design makes it an excellent choice for log aggregation. It can efficiently collect logs from various sources, consolidate them, and provide real-time analytics and monitoring capabilities, making it valuable for operational intelligence and troubleshooting.<\/li><\/ul>\n\n\n\n<ul><li><strong>Messaging Systems and Queuing: <\/strong>Kafka can be used as a messaging system to enable reliable and scalable communication between different components of a distributed system. It provides persistent message storage and supports pub\/sub and queuing patterns, making it a versatile choice for building robust and scalable messaging systems.<\/li><\/ul>\n\n\n\n<ul><li><strong>Commit Logs and Stream Processing: <\/strong>Kafka&#8217;s log-based storage and replayability make it ideal for stream processing use cases. It enables real-time data processing, transformation, and analysis by integrating with stream processing frameworks like Apache Spark, Apache Flink, or Kafka Streams, making it a powerful tool for building data pipelines and real-time analytics applications.<\/li><\/ul>\n\n\n\n<h3>Apache Kafka in Microservices<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">Apache Kafka is an excellent choice for decoupled microservices architecture. The microservices do not require any knowledge of each other and this may eliminate the need for any integration tests. Generally, since Apache Kafka is fault-tolerant, your microservices will inherit that attribute as well.<\/p>\n\n\n\n<h2>Hands-On<\/h2>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/TRJHp4YeLrWapEDt1kFrgjTyOoDiTyXuuO9dp0hydwwM0FS-ily57YWyGvzw7SoKGB8qkVrVFR75jNcOv-iI7wXR31RZW55v_qsLl4aXnieSdCXJsOTpyleVCOGjpzV-BwG5YqXvfncc-L-WsiCRjVs\" alt=\"\"\/><\/figure>\n\n\n\n<p>The code used in this blog is found at <a href=\"https:\/\/github.com\/workfall\/nest-microservices\/tree\/v2.0.0\">https:\/\/github.com\/workfall\/nest-microservices\/tree\/v2.0.0<\/a>&nbsp;<\/p>\n\n\n\n<h3>Folder Structure<\/h3>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/vgMITAV2ewoG9XFJFQEQz6tEDA2c_JYIxbI_R8tesvM0ed4WhTRf0yDutqq3Pg-Muqr72feOwLTDz8LvwO36BRe1chu5CGusnRNYiY07T8CSFDOw3C6-qsrd0Wrm335E3kNLce_yeuooc04OR8MztSY\" alt=\"\"\/><\/figure>\n\n\n\n<h3>Installations and Scripts<\/h3>\n\n\n\n<p><code>package.json:<\/code><\/p>\n\n\n\n<p>Edit the <em>start:prod<\/em> script to appear as shown and also install the dependencies listed in this <em>package.json<\/em> file.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/nz5q0OEk3U0yUeG889bOHgIUwUN29_TAFaWg1ErSBOxUbay1VzuvpIQowZPTawJWGgFmg4c9deuJByzZDyjMc5LgcExOHEc1t3K3Ld4psGpnq9maXR6I1hlv9BV2LF2wYdRMZr7P1GX38-bglq-nTUs\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<h3>Microservices<\/h3>\n\n\n\n<p>We shall use a monorepo version control for our microservices.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/gNDT9ebpa8HqlQned3m6k6ebmgQIrn9esYRrhBqDGAh8Yednwv1QPkjSLrJsYFLdcgsi9zAHvf0cToyR2PsZOWZoMTbB_Z01HYp0yC3k4gktBFCrPcisU-iAg3smglU6yaHxBb5PbWlB_ZQhH7eHUx4\" alt=\"\"\/><\/figure>\n\n\n\n<p>The <strong><em>main.ts<\/em><\/strong> file which bootstraps the microservices will appear to be tweaked to appear as shown below:<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/nkTx-922wT1TIxnWonDgty6khW1j0oW5qU-mLUL7nkzi7g7RTBwiEW_zUcPAQWuIY4UwNQPwzz2XqfRJI9mSKJkkjyDsSS32FPYyR_OsoWHS9mdU4wlbtrvHBDJXUeT8vzfrs2tq4q2YNnZVjDqdGxo\" alt=\"\"\/><\/figure>\n\n\n\n<p>We shall use Docker to containerize the application and because it will be a multi-container application, we shall use Docker compose to have all the applications in the same network.<\/p>\n\n\n\n<p><strong><em>Dockerfile:<\/em><\/strong><\/p>\n\n\n\n<p>We shall use a multi-stage build to reduce the final image size.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/J2vlua-YAXMdRXmuR64BA09_Yi8CN1w_JwgiLS7SsvLPWgKKOEiKrI8JlbqDrokV8E1_3N0Su4UBf0K-q3ngCpH7wXMB57EU7O5tfN3AVqlpE9Qfr-9BXNt4MsDPbJcEqMghBemDhL6n9XPhJuCk7q0\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p><code>docker-compose.yml(1):<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/HE9Zxfk3AsaXlSl35rcPus4ehJqBJ28Mr5YjrQTBMiMXmipu7YHEGlu7f38NOH-TMafq8xSaFLH0UZJEnfhue4Ugf4NYunKSVJi5N_pYOcb2cFE76-kVx7g9rtkkJg9dEsVOD0YNZiBDqjzRC6O0Lq4\" alt=\"\"\/><\/figure>\n\n\n\n<p><code>docker-compose.yml(2):<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh6.googleusercontent.com\/jybjHhai4XQNKHSf5Z14kEtOjNZH8ZPaRF0DW6BcijYuF4HzI7r2Ertz1TmyVnZsooIPnomPwV4IH-e5lbQy6p9o7guK-vSoeY1D6UqhwH2Ljm25P6RIvpivUaZjQmRt0hiPe-m3Jy3005Gs_Vw6E6E\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p><code>docker-compose.yml(3):<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/KLgxsbgZPWQWJYPENy0m4uRIO_E1NoHMBiMxzVriRCuAeBtgYe5vnvrjZNiY3P14tTbzF17bte1_PYNB399pJG72N9Fd9xftEDJoX0cbsjAJHPLD2JEQCBmBHA4aIeKU5s30KCQEcdSWGR1DItP5glc\" alt=\"\"\/><\/figure>\n\n\n\n<p><code>docker-compose.yml(4):<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/ir36CXlNuNzoDTZPYlhvVnJ9YgH9N0NOXTIPcQNCvm9abdPpn8VNT3INfmocVIIDLElMH4__Hj9WY8BlckJmvB6oVU-yDDbRjpECeYJl--Z6NVyhDO_emgb529t8yY1u7Ym2RIh-65NZxFg0gvc-_UI\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<h3>Kafka Service<\/h3>\n\n\n\n<p class=\"has-text-align-justify\">The major terms or keywords to note are producers, consumers, and topics. Topics are simply a way in which events are organized and classified.<\/p>\n\n\n\n<p><code>kafka.module.ts:<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/JLCbR33vCiJ9wFPWeNANR4Jm8LJmXYTKrVwt_4vErV04d1GjEDNa7Hcxjz7xB6rHXO4wB82xqxtlYQ67YZtPeL3D2Z41huR-SkheRgnFbhi6lSzkJ7ziC7VcxRz1JznnT9Y36H1N5Jqw8nHaI1BMUY0\" alt=\"\"\/><\/figure>\n\n\n\n<p><code>kafka.service.ts(1):<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/3JGhpw4fyT-xKjHAtjr8zdC1RsBnWG5ndvT-ogJa2zpGH_G0xP2Q5pfBqhx6hcmPZRGKaPOOkXhKKgqtGRBllbFvSP0ye7LGxnC5Uxj2-pE3vaR7Zdt_T0FdP9VDU4BuM3pT-gNWnN-6qNuHxdtcg9k\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p><code>kafka.service.ts(2):<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/ZKPkWVLe-nkMLXn2ztFevTO1D5hZjcLQlL5aTmXmDqb6AsG0JxuMXH3Kwz7gXvoRYJWkK5RDoJcOdBmdjHY63CZozhAWMPPzaqj3F50V-0SNeMrEpLDVQlO1_F7LhnWFYbUxWwFcsryBbK_nP9s99YQ\" alt=\"\"\/><\/figure>\n\n\n\n<p><code>kafka-service\/index.ts:<\/code><\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh4.googleusercontent.com\/zh0ANzpKV5xOSNcUt1gKU7xL2Z0xV42sRv_11XRcVB1U8XKfrY1IBtWEtIqEXkSfEPZL7WKrzdkpsteMWhJMF5v5TTEM3l6l0ghaipClSGquHtPJ-pqXEmIEHX4EE5IEz50p2raxEbnTWsPBBgXeyks\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<p><code>acl-service.controller.ts:<\/code><\/p>\n\n\n\n<p>We can publish to the topic by injecting the Kafka service into any controller that needs to publish an event.&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">In this example, we want every time a new user registers on the platform in the acl-service, a welcome email is sent out to the user from the test-service.&nbsp;<\/p>\n\n\n\n<p>This achieves much cleaner code because the concerns are separated because we purely rely on events.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh5.googleusercontent.com\/r4KjKVYrFSPJLAf5CjLgJ557Rynlimp0U_duM7ZO7BC3KB1S-2vxzfjltIEiYuKsDN3d_ov2hx9oLS9f3iEacZiUeXtlqtUKuyJdT9DjDf-GNZtpZ1NVxxxwKyh9AUoKHE6edNd27LkNWEJVLEZYTeI\" alt=\"\"\/><\/figure>\n\n\n\n<p><code>acl-service.module.ts:<\/code><\/p>\n\n\n\n<p>Kafka uses the TCP transport layer. We have to specify the broker which is a <a href=\"https:\/\/www.workfall.com\/learning\/blog\/reverse-proxy-mastery-deploying-a-full-stack-application-with-multi-container-docker-and-nginx\/\">docker container<\/a>.<\/p>\n\n\n\n<figure class=\"wp-block-image\"><img src=\"https:\/\/lh3.googleusercontent.com\/8cyBUUpd0L4NCjXCfD48DZDt69JMZ4LDrJSxT4j3jBKIc_-x2PPgw9KeeBxztUHN-wx_sCzz4wRx9r-_QkOO8gARyWT8J1PHJIAYUgvnOmSFUlzsGUqfhXb-PbwHTv0WiYbDeQEpCC23LH17OJLxTxU\" alt=\"Kafka for Event Streaming in a Microservices Architecture\"\/><\/figure>\n\n\n\n<h2>Conclusion<\/h2>\n\n\n\n<p class=\"has-text-align-justify\">In this blog, we demonstrated how we can introduce Kafka as a message broker into a microservices architecture. We also saw the basics of producers, consumers, and topics. A producer fires an event, events are organized into topics and a consumer subscribes to a topic.<\/p>\n\n\n\n<p class=\"has-text-align-justify\">Throughout our exploration, we discovered numerous scenarios where Kafka proves invaluable in achieving reliability, low latency, and fault tolerance. We will come up with more such use cases in our upcoming blogs.<\/p>\n\n\n\n<p><strong>Meanwhile\u2026<\/strong><\/p>\n\n\n\n<p class=\"has-text-align-justify\">If you are an aspiring Microservices enthusiast and want to explore more about the above topics, here are a few of our blogs for your reference:<\/p>\n\n\n\n<ul><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-deploy-nestjs-microservices\/\">How to Deploy NestJS Microservices to AWS Elastic Beanstalk?<\/a><\/li><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-architect-nestjs-microservices-with-aws-elastic-beanstalk\/\">Architect NestJS Microservices with AWS Elastic Beanstalk<\/a><\/li><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/orchestrate-queue-based-microservices-with-aws-step-functions-and-amazon-sqspart1\/\">How to orchestrate Queue-based Microservices with AWS Step Functions and Amazon SQS (Part 1)?<\/a><\/li><li><a href=\"https:\/\/www.workfall.com\/learning\/blog\/how-to-orchestrate-queue-based-microservices-with-aws-step-functions-and-amazon-sqs\/\">How to orchestrate Queue-based Microservices with AWS Step Functions and Amazon SQS?<\/a><\/li><\/ul>\n\n\n\n<p>Stay tuned to get all the updates about our upcoming blogs on the cloud and the latest technologies.<\/p>\n\n\n\n<p class=\"has-text-align-justify\"><strong>Keep Exploring -&gt; Keep Learning -&gt; Keep Mastering<\/strong>&nbsp;<\/p>\n\n\n\n<p class=\"has-text-align-justify\">At <a href=\"https:\/\/www.workfall.com\/\">Workfall<\/a>, we strive to provide the best tech and pay opportunities to kickass coders around the world. If you\u2019re looking to work with global clients, build cutting-edge products, and make big bucks doing so, give it a shot at <a href=\"https:\/\/www.workfall.com\/partner\/\">workfall.com\/partner<\/a> today!<\/p>\n\n\n<style type=\"text\/css\"><\/style><section id='' \n                class='helpie-faq accordions faq-toggle open-first groupSettings-494__enabled' \n                data-collection='' \n                data-pagination='0' \n                data-search='0' \n                data-pagination-enabled='0'\n                role='region'\n                aria-label='FAQ Section'\n                aria-live='polite'><h3 class=\"collection-title\">Frequently Asked Questions:<\/h3><article class=\"accordion \"><div class='helpie-faq-row'><div class='helpie-faq-col helpie-faq-col-12' ><ul><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-2750\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-2750\"\r\n                data-id=\"post-2750\" \r\n                data-item=\"hfaq-post-2750\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q: Why is Kafka favored over WebSockets for microservices event streaming?<\/div><\/div><div id=\"accordion-content-post-2750\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-2750\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\"><strong>A:<\/strong> Unlike WebSockets, Kafka is a distributed, fault-tolerant message platform that scales horizontally and handles downtime gracefully\u2014ensuring minimal data loss even when services fail.<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-2751\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-2751\"\r\n                data-id=\"post-2751\" \r\n                data-item=\"hfaq-post-2751\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q: What microservices scenario is used to illustrate Kafka's power?<\/div><\/div><div id=\"accordion-content-post-2751\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-2751\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\"><strong>A:\u00a0<\/strong> It uses a taxi app example\u2014where real-time updates from drivers and riders need to be synchronized across clients with low latency\u2014demonstrating Kafka\u2019s ability to serve timely, reliable data streams.<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-2752\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-2752\"\r\n                data-id=\"post-2752\" \r\n                data-item=\"hfaq-post-2752\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q: What sections can readers expect to explore in detail?<\/div><\/div><div id=\"accordion-content-post-2752\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-2752\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">The blog covers:<\/span><\/p>\n<ul>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">An overview of Apache Kafka<\/span><span style=\"font-weight: 400\">\n<p><\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Its standout features<\/span><span style=\"font-weight: 400\">\n<p><\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Top use cases (2023)<\/span><span style=\"font-weight: 400\">\n<p><\/span><\/li>\n<li style=\"font-weight: 400\"><span style=\"font-weight: 400\">Kafka\u2019s specific role within microservices architectures<\/span><span style=\"font-weight: 400\"><br \/>\n<\/span><\/li>\n<\/ul>\n<p><span style=\"font-weight: 400\">A hands-on section to apply the concepts<\/span><span style=\"font-weight: 400\"><br \/>\n<\/span><\/p>\n<\/div><\/li><li class=\"accordion__item \"><div class=\"accordion__header \" \r\n                id=\"accordion-header-post-2753\"\r\n                role=\"button\"\r\n                aria-expanded=\"false\"\r\n                aria-controls=\"accordion-content-post-2753\"\r\n                data-id=\"post-2753\" \r\n                data-item=\"hfaq-post-2753\" \r\n                style=\"background:transparent;\" \r\n                data-tags=\"\"\r\n                tabindex=\"0\"><div class=\"accordion__title\">Q: Who stands to gain the most from this Kafka tutorial?<\/div><\/div><div id=\"accordion-content-post-2753\" \r\n                class=\"accordion__body\" \r\n                role=\"region\"\r\n                aria-labelledby=\"accordion-header-post-2753\"\r\n                style=\"background:transparent;\"><p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span><span style=\"font-weight: 400\">\u00a0A: This is made especially for backend developers, architects, and microservices engineers keen on implementing event-driven workflows or scaling real-time systems efficiently.<\/span><\/p>\n<\/div><\/li><\/ul><\/div><\/div><\/article><\/section>\n","protected":false},"excerpt":{"rendered":"<p><span class=\"rt-reading-time\" style=\"display: block;\"><span class=\"rt-label rt-prefix\">Reading Time: <\/span> <span class=\"rt-time\">7<\/span> <span class=\"rt-label rt-postfix\">minutes<\/span><\/span> The world of creating real-time applications can get complex when we have to consider latency, fault tolerance, scalability, and possible data losses. Traditionally, web sockets were the go-to option when it came to real-time applications, but think of a situation whereby there\u2019s server downtime. It means that there is a high risk of data loss [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":2375,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"spay_email":""},"categories":[288],"tags":[434,372,436,435,425,6],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v19.1 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Use Kafka for Event Streaming in a Microservices Architecture? - The Workfall Blog<\/title>\n<meta name=\"description\" content=\"Tap into the capabilities of Kafka to streamline event streaming in microservices, for creating scalable and responsive systems.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Use Kafka for Event Streaming in a Microservices Architecture? - The Workfall Blog\" \/>\n<meta property=\"og:description\" content=\"Tap into the capabilities of Kafka to streamline event streaming in microservices, for creating scalable and responsive systems.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/\" \/>\n<meta property=\"og:site_name\" content=\"The Workfall Blog\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/facebook.com\/workfall\" \/>\n<meta property=\"article:published_time\" content=\"2023-06-27T11:16:21+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-09-17T03:46:52+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png\" \/>\n\t<meta property=\"og:image:width\" content=\"1200\" \/>\n\t<meta property=\"og:image:height\" content=\"628\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@workfall\" \/>\n<meta name=\"twitter:site\" content=\"@workfall\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Workfall\" \/>\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\":\"Organization\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\",\"name\":\"Workfall - Hire #Kickass Coders On Demand\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"sameAs\":[\"https:\/\/www.instagram.com\/workfall\/\",\"https:\/\/www.linkedin.com\/company\/workfall\/\",\"https:\/\/facebook.com\/workfall\",\"https:\/\/twitter.com\/workfall\"],\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"contentUrl\":\"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400\",\"width\":400,\"height\":400,\"caption\":\"Workfall - Hire #Kickass Coders On Demand\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/\"}},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/\",\"name\":\"The Workfall Blog\",\"description\":\"#Tech #Remote #Jobs\",\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#primaryimage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png\",\"width\":1200,\"height\":628,\"caption\":\"Kafka for Event Streaming in a Microservices Architecture\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#webpage\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/\",\"name\":\"How to Use Kafka for Event Streaming in a Microservices Architecture? - The Workfall Blog\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#primaryimage\"},\"datePublished\":\"2023-06-27T11:16:21+00:00\",\"dateModified\":\"2025-09-17T03:46:52+00:00\",\"description\":\"Tap into the capabilities of Kafka to streamline event streaming in microservices, for creating scalable and responsive systems.\",\"breadcrumb\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/learning.workfall.com\/learning\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"How to Use Kafka for Event Streaming in a Microservices Architecture?\"}]},{\"@type\":\"Article\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#webpage\"},\"author\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\"},\"headline\":\"How to Use Kafka for Event Streaming in a Microservices Architecture?\",\"datePublished\":\"2023-06-27T11:16:21+00:00\",\"dateModified\":\"2025-09-17T03:46:52+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#webpage\"},\"wordCount\":1359,\"publisher\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#organization\"},\"image\":{\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png\",\"keywords\":[\"ApacheKafka\",\"backend\",\"EventDrivenArchitecture\",\"Kafka\",\"realtimeapps\",\"workfall\"],\"articleSection\":[\"Backend Development\"],\"inLanguage\":\"en-US\"},{\"@type\":\"Person\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a\",\"name\":\"Workfall\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"contentUrl\":\"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png\",\"caption\":\"Workfall\"},\"sameAs\":[\"https:\/\/www.workfall.com\"]}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Use Kafka for Event Streaming in a Microservices Architecture? - The Workfall Blog","description":"Tap into the capabilities of Kafka to streamline event streaming in microservices, for creating scalable and responsive systems.","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:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/","og_locale":"en_US","og_type":"article","og_title":"How to Use Kafka for Event Streaming in a Microservices Architecture? - The Workfall Blog","og_description":"Tap into the capabilities of Kafka to streamline event streaming in microservices, for creating scalable and responsive systems.","og_url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/","og_site_name":"The Workfall Blog","article_publisher":"https:\/\/facebook.com\/workfall","article_published_time":"2023-06-27T11:16:21+00:00","article_modified_time":"2025-09-17T03:46:52+00:00","og_image":[{"width":1200,"height":628,"url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png","type":"image\/png"}],"twitter_card":"summary_large_image","twitter_creator":"@workfall","twitter_site":"@workfall","twitter_misc":{"Written by":"Workfall","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Organization","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization","name":"Workfall - Hire #Kickass Coders On Demand","url":"https:\/\/learning.workfall.com\/learning\/blog\/","sameAs":["https:\/\/www.instagram.com\/workfall\/","https:\/\/www.linkedin.com\/company\/workfall\/","https:\/\/facebook.com\/workfall","https:\/\/twitter.com\/workfall"],"logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","contentUrl":"https:\/\/i1.wp.com\/18.141.20.153\/learning\/blog\/wp-content\/uploads\/2021\/10\/cropped-WF_logo.png?fit=400%2C400","width":400,"height":400,"caption":"Workfall - Hire #Kickass Coders On Demand"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/logo\/image\/"}},{"@type":"WebSite","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website","url":"https:\/\/learning.workfall.com\/learning\/blog\/","name":"The Workfall Blog","description":"#Tech #Remote #Jobs","publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/learning.workfall.com\/learning\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#primaryimage","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png","width":1200,"height":628,"caption":"Kafka for Event Streaming in a Microservices Architecture"},{"@type":"WebPage","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#webpage","url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/","name":"How to Use Kafka for Event Streaming in a Microservices Architecture? - The Workfall Blog","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#website"},"primaryImageOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#primaryimage"},"datePublished":"2023-06-27T11:16:21+00:00","dateModified":"2025-09-17T03:46:52+00:00","description":"Tap into the capabilities of Kafka to streamline event streaming in microservices, for creating scalable and responsive systems.","breadcrumb":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/learning.workfall.com\/learning\/blog\/"},{"@type":"ListItem","position":2,"name":"How to Use Kafka for Event Streaming in a Microservices Architecture?"}]},{"@type":"Article","@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#article","isPartOf":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#webpage"},"author":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a"},"headline":"How to Use Kafka for Event Streaming in a Microservices Architecture?","datePublished":"2023-06-27T11:16:21+00:00","dateModified":"2025-09-17T03:46:52+00:00","mainEntityOfPage":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#webpage"},"wordCount":1359,"publisher":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/#organization"},"image":{"@id":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-use-kafka-for-event-streaming-in-a-microservices-architecture\/#primaryimage"},"thumbnailUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png","keywords":["ApacheKafka","backend","EventDrivenArchitecture","Kafka","realtimeapps","workfall"],"articleSection":["Backend Development"],"inLanguage":"en-US"},{"@type":"Person","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/cab8236044692bc5b27606b13167794a","name":"Workfall","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/learning.workfall.com\/learning\/blog\/#\/schema\/person\/image\/","url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","contentUrl":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/avatar_user_1_1693914404-96x96.png","caption":"Workfall"},"sameAs":["https:\/\/www.workfall.com"]}]}},"jetpack_featured_media_url":"https:\/\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/06\/Cover-Images_Part2-1-1.png","jetpack-related-posts":[{"id":1513,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-upload-large-files-1gb-and-beyond-to-aws-s3-using-nestjs-backend-and-reactjs-frontend\/","url_meta":{"origin":2374,"position":0},"title":"How to upload large files (1GB and beyond) to AWS S3 using NestJS (backend) and ReactJS (frontend)?","date":"November 15, 2022","format":false,"excerpt":"When dealing with file uploads, you must be aware that files are uploaded in buffers stored in memory and if the file is larger than the allocated memory in your VM, it may run out of memory and the application might crash. For example, if your allocated memory is 2GB,\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"How to upload large files (1GB and beyond) to AWS S3 using NestJS (backend) and ReactJS (frontend)?","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2022\/11\/Cover-Images_Part2-3.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1684,"url":"https:\/\/learning.workfall.com\/learning\/blog\/building-real-time-apps-with-nestjs-and-graphql-subscriptions\/","url_meta":{"origin":2374,"position":1},"title":"Building Real-Time Apps with NestJS and GraphQL Subscriptions","date":"April 6, 2023","format":false,"excerpt":"Real-time applications are important in several instances. Especially in a scenario whereby immediate feedback is important such as messaging apps and IoT apps. Let\u2019s imagine a case in IoT whereby a smoke detector needs to relay information to water sprinklers in a burning building. This information has to be in\u2026","rel":"","context":"In &quot;Backend Development&quot;","img":{"alt_text":"Building Real-Time Apps with NestJS and GraphQL Subscriptions","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/04\/Cover-Images_Part2-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":1671,"url":"https:\/\/learning.workfall.com\/learning\/blog\/use-surrealdb-to-persist-data-with-rocket-rest-api\/","url_meta":{"origin":2374,"position":2},"title":"Use SurrealDB to Persist Data with Rocket REST API","date":"March 21, 2023","format":false,"excerpt":"Databases are essential in web development for organizing data in various forms and shapes (both structured and unstructured). Their ultimate goal is for the stored data to be easily retrievable, updated, queried, and generally administered via a graphical user interface (GUI), dashboard, or even command line interface (CLI). We can\u2026","rel":"","context":"In &quot;Backend Development&quot;","img":{"alt_text":"SurrealDB","src":"https:\/\/i2.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/03\/Cover-Images_Part2-1-2.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2287,"url":"https:\/\/learning.workfall.com\/learning\/blog\/reverse-proxy-mastery-deploying-a-full-stack-application-with-multi-container-docker-and-nginx\/","url_meta":{"origin":2374,"position":3},"title":"Reverse Proxy Mastery: Deploying a Full-Stack Application with Multi-Container Docker and Nginx","date":"May 23, 2023","format":false,"excerpt":"Sometimes, developing a full-stack application is not the end of the journey for a web developer. Let us take a case scenario whereby, you have a backend, a frontend, and also a database. For such a setup, we would like to make it easy to replicate our application in different\u2026","rel":"","context":"In &quot;Frontend Development&quot;","img":{"alt_text":"Reverse Proxy Mastery: Deploying a Full-Stack Application with Multi-Container Docker and Nginx","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/05\/Cover-Images_Part2-1-2.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":358,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-build-an-angular-authentication-application-using-aws-amplify\/","url_meta":{"origin":2374,"position":4},"title":"How to build an Angular Authentication Application using AWS Amplify?","date":"November 3, 2021","format":false,"excerpt":"In this blog, we will discuss how to build an Angular Application using AWS Amplify and will demonstrate how to build an Authentication Application using AWS Amplify and Angular web framework without configuring the backend manually. In this blog, we will cover: Need for Serverless FrameworksBenefits of Serverless FrameworksPopular Serverless\u2026","rel":"","context":"In &quot;AWS Cloud Computing&quot;","img":{"alt_text":"Build an Angular Authentication Application using AWS Amplify","src":"https:\/\/i1.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2021\/11\/amplify.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]},{"id":2438,"url":"https:\/\/learning.workfall.com\/learning\/blog\/how-to-build-an-interactive-real-time-chat-application-with-websockets\/","url_meta":{"origin":2374,"position":5},"title":"How to Build an Interactive Real-Time Chat Application with Websockets?","date":"September 12, 2023","format":false,"excerpt":"What is Socket.io? Socket.io, a widely-used JavaScript library, offers a framework for facilitating real-time, two-way communication between web clients (like browsers) and servers. It uses WebSockets as the primary communication method but also offers fallback options such as long polling for environments where WebSockets may not be supported. This makes\u2026","rel":"","context":"In &quot;Backend Development&quot;","img":{"alt_text":"How to Build an Interactive Real-Time Chat Application with Websockets?","src":"https:\/\/i0.wp.com\/learning.workfall.com\/learning\/blog\/wp-content\/uploads\/2023\/09\/Tech-Blogs-Cover-Images_Part3-1-1.png?resize=350%2C200&ssl=1","width":350,"height":200},"classes":[]}],"_links":{"self":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/2374"}],"collection":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/comments?post=2374"}],"version-history":[{"count":4,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/2374\/revisions"}],"predecessor-version":[{"id":2755,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/posts\/2374\/revisions\/2755"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media\/2375"}],"wp:attachment":[{"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/media?parent=2374"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/categories?post=2374"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/learning.workfall.com\/learning\/blog\/wp-json\/wp\/v2\/tags?post=2374"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}