{"id":3182,"date":"2024-03-13T06:32:10","date_gmt":"2024-03-13T06:32:10","guid":{"rendered":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/"},"modified":"2025-07-30T12:36:08","modified_gmt":"2025-07-30T12:36:08","slug":"what-types-of-message-delivery-semantics-does-kafka-support","status":"publish","type":"post","link":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/","title":{"rendered":"Kafka Message Delivery Semantics Explained"},"content":{"rendered":"<p>Kafka supports three types of message delivery semantics:<\/p>\n<ol>\n<li>At most once: In this semantic, messages may be lost but will never be processed more than once. After the producer sends the message, there will be no confirmation or retry, which may result in message loss.<\/li>\n<li>At least once: In this context, messages will never be lost, but they may be processed multiple times. After a producer sends a message, the consumer can use an acknowledgment mechanism to ensure that the message has been processed correctly. However, if there are network failures or consumer failures that lead the producer to believe the message has not been processed, the message will be resent.<\/li>\n<li>Exactly once: This is the strictest message delivery semantics, ensuring that each message will only be processed once. Kafka achieves exactly once semantics through transactional and idempotent mechanisms to ensure that messages are not lost or processed multiple times during transmission between producers and consumers.<\/li>\n<\/ol>\n<p>Due to the complex semantics and high performance cost of Exactly once, At least once is usually the most commonly used message delivery semantics. In Kafka, consumers can choose the appropriate message delivery semantics based on their needs to ensure the reliability and consistency of messages.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Kafka supports three types of message delivery semantics: At most once: In this semantic, messages may be lost but will never be processed more than once. After the producer sends the message, there will be no confirmation or retry, which may result in message loss. At least once: In this context, messages will never be [&hellip;]<\/p>\n","protected":false},"author":10,"featured_media":0,"comment_status":"closed","ping_status":"closed","sticky":false,"template":"","format":"standard","meta":{"_import_markdown_pro_load_document_selector":0,"_import_markdown_pro_submit_text_textarea":"","footnotes":""},"categories":[1],"tags":[882,881,883,879,880],"class_list":["post-3182","post","type-post","status-publish","format-standard","hentry","category-uncategorized","tag-at-least-once","tag-at-most-once","tag-exactly-once","tag-kafka","tag-message-delivery-semantics"],"yoast_head":"<!-- This site is optimized with the Yoast SEO Premium plugin v21.5 (Yoast SEO v21.5) - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>Kafka Message Delivery Semantics Explained - Blog - Silicon Cloud<\/title>\n<meta name=\"description\" content=\"Learn Kafka&#039;s 3 message delivery semantics: at most once, at least once, and exactly once. Understand use cases and guarantees.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"Kafka Message Delivery Semantics Explained\" \/>\n<meta property=\"og:description\" content=\"Learn Kafka&#039;s 3 message delivery semantics: at most once, at least once, and exactly once. Understand use cases and guarantees.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\" \/>\n<meta property=\"og:site_name\" content=\"Blog - Silicon Cloud\" \/>\n<meta property=\"article:publisher\" content=\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\" \/>\n<meta property=\"article:published_time\" content=\"2024-03-13T06:32:10+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2025-07-30T12:36:08+00:00\" \/>\n<meta name=\"author\" content=\"Jackson Davis\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:site\" content=\"@SiliCloudGlobal\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"Jackson Davis\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"1 minute\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\"},\"author\":{\"name\":\"Jackson Davis\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\"},\"headline\":\"Kafka Message Delivery Semantics Explained\",\"datePublished\":\"2024-03-13T06:32:10+00:00\",\"dateModified\":\"2025-07-30T12:36:08+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\"},\"wordCount\":207,\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"keywords\":[\"At Least Once\",\"At Most Once\",\"Exactly Once\",\"Kafka\",\"Message Delivery Semantics\"],\"inLanguage\":\"en-US\"},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\",\"name\":\"Kafka Message Delivery Semantics Explained - Blog - Silicon Cloud\",\"isPartOf\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\"},\"datePublished\":\"2024-03-13T06:32:10+00:00\",\"dateModified\":\"2025-07-30T12:36:08+00:00\",\"description\":\"Learn Kafka's 3 message delivery semantics: at most once, at least once, and exactly once. Understand use cases and guarantees.\",\"breadcrumb\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Home\",\"item\":\"https:\/\/www.silicloud.com\/blog\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Kafka Message Delivery Semantics Explained\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#website\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"name\":\"Silicon Cloud Blog\",\"description\":\"\",\"publisher\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\"},\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#organization\",\"name\":\"Silicon Cloud Blog\",\"url\":\"https:\/\/www.silicloud.com\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"contentUrl\":\"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png\",\"width\":1024,\"height\":1024,\"caption\":\"Silicon Cloud Blog\"},\"image\":{\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/www.facebook.com\/SiliCloudGlobal\/\",\"https:\/\/twitter.com\/SiliCloudGlobal\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350\",\"name\":\"Jackson Davis\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g\",\"caption\":\"Jackson Davis\"},\"url\":\"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/\"}]}<\/script>\n<!-- \/ Yoast SEO Premium plugin. -->","yoast_head_json":{"title":"Kafka Message Delivery Semantics Explained - Blog - Silicon Cloud","description":"Learn Kafka's 3 message delivery semantics: at most once, at least once, and exactly once. Understand use cases and guarantees.","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:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/","og_locale":"en_US","og_type":"article","og_title":"Kafka Message Delivery Semantics Explained","og_description":"Learn Kafka's 3 message delivery semantics: at most once, at least once, and exactly once. Understand use cases and guarantees.","og_url":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/","og_site_name":"Blog - Silicon Cloud","article_publisher":"https:\/\/www.facebook.com\/SiliCloudGlobal\/","article_published_time":"2024-03-13T06:32:10+00:00","article_modified_time":"2025-07-30T12:36:08+00:00","author":"Jackson Davis","twitter_card":"summary_large_image","twitter_creator":"@SiliCloudGlobal","twitter_site":"@SiliCloudGlobal","twitter_misc":{"Written by":"Jackson Davis","Est. reading time":"1 minute"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/#article","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/"},"author":{"name":"Jackson Davis","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350"},"headline":"Kafka Message Delivery Semantics Explained","datePublished":"2024-03-13T06:32:10+00:00","dateModified":"2025-07-30T12:36:08+00:00","mainEntityOfPage":{"@id":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/"},"wordCount":207,"publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"keywords":["At Least Once","At Most Once","Exactly Once","Kafka","Message Delivery Semantics"],"inLanguage":"en-US"},{"@type":"WebPage","@id":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/","url":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/","name":"Kafka Message Delivery Semantics Explained - Blog - Silicon Cloud","isPartOf":{"@id":"https:\/\/www.silicloud.com\/blog\/#website"},"datePublished":"2024-03-13T06:32:10+00:00","dateModified":"2025-07-30T12:36:08+00:00","description":"Learn Kafka's 3 message delivery semantics: at most once, at least once, and exactly once. Understand use cases and guarantees.","breadcrumb":{"@id":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/www.silicloud.com\/blog\/what-types-of-message-delivery-semantics-does-kafka-support\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Home","item":"https:\/\/www.silicloud.com\/blog\/"},{"@type":"ListItem","position":2,"name":"Kafka Message Delivery Semantics Explained"}]},{"@type":"WebSite","@id":"https:\/\/www.silicloud.com\/blog\/#website","url":"https:\/\/www.silicloud.com\/blog\/","name":"Silicon Cloud Blog","description":"","publisher":{"@id":"https:\/\/www.silicloud.com\/blog\/#organization"},"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/www.silicloud.com\/blog\/#organization","name":"Silicon Cloud Blog","url":"https:\/\/www.silicloud.com\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","contentUrl":"https:\/\/www.silicloud.com\/blog\/wp-content\/uploads\/2023\/11\/EN-SILICON-Full.png","width":1024,"height":1024,"caption":"Silicon Cloud Blog"},"image":{"@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/www.facebook.com\/SiliCloudGlobal\/","https:\/\/twitter.com\/SiliCloudGlobal"]},{"@type":"Person","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/55a10b8b0457c35884c25677889ad350","name":"Jackson Davis","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/www.silicloud.com\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/2fdb47d6df1226e92380d96973782572a97b0675d098bb914410dec348eb5d29?s=96&d=mm&r=g","caption":"Jackson Davis"},"url":"https:\/\/www.silicloud.com\/blog\/author\/jacksondavis\/"}]}},"_links":{"self":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3182","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/users\/10"}],"replies":[{"embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/comments?post=3182"}],"version-history":[{"count":2,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3182\/revisions"}],"predecessor-version":[{"id":147806,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/posts\/3182\/revisions\/147806"}],"wp:attachment":[{"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/media?parent=3182"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/categories?post=3182"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.silicloud.com\/blog\/wp-json\/wp\/v2\/tags?post=3182"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}