Urgent.News

What's breaking now, across thousands of outlets.

Tech

“Send” Is Not One Operation: Rethinking Distributed Computing #5

The dangerous part of send(message) is how much meaning we quietly pack into the word “send.” "Why send(message) is not one operation. Explore transient vs. persistent communication, synchronous vs. asynchronous messaging, queues, publish/subscribe, message brokers, MPI, collective communication, delivery guarantees, ordering, and the contracts hidden behind distributed communication." Two…

The "send" verb hides multiple independent decisions in distributed computing. When Alice sends a message to Bob, several questions arise regarding the message's fate. First, how long should the message stay alive? Transient communication keeps the message only while both Alice and Bob are active, while persistent communication preserves the message until either party can handle it.

Second, when is the sender allowed to continue working? Asynchronous communication lets Alice move on from sending the message, while synchronous communication requires her to wait until the message is delivered or processed by Bob. These two questions—how long the communication system preserves the message and how long the sender must wait—are not mutually exclusive and can be combined.

A message can be persistent and asynchronous, like email, or persistent and synchronous, waiting for durable storage at the receiving side without requiring the receiving application to be active. Transient asynchronous communication lets the sender continue immediately while relying on temporary buffering, and transient synchronous communication can wait for receipt, delivery, or even a response.

The message queue plays a crucial role in decoupling applications, allowing them to operate without needing to coordinate their calendars.

Written by urgent.news from Dev.to's reporting — not their text. Machine-written — may contain errors; check the original before relying on it.

Read the original at dev.to →

More in Tech

38 Dart & Flutter Tips That Actually Make a Difference in Production

After 4+ years of building Flutter applications, I’ve learned that the biggest improvements often come from small decisions repeated every day. A better way to handle a nullable value.

  • Consistent small decisions lead to significant improvements in Flutter apps
  • Better handling of nullable values enhances code reliability
  • Organizing business logic effectively streamlines app development

More from Saturday 26 September →