Free tools Windows power users keep installed
One-click scans. No signup required.
Services can pass work along without being online at the same time by writing messages to a durable broker—a system that stores and routes messages—then letting consumers process them when they are ready. That helps with temporary outages, but it does not by itself guarantee that every business action happens once, in order, or successfully. A reliable design also needs durable writes, careful acknowledgements, duplicate-safe handling, and monitoring.
A food-delivery order makes the idea easy to follow: an order event could prompt payment, restaurant, delivery, and notification work. This is a teaching example, not a claim about Swiggy’s exact order or payment implementation. Swiggy Engineering has described using a Kafka-based messaging platform for event streaming and service orchestration and choreography; its incident account does not establish the details of every service in that flow.
| # | Preview | Product | Price | |
|---|---|---|---|---|
| 1 |
|
Visa Virtual eGift Card | $54.95 | Buy on Amazon |
| 2 |
|
Google Play gift code | $50.00 | Buy on Amazon |
| 3 |
|
$25 Apple Gift Card—Email Delivery | $25.00 | Buy on Amazon |
| 4 |
|
Visa Virtual eGift Card | $28.95 | Buy on Amazon |
| 5 |
|
Google Play gift code | $25.00 | Buy on Amazon |
As an Amazon Associate I earn from qualifying purchases.
How can one service hand work to another?
Instead of making a direct request and requiring both services to be available at once, the sender publishes a message to a broker. The broker retains it according to its durability and retention settings. A consumer reads it, performs the work, and acknowledges progress. If the consumer is temporarily unavailable, the message can wait rather than requiring the sender to keep the connection open.
Windows Errors? Fix Them Before They Spread
Repair common Windows errors and clear accumulated junk for a smoother, more stable PC - no reinstall needed.Free scan · no reinstallCrashes, No Sound, or Screen Glitches?
Random freezes, missing sound and display glitches usually trace back to one bad driver. Find and replace yours safely.Free scan · under a minuteFor example, an order service might publish an OrderPlaced event. Separate consumers could use it to start payment processing, notify a restaurant, arrange delivery, or send a customer update. Each action is a possible design illustration; it should not be read as a description of Swiggy’s implementation.
#1 Best Overall
- Visa Virtual eGift Cards are designed for online use only. Gift Cards are subject to Terms and Conditions: a.co/5bw3qXJ
- When you access your Visa Virtual eGift Card for the first time, you’ll need to register your name, address, phone number, and email address via activationspot.com. These details should also be used as your billing address for online purchases, as many merchants require address verification for purchase authorization.
- This Visa Virtual eGift Card is non-reloadable. No cash or ATM access. Visa Virtual eGift Cards are emailed active.
- Funds do not expire but your Visa Virtual eGift Card has a ‘valid thru’ date (9 years from date of purchase). If funds remain after this date has passed, please call the Toll Free number found on your Visa Virtual eGift Card for a replacement card. A one-time purchase fee applies at the time of checkout.
- This item is not eligible for refund, resale, or return. Available for sale within the United States only. Not available to residents of Puerto Rico, Hawaii, New Mexico, South Dakota, West Virginia and the US Virgin Islands.
A queue assigns work to a consumer group
A queue is useful when a task should be handled by one worker in a group. Multiple workers can share the load, with a task normally assigned to one worker at a time. If processing fails or the worker does not acknowledge the task, the broker or consumer configuration may make it available again. That recovery can mean the same task is handled more than once.
Pub-sub lets independent subscribers react
With publish-subscribe, a producer emits an event to a topic, and independent subscribers can each react to it at their own pace. A payment consumer and a notification consumer, for instance, can maintain separate progress. Delivery depends on the topic’s subscription, filtering, retention, and configuration; publishing to a topic does not mean every conceivable service automatically receives a copy.
| Shape | Who receives the work? | Independent progress | Typical fit |
|---|---|---|---|
| Queue / competing-consumer group | One worker in the group normally handles each task at a time; failures can lead to redelivery. | Progress is shared within the group. | Distribute a pool of similar jobs among workers. |
| Pub-sub / topic | Configured subscribers can each receive and process an event. | Each subscriber can track its own progress. | Let several independent services react to the same business event. |
The right shape depends on whether the sender is assigning a task to a worker pool or announcing an event that multiple services may independently use. Both reduce the need for sender and receiver to be up at the same moment; neither eliminates the need to plan for failure.
Quick wins for a faster PC:
Clear out junk files and repair common Windows errorsFree Scan →Fix the driver behind crashes, sound loss and screen glitchesFind Drivers →Rank #2
- No returns and no refunds on gift cards. Good for use on the US Google Play Store only. Terms apply - see below.
- Google Play gift codes can be used on the Google Play Store, the official app store for Android, to purchase apps, games, and more.
- To redeem, enter code in the Play Store app or play.google.com.
- Endless games to explore: Find and play old and new favorites – from mind-bending puzzles to epic quests and more.
- Just the app you’re looking for: Millions of apps means millions of ways to get things done, learn something new, and maybe even meet someone special.
What happens between publishing and processing?
- Publish: The producing service sends a message, ideally only after the business change it represents has been safely recorded.
- Retain and route: The broker stores and routes the message according to its persistence, replication, topic, and subscription settings.
- Consume: A worker reads the message and performs its business operation.
- Acknowledge: The consumer records successful progress only after the effect is safely committed. If it acknowledges too early and then crashes, the broker may consider the work complete even though the application effect was not saved.
- Recover or escalate: Depending on the delivery policy, failed or unacknowledged work may be retried, redelivered, or moved aside for investigation.
Broker durability is not a blanket promise: what survives a failure depends on the system’s configuration and assumptions, including persistence and replication. Acknowledgement semantics also matter. An acknowledgement generally records that a consumer has advanced or finished; it cannot make an external database update atomic with the broker by itself.
Can messages be lost, duplicated, or processed exactly once?
Delivery guarantees describe what can happen between a producer, broker, and consumer. They do not automatically guarantee that a real-world business effect—such as charging a customer or booking a delivery—occurs exactly once.
| Delivery mode | Loss risk | Duplicate risk | What it means in practice |
|---|---|---|---|
| At-most-once | Work can be lost if failure occurs at the wrong point. | Redelivery is avoided in the chosen path. | Can suit work where losing an item is preferable to repeating it. |
| At-least-once | Designed to avoid loss under the system’s stated durability assumptions. | Yes; a message may be delivered again. | Consumers must safely tolerate repeated handling. |
| Exactly-once processing | Defined only within a specific system scope and transaction boundary. | Can prevent duplicates within that scope, but does not automatically cover unrelated external effects. | Kafka documents transactional exactly-once processing for Kafka input/output flows; an external destination generally must cooperate for an end-to-end effect. |
Apache Kafka’s documentation distinguishes these semantics and explains the boundaries of its transactional guarantees. In particular, exactly-once processing within Kafka does not mean that any external service or database automatically participates in the same transaction. Apache Kafka: Design, version 4.0
Rank #3
- For all things Apple - products, accessories, apps, games, music, movies, TV shows, iCloud+, and more.
- Perfect for App Store purchases and subscriptions—get apps, games, music, movies, TV shows, and more.
- The perfect gift to say happy birthday, thank you, congratulations, and more.
- Available in $15 - 500, Card delivered via email or SMS
- Use it for purchases at any Apple Store location, on the Apple Store app, apple.com, the App Store, iTunes, Apple Music, Apple TV, Apple News+, Apple Books, Apple Arcade, iCloud+, Fitness+, Apple One, and other Apple properties in US only
Why retries create duplicates
Suppose a consumer performs an operation, but its acknowledgement is delayed or lost. The broker cannot necessarily tell whether the operation failed or succeeded before the connection broke, so it may deliver the message again. Retrying helps recover from temporary faults, but a retry after an ambiguous outcome can repeat an effect. Unbounded rapid retries can also add load precisely when a dependency is struggling.
Make repeated handling safe
An idempotent consumer produces the same business result whether it handles a particular event once or more than once. A common design is to give each event or operation a stable identifier, record processed identifiers, and commit that record atomically with the business effect where possible. For an illustrative payment flow, a stable operation ID could help a payment service recognize that a request is a repeat; that is a design example, not a claim about Swiggy’s payment keys or behavior.
Retries should be bounded and use backoff—waiting longer between attempts—so a transient failure can clear without hammering the dependency. Idempotency limits harm from duplicates; it does not replace sensible retry limits or alerting.
Rank #4
- Visa Virtual eGift Cards are designed for online use only. Gift Cards are subject to Terms and Conditions: a.co/5bw3qXJ
- When you access your Visa Virtual eGift Card for the first time, you’ll need to register your name, address, phone number, and email address via activationspot.com. These details should also be used as your billing address for online purchases, as many merchants require address verification for purchase authorization.
- This Visa Virtual eGift Card is non-reloadable. No cash or ATM access. Visa Virtual eGift Cards are emailed active.
- Funds do not expire but your Visa Virtual eGift Card has a ‘valid thru’ date (9 years from date of purchase). If funds remain after this date has passed, please call the Toll Free number found on your Visa Virtual eGift Card for a replacement card. A one-time purchase fee applies at the time of checkout.
- This item is not eligible for refund, resale, or return. Available for sale within the United States only. Not available to residents of Puerto Rico, Hawaii, New Mexico, South Dakota, West Virginia and the US Virgin Islands.
How do you avoid losing an event between a database and a broker?
A service can face a dual-write gap when it commits a database change and then separately publishes a message. If the database commit succeeds but the service crashes before publishing, downstream services never hear about the change. Reversing the order creates the opposite risk: an event may be published for a database transaction that later fails.
Use a transactional outbox
- In one database transaction, write the business change and a corresponding event row to an outbox table.
- After that transaction commits, a relay reads pending outbox rows and publishes them to the broker.
- Mark or otherwise track rows as published, while preserving any event order the domain requires.
- Make downstream consumers idempotent, because a relay can publish an event again if it crashes around publication.
The outbox ties the business change and the record of the event together in one database transaction, so a rolled-back change does not leave a committed outbox event. It does not make the broker publish and database commit one indivisible operation, nor does it eliminate duplicate publication. AWS Prescriptive Guidance describes the pattern and its duplicate and ordering considerations: Transactional outbox pattern.
The Tool Desk
Outbyte PC Repair FREEClear out junk files and repair common Windows errorsFree Scan →Outbyte Driver Updater FREEFix the driver behind crashes, sound loss and screen glitchesFind Drivers →What if a message keeps failing or order matters?
Move repeated failures somewhere visible
A poison message is one that repeatedly fails processing—for example, because it is malformed or triggers a persistent application error. A dead-letter or unprocessed-message destination can move such messages out of the normal retry path so they do not cycle indefinitely or block other work. This is not a fix by itself: teams need to monitor the destination, diagnose the cause, decide whether to repair or discard the message, and control any replay. Google Cloud describes moving failed messages to another topic for review or reprocessing: Event-driven architecture with Pub/Sub.
Best Value
- No returns and no refunds on gift cards. Good for use on the US Google Play Store only. Terms apply - see below.
- Google Play gift codes can be used on the Google Play Store, the official app store for Android, to purchase apps, games, and more.
- To redeem, enter code in the Play Store app or play.google.com.
- Endless games to explore: Find and play old and new favorites – from mind-bending puzzles to epic quests and more.
- Just the app you’re looking for: Millions of apps means millions of ways to get things done, learn something new, and maybe even meet someone special.
Define the order you actually need
A queue or topic does not automatically guarantee global ordering across all messages, partitions, or consumers. Many systems preserve order only within a narrower scope, such as a partition or key. If the business needs one customer’s order events processed sequentially, define that ordering key and ensure related events use it; unrelated orders may still proceed in parallel. Stronger ordering can limit parallelism, so choose the smallest scope that protects the business rule.
What Swiggy’s Kafka incident shows about resilience
In a 2022 incident account, Swiggy Engineering described its Kafka-based cloud messaging platform as supporting event streaming and processing, microservice orchestration, and choreography. The post is a first-party account of that platform and incident at that time; it does not establish that every current Swiggy service uses the same design. Swiggy Bytes: “#BehindTheBug — Kafka Under The Water,” August 23, 2022
Swiggy reported that a few partitions in one Kafka cluster were offline for four minutes, affecting a cluster serving more than 50 services in the order-fulfilment journey; the post says the event took down 18 internal services. Insufficient in-sync replicas triggered NOT_ENOUGH_REPLICAS errors. Some Java producer clients then repeatedly saw NOT_LEADER_FOR_PARTITION because their metadata did not update after a library bug caused a NullPointerException.
The company reported a 100X increase in overall cluster ingress during retry behavior, followed by client throttling. Its response included reducing ordering-service coverage in the top 20 cities for nearly an hour and restarting impacted services one by one. Those figures and actions describe Swiggy’s reported 2022 incident, not general Kafka behavior. The broader lesson is that retries alone cannot make a messaging system resilient: client correctness, capacity controls, observability, and a workable incident response matter too.
Quick Recap
Messaging reliability checklist
- Persist the business change and the intent to publish together, using an outbox when a separate database and broker would otherwise create a dual-write gap.
- Acknowledge only after the business effect is safely recorded.
- Retry transient failures with bounded attempts and backoff.
- Make consumers idempotent with stable event or operation IDs and durable duplicate tracking.
- Route exhausted failures to a monitored dead-letter or unprocessed-message destination, with an explicit repair and replay process.
- Monitor consumer lag, retry volume, and dead-letter depth; alert on growth that requires action.
- Specify ordering keys and ordering scope only where business rules require them.
- Test broker outages, stale client metadata, and recovery behavior rather than assuming that a broker’s delivery setting covers every failure mode.
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.




