Session Persistence¶
There are two types (or modes) of session persistence:
Name | Description |
---|---|
HTTP_COOKIE | A session persistence mechanism that inserts an HTTP cookie and is used to determine the destination back-end node. This is supported for HTTP load balancing only. |
SOURCE_IP | A session persistence mechanism that will keep track of the source IP address that is mapped and is able to determine the destination back-end node. This is supported for HTTPS pass-through and non-HTTP load balancing only. |
Setup¶
In order to interact with this feature you must first retrieve a particular load balancer, like so:
$loadBalancer = $service->loadBalancer('{id}');
List Session Persistence Configuration¶
$sessionPersistence = $loadBalancer->sessionPersistence();
/** @var $sessionPersistenceType null | 'HTTP_COOKIE' | 'SOURCE_IP' **/
$sessionPersistenceType = $sessionPersistence->persistenceType;
In the example above:
- If session persistence is enabled, the value of $sessionPersistenceType is the type of session persistence: either HTTP_COOKIE or SOURCE_IP.
- If session persistence is disabled, the value of $sessionPersistenceType is null.
Enable Session Persistence¶
$sessionPersistence = $loadBalancer->sessionPersistence();
$sessionPersistence->update(array(
'persistenceType' => 'HTTP_COOKIE'
));
Disable Session Persistence¶
$sessionPersistence = $loadBalancer->sessionPersistence();
$sessionPersistence->delete();