PAT.Access Distribution
This page has maturity level 3 (usable)
PAT | Access Distribution | Version: | 0.2 | ||
---|---|---|---|---|---|
Document type: | Pattern Type | Owner: |
Description
This Pattern Type belongs to "Infrastructure Sector Business Support". This facility serves to accept connections from clients (users) and direct them to a facility or application (or to a set of different facilities or applications) that has been realized with multiple instances (so-called "distributed facilities"). The reason to distribute access over multiple instances of a facility/application may be to increase the maximum load that can be handled, or to help business continuity by spreading the facility/application over multiple sites, or both.
Examples of components used by an Access Distribution realization are a load balancer appliance and a web proxy server.
Access Distribution facilities are often combined with Access Security facilities.
Graphical Overview
This is the graphical representation of the infrastructure functions in this Pattern Type, plus their main relations:
(The source file of this picture can be downloaded here).
Pattern Type Composition
This pattern has the following mandatory and optional subfunctions, expressed in Building Block Types:
Icon | Function | WA | Inclusion | Rationale |
Distribution | NW | mandatory | This facility delivers the core functionality of the pattern. | |
Caching | MW | optional | The Access Distribution Pattern is a very good place to implement caching as it can both ease the load on the distributed facilities behind this pattern, and speed up their apparent responsiveness. | |
Data Scanning | SE | optional | Distribution may occur not only based on the traffic characteristics ("conventional routing") but also on the content of the traffic ("content based routing"). To this end, the Access Distribution pattern should have access to the data of the traffic that's being distributed, and this Building Block Type offers that access. As an example: this BBT could recognize HTTP headers within network traffic, and direct traffic destined for a particular application to the right application server. | |
Load Balancing | NW | optional | Loads may need to be (re)directed either for an even distribution of load on the distributed facilities, or to counter the effect of a failure of a component or facility in the hinterland. In either case, a facility is needed that can provide the Distribution facility with the means to sense the need for load balancing, and consequently make a distribution decision. | |
Connection Handling | NW | optional | For a correct distribution of access over distributed facilities, the Distribution facility may need access to session data, which Connection Handling can provide. Furthermore, for a seamless transition of a user session from one part of the distributed facility to another, the session may require special attention (e.g. a "session state database"). |
Pattern Type Neighbors
This pattern has the following mandatory and optional relations with adjacent (sub)functions, expressed in Pattern Types (PAT). Note: if the table below is empty, then there are no architecturally prescribed relations with adjacent subfunctions:
Function | Adjacency | Description |
Pattern Variants based on this type
No Patterns Variants implement this Type (yet)