DriversRecommendedOutdated drivers can make a good PC feel brokenScan driver issues before chasing fixes manually.Scan NowOctober DealsAmazon USOctober deal check: compare before you payAmazon US: current deals, useful picks and tech finds.Check DealsSlow PC?RecommendedPC slow today? Run a repair scan before it gets worseResolve common Windows issues and optimize system performance.Scan Now×
Skip to content
World desk8 min

Real-Time Marketplace Notifications: A Practical Architecture and Edge-Case Guide

A practical architecture for marketplace notifications: separate event creation, durable feed state, and channel delivery, then handle reconnects, retries, privacy, and stale alerts.
Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Build marketplace notifications as three separate systems: create an authoritative event when marketplace data changes, store a durable notification record, and deliver updates through the channels suited to each device and use case. Use server-sent events (SSE) for a one-way live browser feed, WebSockets when users need ongoing two-way interaction such as chat, and APNs, FCM, or Web Push for background reach. Treat every push as a prompt to fetch current, authorized data—not as the notification record itself.

What should a real-time notification system do?

A notification system has four jobs that are easy to conflate: detect a marketplace change, decide who should hear about it, preserve the notification state, and deliver an update. Keep those responsibilities distinct. A live connection or push provider can fail even when the underlying listing, message, or account change has already succeeded.

As an Amazon Associate I earn from qualifying purchases.

For example, a new buyer message is first committed to the conversation. The application then creates a notification for the seller, records it in the seller’s in-app feed, and schedules eligible delivery attempts. If the seller is online, the open browser can receive a feed update. If the seller is offline, a mobile or supported web client may receive a push alert. Opening either alert should fetch the current conversation after checking access.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

This separation gives the product a durable source of truth and makes delivery recoverable. It also makes user preferences, multiple devices, retries, and stale-event suppression easier to handle without allowing a transient transport failure to undo a marketplace transaction.

How should marketplace events flow through the system?

  1. Commit the marketplace change. Save the authoritative change first: for example, a new message, a saved-search match, a listing status transition, or a moderation action. Notifications should describe committed state, not an uncommitted request.
  2. Create a stable event. Give it a unique event ID, recipient or tenant identity, event type, creation time, and a relevance or expiry window. Add sequence or version data when the order of events for a particular conversation or entity matters.
  3. Persist the notification and schedule delivery reliably. Keep the in-app record durable. Enqueue delivery work as part of a workflow that can recover after a process or provider outage. A transactional outbox is one common option for reducing the gap between a database commit and publishing its event; it is an implementation pattern, not a requirement imposed by a transport.
  4. Choose recipients and eligible channels. Apply account state, user preferences, quiet hours, urgency, registered devices, and channel capability. Check changeable preferences close to delivery time when product rules require it.
  5. Fan out with idempotency. Use the event ID, or a derived idempotency key, to prevent retries or duplicate consumption from creating multiple copies of the same in-app notification. Track device endpoints separately so one user can have one feed record and several eligible delivery targets.
  6. Deliver and reconcile. Stream a feed update to connected browsers and submit eligible background pushes. Record each channel’s attempt, provider response, timestamp, and terminal outcome. The client should fetch the canonical feed or destination state and reconcile what it receives.

For meaningful operations, observe queue age, send failures by error class, invalid-token rate, retry volume, and stale-notification suppression. Provider acceptance, device delivery, display, and user interaction are different outcomes; do not treat a successful send request as proof that someone saw the alert.

Should the system use SSE, WebSockets, push, or a queue?

These options solve different problems and are often combined. SSE and WebSockets keep a live connection to a foreground client. Push reaches supported clients when the app is in the background. A queue or pub-sub system moves work between backend components; it is not a user-facing delivery channel.

Need Suitable approach Key trade-off
One-way live updates in an open browser SSE Provides a server-to-browser event stream and browser reconnection behavior. Consider connection limits, especially for users with multiple tabs.
Frequent two-way interaction over a live connection WebSockets Consider for an explicitly bidirectional feature such as real-time buyer-seller chat. The available documentation does not establish a universal performance or scale winner over SSE.
Background alerts on mobile or supported web clients APNs, FCM, or Web Push Delivery crosses provider and platform infrastructure; device connectivity and registration freshness matter.
Asynchronous backend fan-out Queue or pub-sub Decouples producers and consumers, but requires decisions about expiry, unavailable subscribers, duplicates, ordering, and eventual consistency.

