Skip to content

Commit db400dd

Browse files
committed
[SRVKE-1271 + SRVKE-1272]: Updating Kafka broker docs for GA
1 parent 72b6a85 commit db400dd

12 files changed

+75
-55
lines changed

_topic_maps/_topic_map.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3499,6 +3499,8 @@ Topics:
34993499
File: serverless-functions-about
35003500
- Name: Event sources
35013501
File: knative-event-sources
3502+
- Name: Brokers
3503+
File: serverless-brokers
35023504
- Name: Channels and subscriptions
35033505
File: serverless-channels
35043506
- Name: Install
@@ -3556,7 +3558,7 @@ Topics:
35563558
- Name: Creating and managing subscriptions
35573559
File: serverless-subs
35583560
# Brokers
3559-
- Name: Brokers
3561+
- Name: Creating brokers
35603562
File: serverless-using-brokers
35613563
# Triggers
35623564
- Name: Triggers

_topic_maps/_topic_map_osd.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -248,6 +248,8 @@ Topics:
248248
File: serverless-functions-about
249249
- Name: Event sources
250250
File: knative-event-sources
251+
- Name: Brokers
252+
File: serverless-brokers
251253
- Name: Channels and subscriptions
252254
File: serverless-channels
253255
- Name: Install
@@ -301,7 +303,7 @@ Topics:
301303
File: serverless-creating-channels
302304
- Name: Creating and managing subscriptions
303305
File: serverless-subs
304-
- Name: Brokers
306+
- Name: Creating brokers
305307
File: serverless-using-brokers
306308
- Name: Triggers
307309
File: serverless-triggers

_topic_maps/_topic_map_rosa.yml

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -451,6 +451,8 @@ Topics:
451451
File: serverless-functions-about
452452
- Name: Event sources
453453
File: knative-event-sources
454+
- Name: Brokers
455+
File: serverless-brokers
454456
- Name: Channels and subscriptions
455457
File: serverless-channels
456458
- Name: Install
@@ -504,7 +506,7 @@ Topics:
504506
File: serverless-creating-channels
505507
- Name: Creating and managing subscriptions
506508
File: serverless-subs
507-
- Name: Brokers
509+
- Name: Creating brokers
508510
File: serverless-using-brokers
509511
- Name: Triggers
510512
File: serverless-triggers

modules/serverless-broker-types.adoc

Lines changed: 11 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,27 +1,24 @@
11
// Module included in the following assemblies:
22
//
3-
// * /serverless/develop/serverless-using-brokers.adoc
3+
// * /serverless/discover/serverless-brokers.adoc
44

55
:_content-type: CONCEPT
66
[id="serverless-broker-types_{context}"]
77
= Broker types
88

9-
There are multiple broker implementations available for use with {ServerlessProductName}, each of which have different event delivery guarantees and use different underlying technologies. You can choose the broker implementation when creating a broker by specifying a broker class, otherwise the default broker class is used. The default broker class can be configured by cluster administrators.
10-
// TO DO: Need to add docs about setting default broker class.
9+
Cluster administrators can set the default broker implementation for a cluster. When you create a broker, the default broker implementation is used, unless you provide set configurations in the `Broker` object.
1110

12-
[id="serverless-broker-types-channel-based"]
13-
== Channel-based broker
14-
15-
The channel-based broker implementation internally uses channels for event delivery. Channel-based brokers provide different event delivery guarantees based on the channel implementation a broker instance uses, for example:
11+
:FeatureName: Kafka broker
12+
include::snippets/technology-preview.adoc[leveloffset=+2]
1613

17-
* A broker using the `InMemoryChannel` implementation is useful for development and testing purposes, but does not provide adequate event delivery guarantees for production environments.
14+
[id="serverless-broker-types-default_{context}"]
15+
== Default broker implementation for development purposes
1816

19-
* A broker using the `KafkaChannel` implementation provides the event delivery guarantees required for a production environment.
17+
Knative provides a default, channel-based broker implementation. This channel-based broker can be used for development and testing purposes, but does not provide adequate event delivery guarantees for production environments. The default broker is backed by the `InMemoryChannel` channel implementation by default.
2018

