You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: content/event-platform/concepts.md
+98-1Lines changed: 98 additions & 1 deletion
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ The following properties represent a subscription:
35
35
|`id`| Automatically populated | Identifier of the subscription within the Event Platform |
36
36
|`source`| Populated by the user at creation | Source of the event (currently, the only source available is `pim`) |
37
37
|`subject`| From `X-PIM-URL` header parameter | URL of the targeted source |
38
-
|`type`| Populated by the user at creation | Type of the subscription (currently, there are two available types: `https`and `pubsub`) |
38
+
|`type`| Populated by the user at creation | Type of the subscription (currently, there are three available types: `https`, `pubsub`, and `kafka`) |
39
39
|`events`| Populated by the user at creation | A list of events that the subscription is tracking |
40
40
|`status`| Automatically populated | The subscription status |
41
41
|`config`| Populated by the user at creation | The subscription configuration is based on the subscription type. See below for further details. |
@@ -205,6 +205,103 @@ We currently use a static IP address provided by Google Cloud: `34.140.80.128`
205
205
206
206
**However, we cannot guarantee that this IP address will remain unchanged indefinitely.** Therefore, we strongly recommend whitelisting the `europe-west1` IP ranges from [Google Cloud's IP ranges list](https://www.gstatic.com/ipranges/cloud.json) to ensure continuous access.
207
207
208
+
### Kafka subscription
209
+
210
+
This option delivers events to an Apache Kafka topic. It provides high-throughput, fault-tolerant event streaming capabilities for enterprise integrations.
211
+
212
+
#### Key Advantages
213
+
214
+
-**High Throughput:** Kafka is designed to handle high-volume event streams with low latency.
215
+
-**Durability & Reliability:** Events are persisted to disk and replicated across multiple brokers for fault tolerance.
216
+
-**Scalability:** Kafka clusters can be scaled horizontally to handle increasing event volumes.
217
+
-**Ordering Guarantees:** Events are delivered in order within each partition.
218
+
219
+
#### Configuration
220
+
221
+
For the `kafka` subscription type, the `config` property requires the Kafka cluster connection details and topic information.
222
+
223
+
```json[snippet:Kafka subscription]
224
+
225
+
{
226
+
"source": "pim",
227
+
"subject": "https://my-pim.cloud.akeneo.com",
228
+
"events": [
229
+
"com.akeneo.pim.v1.product.updated"
230
+
],
231
+
"type": "kafka",
232
+
"config": {
233
+
"broker": "kafka-cluster.example.com:9092",
234
+
"topic": "pim-events",
235
+
"sasl_auth": {
236
+
"mechanism": "plain",
237
+
"username": "your_kafka_username",
238
+
"password": "your_kafka_password"
239
+
}
240
+
}
241
+
}
242
+
```
243
+
244
+
#### Authentication Examples
245
+
246
+
**Plain Authentication:**
247
+
```json
248
+
"sasl_auth": {
249
+
"mechanism": "plain",
250
+
"username": "your_kafka_username",
251
+
"password": "your_kafka_password"
252
+
}
253
+
```
254
+
255
+
**SCRAM Authentication:**
256
+
```json
257
+
"sasl_auth": {
258
+
"mechanism": "scram",
259
+
"scram_variant": "sha-256",
260
+
"username": "your_kafka_username",
261
+
"password": "your_kafka_password"
262
+
}
263
+
```
264
+
265
+
**OAuth Bearer Authentication:**
266
+
```json
267
+
"sasl_auth": {
268
+
"mechanism": "oauthbearer",
269
+
"mode": "static_token",
270
+
"token": "your_oauth_token"
271
+
}
272
+
```
273
+
274
+
#### Required Configuration Properties
275
+
276
+
| Property | Description | Required |
277
+
| --- | --- | --- |
278
+
|`broker`| Kafka broker address | Yes |
279
+
|`topic`| Name of the Kafka topic where events will be published | Yes |
0 commit comments