|
Next: 3.1.2 Backend Server Scalability
Up: 3.1 Scalability
Previous: 3.1 Scalability
The number of WWW users connected concurrently to our information system is
not predictable and varies from time to time. In addition, the collections
of integrated BES on the client-side should be customizable by each user. We
therefore propose a multi-tier client-server architecture with the standardized
message bus between client and application server, as described in Section 2.
By decoupling the clients from the backend servers, the application server in
the middle tier manages the overall workload in a controlled manner:
- The size of each pool of application objects is determined by a configurable
value. If the number of active requests exceeds the number of application objects
in a pool, a client request is blocked until one of the stateless application
objects is ready for processing the request. This allocation strategy guarantees
that there is a well-defined number of concurrent application objects which
in turn determine the maximum workload the BES are exposed to. The upper bound
is independent of the overall number of concurrent WWW users. In addition, the
statelessness of application objects results in a constant number of allocated
objects in memory regardless of the actual workload.
- Since the presence of only one application server is a potential bottleneck
within the system, we have introduced the concept of interconnected groups of
application servers to our middleware. Thereby, one dedicated instance of the
group serves primarily as a message router, in order to balance the load among
the remaining group of application servers appropriately. Since such routing
objects are specialized application objects which forward messages to specified
locations, the entire set of application management functionalities apply to
them. Various sophisticated routing strategies can be implemented in order to
fulfill potential load-balancing requirements because application objects can
be configured at run-time.
The message bus provides an uniformly accessible communication channel which
is completely independent from any specific collection of BES representation
at the client-side. Therefore, the interaction of multiple applications through
dedicated application protocols which are wrapped in messages, makes no assumptions
about the communication-related code of applications apart from the common message
bus interface. This scalable approach enables the access to any collection of
BES representations at the client-side.
Next: 3.1.2 Backend Server Scalability
Up: 3.1 Scalability
Previous: 3.1 Scalability
Ralf-Dieter Schimkat
Thu Dec 9 14:08:00 GMT+1 1999
|
|