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
+34Lines changed: 34 additions & 0 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -51,8 +51,21 @@ The statuses for a subscription are:
51
51
52
52
## Subscription types
53
53
54
+
::: info
55
+
We will consider adding other subscription destinations based on feedback. Please [fill-in this form](https://forms.gle/XsZ7rovRnqfAn4xF9) to propose & upvote new destination types.
56
+
:::
57
+
58
+
54
59
### Pub/Sub subscription
55
60
61
+
This is the **preferred and most resilient method** for consuming events. It leverages Google Cloud's managed messaging service.
62
+
63
+
#### Key Advantages
64
+
65
+
-**Managed Scalability & Reliability:** Google Pub/Sub inherently handles high throughput and traffic bursts, absorbing the complexities of scaling.
66
+
-**Reduced Infrastructure Burden:** Significantly lowers the operational overhead and risk for the customer.
67
+
-**Simplified Integration:** Easier setup and maintenance compared to managing a custom HTTP endpoint.
68
+
56
69
#### Configuration
57
70
58
71
For the `pubsub` subscription type, the `config` property needed when creating the subscription requires both the project ID and the topic ID.
@@ -90,6 +103,25 @@ For comprehensive details on managing subscriptions, consult the complete API re
90
103
91
104
### HTTPS subscription
92
105
106
+
This option pushes events directly to a HTTP endpoint. It offers flexibility but requires careful infrastructure planning.
107
+
108
+
#### Critical Requirements & Considerations
109
+
110
+
-**Strong Infrastructure:** The endpoint must be highly available and designed to handle variable event loads.
111
+
- This also depends on the **source PIM's size and activity**. A small PIM with few SKUs won't generate the same volume as a large instance with many jobs. Thus, the **HTTP endpoint** can be adjusted based on the PIM's intended use.
112
+
-**Mandatory Rate Limiting (HTTP 429):**
113
+
- Our platform **dynamically adjusts its delivery rate from 1 to 100 events per second.**
114
+
- This adaptive mechanism **relies entirely on the endpoint correctly returning an `HTTP 429 "Too Many Requests"` status** when its capacity is reached. [ref](https://api.akeneo.com/event-platform/key-platform-behaviors.html#optimized-throughput)
115
+
116
+
::: warning
117
+
Endpoints without proper HTTP 429 handling are at high risk of being overwhelmed, leading to event loss and subscription suspension.
118
+
:::
119
+
120
+
-**Fast Acknowledgement:** Endpoints must respond with an `HTTP 200 OK` within **5 seconds**. Delays trigger retries and can lead to suspension. [ref](https://api.akeneo.com/event-platform/key-platform-behaviors.html#delivery-timeout)
121
+
-**Recommendation:** Implement an asynchronous processing model (e.g., using an internal queue) to acknowledge events quickly and process them separately.
122
+
-**Suspension Policy:** Subscriptions may be suspended due to repeated errors (e.g., `4xx`/`5xx` status codes, timeouts, misconfigured SSL). [ref](https://api.akeneo.com/event-platform/key-platform-behaviors.html#suspension-policy)
123
+
124
+
93
125
#### Configuration
94
126
95
127
For the `https` type, the `config` property requires:
@@ -177,6 +209,8 @@ We currently use a static IP address provided by Google Cloud: `34.140.80.128`
177
209
178
210
When configuring a subscription, you can optionally define a **filter** to receive **only the events that match specific criteria**.
179
211
212
+
**Regardless of the destination type, we strongly advise to utilize event filters.** This ensures you only subscribe to and receive events that are relevant to your specific integration needs.
213
+
180
214
You can find the list of currently available filters and the correct syntax to use [here](/event-platform/available-filters.html).
Copy file name to clipboardExpand all lines: content/event-platform/key-platform-behaviors.md
+18-7Lines changed: 18 additions & 7 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -1,4 +1,3 @@
1
-
2
1
# Key platform behaviors
3
2
4
3
Your subscribing service implementation and architecture must deal with the following capabilities and constraints to consume events from the platform at its best.
@@ -14,15 +13,27 @@ To help identify duplicated events and deal with un-ordered events if it's somet
14
13
15
14
## Optimized throughput
16
15
17
-
Our delivery engine will try to deliver events as fast as possible but will adapt the throughput within the limits described in this section.
16
+
If your subscription has an HTTPS destination, our delivery engine adapts the event delivery rate based on your system's capacity, operating within these limits:
17
+
18
+
**Maximum rate:**`100` events per second
19
+
20
+
**Minimum rate:**`1` event per second
21
+
22
+
23
+
The throughput automatically adjusts between these limits based on your endpoint's responses:
24
+
-`200 OK`: The delivery rate gradually increases up to the maximum rate
25
+
-`429 Too Many Requests`: The delivery rate decreases to prevent system overload
26
+
27
+
::: warning
28
+
Events that are throttled and remain undelivered for more than one hour will negatively impact your success rate, as it indicates a potential queuing risk. This may trigger the [suspension policy](/event-platform/key-platform-behaviors.html#suspension-policy).
29
+
:::
18
30
19
-
If your subscription has an HTTPS destination, please respond with `429 Too Many Requests` when your system is overloaded: this way, the delivery engine will slow down, retry undelivered events, and gradually increase the throughput when your system gets back to recovers (i.e., when it responds `200 OK` again).
31
+
Consider using another [subscription type](/event-platform/concepts.html#subscription-types) to get around these limitations.
20
32
21
-
Please note that if the throughput drops too significantly, the suspension policy will be triggered ([see bellow](/event-platform/key-platform-behaviors.html#suspension-policy)).
22
33
23
34
## Delivery timeout
24
35
25
-
Specifically for the HTTPS destination type, the delivery timeout ensures that messages are processed within a specified time frame. Your endpoint is expected to handle requests within **`5 seconds`**. If processing exceeds this duration, the event will enter the retry process ([see bellow](/event-platform/concepts.html#retry-policy-for-transient-failures.html)).
36
+
Specifically for the HTTPS destination type, the delivery timeout ensures that messages are processed within a specified time frame. Your endpoint is expected to handle requests within **`5 seconds`**. If processing exceeds this duration, the event will enter the retry process ([see bellow](/event-platform/concepts.html#retry-policy-for-transient-failures)).
26
37
27
38
Under normal circumstances, your HTTPS endpoint must handle the event as fast as possible.
28
39
**Our recommendation** is to put the message in a `queuing system` or in a `database` for asynchronous processing.
@@ -53,12 +64,12 @@ Your subscription is immediately suspended if you meet one of these conditions:
53
64
54
65
### Threshold-Based Suspension:
55
66
56
-
This type of suspension is based on the success rate of your HTTPS endpoint. If the success rate drops below 95% within the last rolling hour, your subscription will be suspended.
67
+
This type of suspension is based on the success rate of your HTTPS endpoint. If the success rate drops below 90% within the last rolling hour, your subscription will be suspended.
57
68
58
69
Here are the errors type that decrease the success rate:
59
70
60
71
-`5XX Server Error` HTTP statuses
61
-
-`429 Too Many Requests` HTTP statuses (while the minimum rate threshold is exceeded)
72
+
-`429 Too Many Requests` HTTP statuses (while the event remains undelivered for more than one hour)
Copy file name to clipboardExpand all lines: content/event-platform/limitations.md
+3-3Lines changed: 3 additions & 3 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -8,9 +8,9 @@
8
8
9
9
**Event Platform Quotas:**
10
10
11
-
Our Event platform has specific quotas designed to ensure optimal performance and fair usage for all users.
12
-
-**Weekly Event Limit**: You can distribute up to 5 million events per week for the light payload.
13
-
-**Exceeding Limits**: If you exceed this limit occasionally, your usage will not be interrupted. However, habitual overages may require further discussion to optimize your usage.
11
+
Our event platform does not impose specific quotas.
12
+
13
+
However, to ensure optimal performance and fair use for all users, heavy usage (millions of events per day) may require further discussion to help you optimise your usage.
14
14
15
15
::: panel-link Consult now our FAQ [Next](/event-platform/faq.html)
Akeneo is responsible for the UI extensions framework itself, including the APIs and administrative interface. We provide support for these components. Your organization or your integrator is responsible for any custom code, iframes, or other custom development built within the UI extensions. Support for this custom code falls to your organization or integrator, not Akeneo.
4
+
5
+
### How can I add a new UI extension to my PIM?
6
+
Adding a new extension to your organization is easy! Just follow the steps in [this guide](https://api.akeneo.com/extensions/getting-started.html#getting-started).
7
+
8
+
### The UI extensions entry isn't showing up in my PIM. Could you help me understand why?
9
+
If you don't see the UI extensions entry in your PIM, it's likely due to permission settings. [This guide](https://api.akeneo.com/extensions/getting-started.html#authorization) will help you check and activate the necessary permissions.
10
+
11
+
### I'd like to see my extension in a position that isn't currently available. What can I do?
12
+
Currently, UI extension placements are limited to those defined by Akeneo. However, we highly value your feedback! Please contact your Customer Success Manager or our Support team to share your specific placement needs. This will help us understand your use case and consider it for future development.
You may want to create UI extensions that are only available to certain user groups or for specific products. This can be achieved by filtering UI extensions based on user groups and product selection.
4
+
5
+
### Filter UI extension by user groups
6
+
7
+
You can filter the user groups allowed to see and execute an UI extension by using the permissions tab on the UI extensions creation/edition form.
In addition to the filtering capacity, you can order the UI extension in the UI using the `weight` field on the creation/update form. This will determine the order in which extensions are displayed in the **header** and **tab** positions.
0 commit comments