Use SSE for a one-way browser feed

SSE is a straightforward fit when the server needs to tell an open browser about new feed items but the browser does not need to send application messages over that same stream. MDN describes SSE as a one-way connection: “This is a one-way connection, so you can’t send events from a client to a server.” The event format supports an event ID and retry timing, and browsers attempt to reconnect when the stream closes.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
Rank #2
Sale
Revenue Architecture
  • Operating Model: Introduces a practical model for peak operational efficiency

Plan for deployment behavior as well as the API. MDN cautions that without HTTP/2, browsers have a low per-browser, per-domain connection limit, which can become noticeable when a user opens several tabs. Ensure proxies do not buffer the stream, consider keepalive comments where needed, close streams after client disconnects, and configure credentials and CORS correctly for cross-origin use. On reconnection, a client can send its last-seen cursor where the application supports it, then fetch the canonical feed to fill gaps.

Use WebSockets when the product needs two-way live interaction

Choose WebSockets when both client and server need to exchange frequent messages over an ongoing connection, as in live buyer-seller chat. A notification feed alone does not establish that requirement: the browser can receive an SSE update and use ordinary authenticated requests for subsequent actions. The available source material supports SSE’s one-way behavior but does not provide a detailed protocol benchmark or a blanket recommendation about which technology scales better.

Use push for background attention, not as durable state

Background push follows a multi-hop path. Firebase’s documentation describes a trusted application server sending through the FCM backend and platform transport to a client SDK; the device must be online for delivery. APNs and Web Push serve their respective platform paths. A provider request is therefore not a guarantee that an alert was displayed or read.

Keep generic push payloads minimal. Avoid including private message text, buyer or seller identity, or sensitive listing details unless the user’s settings and product privacy rules allow it. On notification click, authenticate the user, authorize access to the destination, and fetch its current state. A listing may have been removed, a conversation blocked, or an account suspended after the alert was queued.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

Use a broker for backend decoupling, with explicit delivery semantics

A queue or pub-sub broker can separate the marketplace event producer from notification consumers, but it does not automatically create durable user-visible notifications. Subscribers can be unavailable, messages can expire, and ordering or consistency guarantees vary. Decide which events require durable storage, how consumers recover, and whether each event is still relevant when it reaches a worker.

How should the system handle reconnects, retries, and stale events?

Design for repeated and delayed work rather than assuming one attempt per event. Pub-sub delivery and retry behavior can produce duplicate processing; offline clients can miss a live stream; and a notification can arrive after the underlying marketplace state changes.

  • Duplicate processing: Make notification creation and delivery handlers idempotent using stable event identifiers. A retry should update or resume the same work rather than create a second feed item.
  • Out-of-order events: Include sequence or version information for a thread or entity when ordering affects meaning. Preserve ordering only where it matters instead of imposing global ordering across unrelated events.
  • Offline or disconnected clients: Persist feed state and support catch-up by cursor or time window. A provider response does not establish that the user viewed the notification.
  • Stale events: Set a relevance or expiry window and suppress obsolete alerts, such as a saved-search notification for a listing that has since been removed.
  • Preference changes: Re-evaluate preferences near delivery when required, so an event queued before a quiet-hour or channel-setting change does not blindly follow old settings.
  • Account and moderation changes: Suppress, redact, or reroute events if a listing is hidden, an account is suspended, or a conversation is blocked.
  • Privacy and authorization: Minimize payload data and re-authorize deep links when opened. Do not assume that possession of a notification grants access to its destination.
  • Multiple devices: Maintain endpoint registrations per device while deduplicating the user’s in-app notification record. Fan out only to currently eligible endpoints.

For foreground streams, reconnecting is only part of recovery: the client also needs a way to discover events it did not receive. Use a last-seen event cursor when supported, and have the client reconcile against the authorized canonical feed. This keeps the server’s durable state authoritative even when a connection drops between events.

How should push tokens and Web Push subscriptions be managed?

