Skip to content

Commit 04bcea8

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 8b0412f commit 04bcea8

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"
@@ -199,3 +208,55 @@ stages:
199208
difficulty: hard
200209
marketing_md: |-
201210
In this stage, you'll implement the Fetch response for a topic with multiple messages, reading them from disk.
211+
212+
# Producing Messages
213+
214+
- slug: "um3"
215+
primary_extension_slug: "producing-messages"
216+
name: "Include Produce in APIVersions"
217+
difficulty: easy
218+
marketing_md: |-
219+
In this stage, you'll add the Produce API to the APIVersions response.
220+
221+
- slug: "ck2"
222+
primary_extension_slug: "producing-messages"
223+
name: "Produce to Invalid topic"
224+
difficulty: medium
225+
marketing_md: |-
226+
In this stage, you'll implement the Produce response for an invalid topic.
227+
228+
- slug: "ho8"
229+
primary_extension_slug: "producing-messages"
230+
name: "Produce to Invalid partition"
231+
difficulty: medium
232+
marketing_md: |-
233+
In this stage, you'll implement the Produce response for an invalid partition.
234+
235+
- slug: "ps7"
236+
primary_extension_slug: "producing-messages"
237+
name: "Produce a single record"
238+
difficulty: hard
239+
marketing_md: |-
240+
In this stage, you'll implement successfully producing a single record to disk.
241+
242+
- slug: "sb8"
243+
primary_extension_slug: "producing-messages"
244+
name: "Batch Produce multiple records"
245+
difficulty: hard
246+
marketing_md: |-
247+
In this stage, you'll implement producing multiple records in a single record batch.
248+
249+
- slug: "mf2"
250+
primary_extension_slug: "producing-messages"
251+
name: "Produce to multiple partitions"
252+
difficulty: hard
253+
marketing_md: |-
254+
In this stage, you'll implement producing to multiple partitions of the same topic.
255+
256+
- slug: "ar4"
257+
primary_extension_slug: "producing-messages"
258+
name: "Produce to multiple topics"
259+
difficulty: hard
260+
marketing_md: |-
261+
In this stage, you'll implement producing to multiple topics in a single request.
262+
Stages:

0 commit comments

Comments
 (0)