Skip to content

Commit d9bb13a

Browse files
committed
feat: add new challenge extension for producing messages in Kafka, including multiple stages for handling various production scenarios such as invalid topics, partitions, and batch production
1 parent d4d47e1 commit d9bb13a

File tree

1 file changed

+61
-0
lines changed

1 file changed

+61
-0
lines changed

course-definition.yml

Lines changed: 61 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -71,6 +71,15 @@ extensions:
7171
7272
[fetch-api]: https://kafka.apache.org/protocol.html#The_Messages_Fetch
7373
74+
- slug: "producing-messages"
75+
name: "Producing Messages"
76+
description_markdown: |
77+
In this challenge extension you'll add support for producing messages by implementing the [Produce][produce-api] API.
78+
79+
Along the way you'll learn about how Kafka's Produce API works, how Kafka stores messages on disk and more.
80+
81+
[produce-api]: https://kafka.apache.org/protocol.html#The_Messages_Produce
82+
7483
stages:
7584
- slug: "vi6"
7685
name: "Bind to a port"
@@ -844,3 +853,55 @@ stages:
844853
845854
marketing_md: |-
846855
In this stage, you'll implement the Fetch response for a topic with multiple messages, reading them from disk.
856+
857+
# Producing Messages
858+
859+
- slug: "um3"
860+
primary_extension_slug: "producing-messages"
861+
name: "Include Produce in APIVersions"
862+
difficulty: easy
863+
marketing_md: |-
864+
In this stage, you'll add the Produce API to the APIVersions response.
865+
866+
- slug: "ck2"
867+
primary_extension_slug: "producing-messages"
868+
name: "Produce to Invalid topic"
869+
difficulty: medium
870+
marketing_md: |-
871+
In this stage, you'll implement the Produce response for an invalid topic.
872+
873+
- slug: "ho8"
874+
primary_extension_slug: "producing-messages"
875+
name: "Produce to Invalid partition"
876+
difficulty: medium
877+
marketing_md: |-
878+
In this stage, you'll implement the Produce response for an invalid partition.
879+
880+
- slug: "ps7"
881+
primary_extension_slug: "producing-messages"
882+
name: "Produce a single record"
883+
difficulty: hard
884+
marketing_md: |-
885+
In this stage, you'll implement successfully producing a single record to disk.
886+
887+
- slug: "sb8"
888+
primary_extension_slug: "producing-messages"
889+
name: "Batch Produce multiple records"
890+
difficulty: hard
891+
marketing_md: |-
892+
In this stage, you'll implement producing multiple records in a single record batch.
893+
894+
- slug: "mf2"
895+
primary_extension_slug: "producing-messages"
896+
name: "Produce to multiple partitions"
897+
difficulty: hard
898+
marketing_md: |-
899+
In this stage, you'll implement producing to multiple partitions of the same topic.
900+
901+
- slug: "ar4"
902+
primary_extension_slug: "producing-messages"
903+
name: "Produce to multiple topics"
904+
difficulty: hard
905+
marketing_md: |-
906+
In this stage, you'll implement producing to multiple topics in a single request.
907+
Stages:

0 commit comments

Comments
 (0)