Ciao!

I would like some input on an intranet web service I am currently in the
process of designing, the core of which will be modperl on UN*X.

The service itself is to access a couple of back end data stores given
parameters received in an XML-RPC request, then return the results in an
XML-RPC formated response.  The data from the back end sources will be
loaded into memory at service initialization, for fast access.  The data
is small enough and memory plentiful enough to allow this.

That's pretty much it in terms of the high level data flow.  It has to
be relatively fast, OTO 5+ requests/sec. as a relative volumetric.

I'm going to use modperl due to the embedded perl interpreter
characteristics it provides, allowing initialization overhead to be
incurred at startup.  I also wish to use an in-memory, read-only hash
structure shared across all modperl processes for access to the cached
back end data, rather than making expensive calls to these stores for
each request.  Again, throughput is critical.

I would like your thoughts on the cache management concept of the
service.  I'm looking at MLDBM::Sync as the mechanism for managing the
filesystem representation of the in-memory hash content.  What to manage
the in-memory structure itself in terms of accessing its content?  Is a
Tie structure too expensive?  I want to end up with a single structure
accessible to all of the modperl processes, loaded at service startup.

This service will ultimately be registered within a UDDI/SOAP framework,
FYI.  However this will not be in the first incarnation of the service
itself.

Thoughts and comments welcome.  Obviously this is an early brainstorm
(more like a drizzle) but I hope to get a few stimulating comments from
this most excellent resource, the list.

Peace.

Reply via email to