Session:
To create a client session the application code must provide a connection string containing a comma separated list of host:port pairs
host + port
If this connection fails, or if the client becomes disconnected from the server for any reason,
the client will automatically try the next server< /strong> in the list, until a connection is (re-)established.
Eventually,
when connectivity between the client and at least one of the servers is re-established, < /span>
the session will either again transition to the “connected” state (if reconnected within the session timeout value)
or it will transition to the “expired” state (if reconnected after the session timeout).
The ZK client library will handle reconnect for you.
Heartbeat:
Expirations happens when the cluster does not hear from the client within the specified session timeout period (ie no heartbeat)
At session expiration the cluster will delete any/all ephemeral nodes owned by that session and immediately notify any/all connected clients of the change (a nyone watching those znodes)