> I didn't discuss queues because queues aren't intrinsically a part of a MS architecture.
I find this an odd juxtaposition. On one hand I see what you are saying, but on the other I believe the nature of MS architecture places huge emphasis on State and State management that isn't necessarily as large a focus in Monolithic patterns. Stateless versus Stateful and now the creative application of "Soft"-state design patterns become non-trivial concerns in a MS world.
To that end, I feel like some address (positive or negative) on the impacts MS architecture have on state and the pros-and-cons I think are topical.
I was also wondering, for my own education, if you could expound a little on your points here:
> Also, things can still get lost with queues. Network failures, partitions, bugs in your own publishers and consumers
Specifically:
> Network failures
I had always thought that the delivery guarantees of TCP (and maybe the new QUIC protocol over UDP) were robust against network failures. What kind of edge cases would result in data loss in queue context?
> partitions
I am entirely ignorant on how partitions might result in data loss...so what kind of things have you seen?
> bugs in your own publishers and consumers
Isn't this true across any application regardless of architecture? Or are you implying that MS architecture/Queues some how increase the likelihood of bugs by nature?
Thanks in advance! (I always enjoy learning new things and hearing about/learning from other's experiences)
I find this an odd juxtaposition. On one hand I see what you are saying, but on the other I believe the nature of MS architecture places huge emphasis on State and State management that isn't necessarily as large a focus in Monolithic patterns. Stateless versus Stateful and now the creative application of "Soft"-state design patterns become non-trivial concerns in a MS world.
To that end, I feel like some address (positive or negative) on the impacts MS architecture have on state and the pros-and-cons I think are topical.
I was also wondering, for my own education, if you could expound a little on your points here:
> Also, things can still get lost with queues. Network failures, partitions, bugs in your own publishers and consumers
Specifically:
> Network failures
I had always thought that the delivery guarantees of TCP (and maybe the new QUIC protocol over UDP) were robust against network failures. What kind of edge cases would result in data loss in queue context?
> partitions
I am entirely ignorant on how partitions might result in data loss...so what kind of things have you seen?
> bugs in your own publishers and consumers
Isn't this true across any application regardless of architecture? Or are you implying that MS architecture/Queues some how increase the likelihood of bugs by nature?
Thanks in advance! (I always enjoy learning new things and hearing about/learning from other's experiences)