What is different between stateful and stateless services for High Availability Technologies.
Stateful:
- An action typically comprises multiple requests
- Data needs to be replicated and synchronized between redundant services (to preserve state and consistency)
- For example on Openstack services for stateful MySQL, RabbitMQ, Cinder Volume, Ceilometer center agent, Neutron L3, DHCP agents, etc.
Stateless:
- There is no dependency between requests
- No need for data replication/synchronization. Failed request may need to be restarted on a different node.
- For example on Openstack for stateless services Nova-api, nova-conductor, glance-api, keystone-api, neutron-api, nova-scheduler, Apache web server, Cinder Scheduler, etc.