Temporal Coupling/Decoupling

While watching a recent video on NATS Jetstream, the following terms were introduced:

  • temporal coupling (Classic NATS)
  • temporal decoupling (NATS Jetstream)

In this context, the definition of temporal is “relating to time.” So the essence of streams is they offer temporal decoupling – you don’t have to process data in real-time – you can do it later. Several scenarios where this might be useful in the context of an IoT system:

  • it takes time to process the data (you can’t do it in real-time)
  • batch processing may be more efficient
  • an algorithm needs some amount of data history (time-series data)
  • data needs to be stored in the event of a network disruption and then sent when network connectivity is restored