Software design pattern is a general, reusable solution to a commonly occurring problem
Software architecture refers to the high level structures of a software system, the discipline of creating such structures, and system. Each structure comprises software elements, relations among them, and properties of both elements and relations
the occurrence of events independent of the main program flow
coordination of events to operate a system in unison
The simplest and most common way. Requests are distributed across all the instances sequentially.
A request goes to the instance that is processing the least number of active connections at the current time.
### IP HASH
This method generates a unique hash key from the source IP address and determines which instance receives the request.