21-
[id="serverless-broker-types-kafka"]
22-
== Kafka broker
19+
If you want to use Kafka to reduce network hops, use the Kafka broker implementation. Do not configure the channel-based broker to be backed by the `KafkaChannel` channel implementation.
2320

24-
The Kafka broker is a broker implementation that uses Kafka internally to provide at-least once delivery guarantees. It supports multiple Kafka versions, and has a native integration with Kafka for storing and routing events.
21+
[id="serverless-broker-types-production_{context}"]
22+
== Production-ready Kafka broker implementation
2523

26-
:FeatureName: Kafka broker
27-
include::snippets/technology-preview.adoc[leveloffset=+2]
24+
include::snippets/serverless-about-kafka-broker.adoc[]

modules/serverless-kafka-broker-with-kafka-topic.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Module included in the following assemblies:
22
//
3-
// * serverless/develop/serverless-kafka-developer.adoc
43
// * serverless/develop/serverless-using-brokers.adoc
54

65
:_content-type: PROCEDURE

modules/serverless-kafka-broker.adoc

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,5 @@
11
// Module included in the following assemblies:
22
//
3-
// * serverless/develop/serverless-kafka-developer.adoc
43
// * serverless/develop/serverless-using-brokers.adoc
54

65
:_content-type: PROCEDURE

serverless/develop/serverless-kafka-developer.adoc

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -45,13 +45,12 @@ include::modules/serverless-kafka-source-yaml.adoc[leveloffset=+2]
4545
[id="serverless-kafka-developer-broker"]
4646
== Kafka broker
4747

48-
include::snippets/serverless-kafka-broker-intro.adoc[]
49-
5048
:FeatureName: Kafka broker
5149
include::snippets/technology-preview.adoc[leveloffset=+2]
5250

53-
include::modules/serverless-kafka-broker.adoc[leveloffset=+2]
54-
include::modules/serverless-kafka-broker-with-kafka-topic.adoc[leveloffset=+2]
51+
include::snippets/serverless-about-kafka-broker.adoc[]
52+
53+
For information about using Kafka brokers, see xref:../../serverless/develop/serverless-using-brokers.adoc#serverless-using-brokers[Creating brokers].
5554

5655
// Kafka channels
5756
include::modules/serverless-create-kafka-channel-yaml.adoc[leveloffset=+1]

serverless/develop/serverless-using-brokers.adoc

Lines changed: 15 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -1,30 +1,30 @@
11
:_content-type: ASSEMBLY
22
[id="serverless-using-brokers"]
3-
= Brokers
3+
= Creating brokers
44
include::_attributes/common-attributes.adoc[]
55
:context: serverless-using-brokers
66

77
toc::[]
88

9-
include::snippets/serverless-brokers-intro.adoc[]
9+
Knative provides a default, channel-based broker implementation. This channel-based broker can be used for development and testing purposes, but does not provide adequate event delivery guarantees for production environments.
1010

11-
include::modules/serverless-broker-types.adoc[leveloffset=+1]
11+
If a cluster administrator has configured your {ServerlessProductName} deployment to use Kafka as the default broker type, creating a broker by using the default settings creates a Kafka-based broker.
1212

13-
[id="serverless-using-brokers-creating-brokers"]
14-
== Creating a broker that uses default settings
13+
If your {ServerlessProductName} deployment is not configured to use Kafka broker as the default broker type, the channel-based broker is created when you use the default settings in the following procedures.
1514

16-
{ServerlessProductName} provides a `default` Knative broker that you can create by using the Knative (`kn`) CLI. You can also create the `default` broker by adding the `eventing.knative.dev/injection: enabled` annotation to a trigger, or by adding the `eventing.knative.dev/injection=enabled` label to a namespace.
15+
:FeatureName: Kafka broker
16+
include::snippets/technology-preview.adoc[leveloffset=+2]
1717

