Hacker News new | past | comments | ask | show | jobs | submit login
Killing the Command message: should we use Events or Documents? (2007) (vanguardea.com)
36 points by laerus on April 10, 2022 | hide | past | favorite | 6 comments




This one has all the diagrams, thank you!


I feel like in the last 10 years there's been a (mostly unconscious) swing from "document" or "resource" oriented modeling in APIs back to RPC type "command" APIs; due in large part to the new popularity and ubiquity of distributed RPC systems like gRPC (or Thrift, etc.)

The "REST" trend crested, and RPC came back with a vengeance. Or people just abused RESTful appearances but pasted command and remote-call semantics in overtop of it.

I still think that extensive use of RPC on the Internet has the problem of (deliberately) giving the application developer the illusion that the world of the remote and the local are in the same "system", thereby hiding the intrinsic problems of reliability and latency with communicating over a socket. I feel like this is maybe why a lot of systems that should "know better" fall down when they lose good network connectivity (looking right at you, Android Auto): the developer has not been forced to think about failure conditions because the framework fooled them into thinking that accessing the remote resource was semantically the same as accessing a local resource.

That's my rant about this topic, anyways.


I'm not convinced. Should we use command messages like rpc calls? No. But the category of command message makes sense. A command might fail. Only events are saved to the log. I think the separation of commands into ephemeral requests that may or may not result in new events on the log is a very reasonable distinction.


Is it just me or are all the diagram links broken? It's pretty hard to understand without them.


Yep, getting a bunch of 404 for the pictures here




Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: