EVENT-DRIVEN CONTENT RENDERING

Move content rendering off the request path

Decouple public content delivery from the CMS, APIs, databases, and other systems that produce it. StreamX processes content when source data changes and distributes the resulting output before users request it.

event-driven-rendering

Scale delivery independently

Keep published content available

Update without cache complexity

The challenge with request-driven content delivery

Modern websites pull content and data from multiple systems: CMS platforms, APIs, databases, commerce systems, search, and other operational services.

When those systems participate in page delivery, their latency, capacity, and availability become part of the request path.

Request driven vs event driven diagram

Caching, static generation, and revalidation reduce that dependency, but introduce their own operational trade-offs. Teams still need to decide what to cache, when to rebuild or revalidate it, and which related outputs need to change when the underlying data changes.

Event-driven content rendering takes a different approach: process the change when it happens, then make the resulting content ready for delivery before traffic arrives.

What event-driven content rendering enables

Resilient published content

Already-processed content remains available independently of the systems that produced it. If a CMS, API, or database slows down or becomes unavailable, the latest successfully processed version can continue to be served.

Incremental, dependency-aware updates

A page can depend on content and data from several systems, and one change may affect multiple outputs. Those relationships are defined in the service mesh, so the relevant processing runs when an input changes without rebuilding everything or manually coordinating cache invalidation across sources.

Independent traffic scaling

Backend work follows source changes rather than pageviews. Once content has been processed and distributed, higher traffic increases load on the delivery layer without proportionally increasing work across the systems behind it.

Decoupled content delivery

CMS platforms, APIs, and databases remain systems of record without having to serve every public request. Read-heavy traffic is handled independently by the delivery layer.

Freshness driven by changes

Updates are triggered by source events rather than TTLs, cache expiry, or a request that causes regeneration. The publication flow determines when content changes become available.

Predictable delivery performance

Requests are served without waiting for CMS, API, or database responses. Removing source-system latency and rendering work from the request path reduces one source of performance variability and provides a stronger foundation for consistently good Core Web Vitals.

How StreamX enables event-driven content rendering

StreamX provides the event-driven processing and delivery layer between the systems that own your content and the users that consume it.

Continuous materialization

StreamX calls this model continuous materialization: instead of building content on a schedule or computing it when a request arrives, changes continuously trigger the processing needed to produce and distribute updated output. The delivery state evolves as source data changes, so it is already materialized when users request it.

1

Ingest source changes

Publication and data changes enter StreamX as events from connected source systems.

2

Run configured processing

The service mesh defines which processing should execute in response to each event.


3

Materialize updated output

Triggered services render pages and fragments or generate other required outputs, such as search records, feeds, or sitemap entries.

4

Distribute for delivery

Updated output is distributed to the delivery layer so it is available before a user requests it.

StreamX is designed to remove unnecessary runtime dependencies, not every runtime dependency.

Materialize before request

Public, read-heavy content whose state can be known in advance: content pages, product information, documentation, announcements, navigation, listings, fragments, search documents, sitemaps, feeds, and other derived delivery data.

Keep live at request time

Authentication, payments, transactions, account state, live eligibility decisions, and other operations whose result depends on the exact user or system state at request time should continue to use controlled runtime APIs.

HOW IT COMPARES

Different approaches move the work to different places

Approach

When work happens

What happens on request

Main trade-off

Static site generation

Build time

Serve pre-built output

Large or frequent rebuilds can become operationally expensive

ISR/revalidation

Build, request or revalidation time

Usually serve cached output; some requests trigger regeneration

Freshness and runtime behavior depend on revalidation/cache sta

Server-side rendering

Request time

Render using runtime compute and data

Rendering and required backends remain on the request path

Client-side rendering

Browser/request time

Browser fetches data and renders

Runtime APIs and browser execution remain part of delivery

CDN caching

After content has been requested/generated

Serve cached response on a hit; go upstream on a miss/revalidation

Origin/runtime dependencies still exist behind the cache

Event-driven
rendering

Source-change time

Serve already-processed content from the delivery layer

Requires an event-processing layer and configured processing logic

The difference is when the work happens

A CDN can protect an existing request path by serving cached responses. ISR can avoid regenerating every page on every request. Static generation can remove runtime rendering entirely.

StreamX starts from a different trigger: the source change itself. That event runs the processing defined in the service mesh and distributes the resulting output before demand arrives.

Where event-driven rendering fits best

Event-driven content rendering is especially valuable for large, read-heavy digital experiences where content changes frequently, traffic can spike unexpectedly, and published information needs to remain available independently of source systems. These characteristics appear across industries, from news and public services to travel, retail, financial services, and telecommunications.

FAQs

Answers to some of the most common questions about how StreamX renders and delivers content.

  • The main difference is when rendering happens. Static generation renders at build time, ISR regenerates based on revalidation, and SSR renders on request. StreamX renders when source content changes, then distributes the resulting output before users request it.

  • The processing logic and dependencies are defined in the StreamX service mesh. When a source change enters the mesh as an event, that configuration determines which processing runs and which outputs are updated. This allows changes to be handled incrementally instead of rebuilding unrelated content.

  • StreamX can render pages, fragments, and other content with a layout. It can also generate outputs such as search records, sitemap entries, feeds, and metadata that other services consume programmatically.

  • Anything that depends on the exact state of a user or system at request time should stay live. This includes transactions, payments, account data, authentication, eligibility checks, and other request-specific operations.

  • StreamX processes updates from the moment it receives the source event rather than waiting for a rebuild, crawl, or user request. Publication-to-delivery latency is usually under 200ms.

  • Already-processed content remains available from the delivery layer. Users can continue receiving the latest successfully rendered version without waiting for the source system to recover. New changes from that source cannot be processed until it becomes available again.

  • A CDN typically serves a cached response when one is available and falls back to the upstream request path when content needs to be fetched or revalidated. StreamX moves eligible rendering work earlier: source changes trigger processing and the resulting output is distributed before a user request arrives.

  • It is best suited to content whose state can be prepared before the request. Transactions, personal account state, payments, live eligibility decisions, and other operations that must evaluate the current state when the user acts should continue to use runtime APIs.

al AEM Architect of Arbory Digital - Tad Reeves

Tad Reeves
Principal AEM Architect,
Arbory Digital

"Even with a move to AEM Edge Delivery (Helix), one is still faced with the problem of how to architect around the availability and performance of backend systems that you now have to stitch together at the CLIENT side.

That’s where StreamX (...) can be used as a potential for dramatically increasing speed and reliability for complicated web/mobile experiences."

From article in Arbory Digital Blog

Ready to see what StreamX can do for you?