|
|
|
|
|
by SideburnsOfDoom
1330 days ago
|
|
> fat events because fat events don't usually store a snapshot of the entire world. They're often actually delta events, forcing the consumer to rely on caching (a racey affair) or just fall back to hitting the API anyway. I think you're saying "I don't like fat events because they're not really fat events", well, sorry that's your experience, I don't think that's a valid criticism of the actual thing at all, just of your poor experience of it. > Data races can occur with fat events.. hitting the API anyway. That happens with thin events as a matter of course, right? You stated that thin events are "lot less prone to data races" and now you're saying that they're the same? Where's the fat-event-specific issue that you alluded to? Citation not provided. > Having the event consumer pull data is usually a trivial cost difference. As I have stated twice before, it's a non-trivial _reliability_ difference, and that's the key. |
|
No. If you send no data, what is the race? You can structure an API where there are no races. If you concede to API access the API can provide any sort of historical data necessary. The issue is with incomplete event data and assumptions around what the state was when the event was sent.
>As I have stated twice before, it's a non-trivial _reliability_ difference, and that's the key
You can state it until you're blue but the advantage _is_ usually trivial or there would be no debate. It just doesn't bite that often.
I would say the buggy and prone to rot coupling of baked in event data is a bigger concern for most.
That said, I'm making an argument about what is the best bet for dev time and it sounds like you're making an argument about what is best given infinite developer resources, an unchanging APIs, and full knowledge of what data the consumer needs.