6

I read the Reactive Manifesto .

But I could not understand the core differences between event driven architectures and message driven architectures. And as a result, I also could not understand the exact reason behind why the reactive manifesto prefers Message Driven systems instead of the Event Driven one.

I also had a look at this interview, where Martin Thompson discusses the reactive manifesto.

But still, I could not clearly distinguish between these two architectures, their advantages and use cases.

oblivion
  • 5,928
  • 3
  • 34
  • 55
  • Just a friendly suggestion, but you're wandering into the weeds. This sounds more like a pitch for a seminar series than anything I'd take seriously, and I'm saying that as a big fan of FRP in general (and indeed, I see nothing I conflate with reactive programming in the marketing-speak that I skimmed through in the link). – Jared Smith Jan 23 '17 at 18:26

1 Answers1

6

Without sharing the view, I try to explain the claim:

An event implies a certain semantic, while a message is more about syntax. Thus a message may contain an event, but also something else (e.g., an error statement).

By focusing on the mechanism message, a better decoupling can be gained, since the semantic can be re-interpreted.

Matthias
  • 8,018
  • 2
  • 27
  • 53
  • Can you please explain this part of your answer : `By focusing on the mechanism message, a better decoupling can be gained, since the semantic can be re-interpreted.` – oblivion Jan 23 '17 at 17:56
  • 2
    @oblivion it means that the transport layer of your architecture shouldn't know about *what* its transporting. Its up to the receiver to "interpret the semantic". – Jared Smith Jan 23 '17 at 18:28
  • 1
    @oblivion: Jared stressed the point (thanks!). To elaborate, an event is usually defined as a change in (a relevant part of) the state. A message in turn is a method to exchange information between loosely connected entities. A message *may* carry an event, but the receiver may have a different view on the state space (i.e. other semantics), or the receiver may even interpret this very message as simply "Uuups, something went wrong." or a command "act in this way". – Matthias Jan 24 '17 at 08:29