Device registration is a lifecycle, not a one-time setup step. FCM guidance emphasizes protecting credentials and registration tokens. Web Push relies on service workers and subscriptions that can change or become invalid. Treat tokens and subscriptions as sensitive endpoint data: restrict access, avoid logging them casually, and remove or refresh registrations when the provider or client indicates they are no longer valid.

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Support registration and refresh when a client obtains or updates an endpoint.
  • Handle revocation, permission denial, invalidation, and browser-specific behavior without blocking the in-app feed.
  • Associate each endpoint with its user and platform, and stop sending to endpoints reported as invalid.
  • Keep credentials on trusted server infrastructure; never expose provider secrets in browser or mobile client code.
  • On a click, fetch current authorized content instead of relying on possibly old payload data.
Independent reader supportYour contribution helps us test, update, and keep practical guides available for everyone.Support on Ko-Fi

What retry policy is appropriate for push delivery?

Classify failures, throttle traffic at the sender boundary, use bounded exponential backoff with jitter, and stop retrying when the alert is no longer timely. Respect provider retry instructions rather than applying one schedule to every error.

Firebase’s FCM scaling guidance recommends waiting at least 10 seconds before retrying a failed request. For HTTP 429 responses, it says to honor Retry-After; when that header is absent, its documented default is 60 seconds. For HTTP 500 responses, it recommends exponential backoff with jitter and a maximum interval so requests that are no longer timely can be dropped. Its guidance says to abort rather than retry HTTP 400, 401, 403, and 404 errors. These are FCM-specific operational recommendations, not universal rules for every provider.

Keep retry windows tied to notification relevance. A delayed saved-listing alert may be worthless after the listing is gone, while a durable in-app record can remain available even if an external push expires. Retain enough attempt history to distinguish transient provider trouble from invalid credentials, invalid endpoints, or application errors.

What should be decided before choosing a provider or capacity plan?

The transport choice does not determine a full architecture by itself. A single-provider or capacity recommendation depends on product constraints that vary by marketplace. Set these requirements explicitly before selecting connection topology, broker behavior, or service limits:

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.
  • Which platforms and browser versions must be supported?
  • Which events need an in-app record, a foreground update, a background push, or several channels?
  • How quickly must each event arrive, and when does it stop being relevant?
  • Which event types require per-thread or per-listing ordering?
  • What privacy, consent, quiet-hour, and moderation rules apply to payloads and delivery?
  • How should the system behave during provider, broker, or client outages?
  • What consistency and recovery guarantees are required for the feed?

Official MDN, Firebase, and AWS documentation accessed October 7, 2026 supports the transport and operational behaviors described here; it does not establish a universal latency target, throughput, adoption rate, or engagement benchmark for classified marketplaces. Capacity and provider selection should therefore follow the platform mix, traffic profile, latency objective, budget, and consistency requirements of the specific product.

Product prices and availability are accurate as of the date/time indicated and are subject to change. Any price and availability information displayed on Amazon at the time of purchase will apply.

Leave a Reply

Your email address will not be published. Required fields are marked *

Special offer. See more information about Outbyte and uninstall instructions. Please review EULA and Privacy policy.

More from the Wire

  1. World desk4 min
    How to Spot an AI Voice Scam Before Sending MoneyDon’t rely on how a caller sounds. Pause, call back through a known number, and verify the emergency with another trusted person before sending money.
  2. Mountain View desk4 min
    Google’s SynthID Detector: How to Check AI-Generated Images, Video and AudioGoogle’s SynthID Detector looks for an embedded watermark in supported images, video and audio. Here is what its results do—and do not—show.
  3. Redmond desk20 min
    How to create a link to File or Folder in Windows 11Windows 11 gives you several ways to point to a file or folder without moving or duplicating it. You can create a desktop shortcut,…
Recommended PC Tool
Recommended PC Tool
PC Slower Than It Used to Be?Free scan - under a minute
Outdated Drivers Are Slowing You DownFree scan - exact matches

Two free Windows tools

One Free Minute Could Fix That PC

Before you go - each of these free tools takes about a minute and tackles what quietly slows a Windows PC down.

Special offer. View Outbyte info, uninstall instructions, EULA, and Privacy Policy.