1、memcached
Most OpenStack services can use Memcached to store ephemeral data(临时数据) such as tokens. Although Memcached does not support typical forms(传统形式) of redundancy such as clustering, OpenStack services can use almost any number of instances by configuring multiple hostnames or IP addresses.
The Memcached client implements hashing to balance objects among the instances. Failure of an instance only impacts a percentage of the objects, and the client automatically removes it from the list of instances.
Memory caching is managed by oslo.cache. This ensures consistency across all projects when using multipleMemcached servers. The following is an example configuration with three hosts:
3、rabbitmq
Mirrored queues in RabbitMQ improve the availability of service since it is resilient to failures.
Note: Access to RabbitMQ is not normally handled by HAProxy. Instead, consumers must be supplied with the full list of hosts running RabbitMQ with rabbit_hosts and turn on the rabbit_ha_queues option.
Production servers should run (at least) three RabbitMQ servers.
Note: As another option to make RabbitMQ highly available, RabbitMQ contains the OCF scripts for the Pacemaker cluster resource agents since version 3.5.7. It provides the active/active RabbitMQ cluster with mirrored queues. For more information, see Auto-configuration of a cluster with a Pacemaker.
Configure the OpenStack components to use at least two RabbitMQ nodes.