Sunday, February 20, 2011

SEDA architecture

Not long ago, I worked on system that, in a way, resembled SEDA architecture. Although I had attended SOSP '01 and attended Matt Welsh's presentation on SEDA, I couldn't remember much about it so many years later. At the time, I did not connect the dots, but a Principal Engineer mentioned it and quickly I reminded myself about SEDA. Today I read an article explaining it and also a Matt's restrospective on SEDA that I wanted to share with you:

http://muratbuffalo.blogspot.com/2011/02/seda-architecture-for-well-conditioned.html
http://matt-welsh.blogspot.com/2010/07/retrospective-on-seda.html

Matt's retrospective is interesting as the architecture is something that he stills sees a valid and worth considering for modern system, but the stages is something he would group to reduce latency. I would say that, from my experience, the issue is how to have the proper visibility into each stage and its queues, to understand how the system is behaving. Sometimes one just butt heads due to the lack of understanding of the overall architecture and due to lack of metrics on where your backlog may be to understand your bottleneck.

One great question about this retrospective is how Matt views Actors (as in Scala)? The poster asks whether each actor could be a sort of micro-stage in a SEDA architecture. Unfortunately Matt hasn't replied to this question (yet).
Post a Comment