As I began work on the SILK implementation, I discovered that we have a possible issue
that is central to the concept of blocks, services, and maybe even the kernel.
Matt Welsh's SEDA is implemented as one large server. His general principals that he
is opperating under is that a Server should do only one thing. While his arguments
make sense if you have an unlimited budget, they do not make sense for a great many
small and medium sized businesses that need to merge servers until they have a business
need to separate them.
His Stage concept is powerful, and makes implementing a highly scalable server much
easier. However, when trying to reconcile the difference between SEDA and our Block
architecture, I find that we very well may have to reimplement some core blocks in
the Stage architecture to take advantage of the architecture.
The questions I have are these:
1) Should a Stage be viewed as a Block instead of merely a Component?
- This works well for connection management, but not so well for the Store
interface
2) Should the Block expose its internal stages to integrate with the rest of the
system?
- This provides a level in betweeen all stages being a block and all stages
being within a block.
3) Should each Block be required to be completely isolated systems?
- In practice, this creates some serious bottlenecks between the blocks.
The purpose of the SilkServer (renamed to StageManager) is to allow blocks
to have a collection of stages, all managed by a private StageManager, and
ask the SilkServer for the connection point if it needs to forward events
to a separate Block.
I think the renaming of SilkServer to StageManager was not correct, because it does not
represent what the StageManager should do correctly.
The last question I have is basically, If we cannot reconcile Block/Stage
relationships,
should we have an adaptation of the Phoenix kernel to work with Stages as opposed to
Blocks?
I would really prefer to come up with a solution to the Block/Stage relationship.
--
"They that give up essential liberty to obtain a little temporary safety
deserve neither liberty nor safety."
- Benjamin Franklin
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>