18-
include::modules/serverless-create-broker-kn.adoc[leveloffset=+2]
19-
include::modules/serverless-creating-broker-annotation.adoc[leveloffset=+2]
20-
include::modules/serverless-creating-broker-labeling.adoc[leveloffset=+2]
21-
include::modules/serverless-deleting-broker-injection.adoc[leveloffset=+2]
22-
include::modules/serverless-creating-a-broker-odc.adoc[leveloffset=+2]
18+
include::modules/serverless-create-broker-kn.adoc[leveloffset=+1]
19+
include::modules/serverless-creating-broker-annotation.adoc[leveloffset=+1]
20+
include::modules/serverless-creating-broker-labeling.adoc[leveloffset=+1]
21+
include::modules/serverless-deleting-broker-injection.adoc[leveloffset=+1]
22+
include::modules/serverless-creating-a-broker-odc.adoc[leveloffset=+1]
2323

24-
[id="serverless-using-brokers-kafka"]
25-
== Kafka broker
24+
[id="serverless-using-brokers-kafka_{context}"]
25+
== Creating a Kafka broker when it is not configured as the default broker type
2626

27-
include::snippets/serverless-kafka-broker-intro.adoc[]
27+
If your {ServerlessProductName} deployment is not configured to use Kafka broker as the default broker type, you can use one of the following procedures to create a Kafka-based broker.
2828

2929
:FeatureName: Kafka broker
3030
include::snippets/technology-preview.adoc[leveloffset=+2]
@@ -35,7 +35,7 @@ include::modules/serverless-kafka-broker-with-kafka-topic.adoc[leveloffset=+2]
3535
[id="serverless-using-brokers-managing-brokers"]
3636
== Managing brokers
3737

38-
The Knative (`kn`) CLI provides commands that can be used to list, describe, update, and delete brokers.
38+
The Knative (`kn`) CLI provides commands that can be used to describe and list existing brokers.
3939

4040
include::modules/serverless-list-broker-kn.adoc[leveloffset=+2]
4141
include::modules/serverless-describe-broker-kn.adoc[leveloffset=+2]
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
:_content-type: ASSEMBLY
2+
[id="serverless-brokers"]
3+
= Brokers
4+
include::_attributes/common-attributes.adoc[]
5+
:context: serverless-brokers
6+
7+
toc::[]
8+
9+
include::snippets/serverless-brokers-intro.adoc[]
10+
include::modules/serverless-broker-types.adoc[leveloffset=+1]
11+
12+
[id="next-steps_serverless-brokers"]
13+
== Next steps
14+
* xref:../../serverless/develop/serverless-using-brokers.adoc#serverless-using-brokers[Creating brokers]
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
// Text snippet included in the following modules and assemblies:
2+
//
3+
// * /modules/serverless-broker-types.adoc
4+
// * /serverless/develop/serverless-kafka-developer.adoc
5+
6+
:_content-type: SNIPPET
7+
8+
For production-ready Knative Eventing deployments, Red Hat recommends using the Knative Kafka broker implementation. The Kafka broker is an Apache Kafka native implementation of the Knative broker, which sends CloudEvents directly to the Kafka instance.
9+
10+
[IMPORTANT]
11+
====
12+
The Federal Information Processing Standards (FIPS) mode is disabled for Kafka broker.
13+
====
14+
15+
The Kafka broker has a native integration with Kafka for storing and routing events. This allows better integration with Kafka for the broker and trigger model over other broker types, and reduces network hops. Other benefits of the Kafka broker implementation include:
16+
17+
* At-least-once delivery guarantees
18+
* Ordered delivery of events, based on the CloudEvents partitioning extension
19+
* Control plane high availability
20+
* A horizontally scalable data plane
21+
22+
The Knative Kafka broker stores incoming CloudEvents as Kafka records, using the binary content mode. This means that all CloudEvent attributes and extensions are mapped as headers on the Kafka record, while the `data` spec of the CloudEvent corresponds to the value of the Kafka record.

snippets/serverless-brokers-intro.adoc

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
// * /serverless/develop/serverless-triggers.adoc
55
// * /modules/serverless-creating-broker-admin-web-console.adoc
66
// * /modules/serverless-creating-trigger-admin-web-console.adoc
7+
// * /serverless/discover/serverless-brokers.adoc
78

89
:_content-type: SNIPPET
910

snippets/serverless-kafka-broker-intro.adoc

Lines changed: 0 additions & 17 deletions
This file was deleted.

0 commit comments

Comments
 (0)