Link: https://openstack.nimeyo.com/35311/?show=63539#c63539<br />
From: dawn <beijingwangkang@hotmail.com><br />
<br />
<p>we know ceilometer use <strong>tooz</strong> to implement ha, so we can found the answer in tooz</p>

<ul><li><p>First, tooz will parse the backendurl by netutils.urlsplit:<br>
>  parsed<em>url = netutils.urlsplit(backend</em>url)</p></li>
<li><p>Then, backend driver will be found by the url scheme, for example in my situation, <strong>memcached</strong><br><code>driver.DriverManager(
    namespace=TOOZ_BACKENDS_NAMESPACE,
    name=parsed_url.scheme,
    invoke_on_load=True,
    invoke_args=(member_id, parsed_url, options)).driver</code></p></li>
<li>Finally , the MemcachedDriver will be initialed as below<br><code>def __init__(self, member_id, parsed_url, options):
    super(MemcachedDriver, self).__init__()
    options = utils.collapse(options)
    self._options = options
    self._member_id = member_id
    self._joined_groups = set()
    self._executor = utils.ProxyExecutor.build("Memcached", options)
    self.host = (parsed_url.hostname or "localhost",
                 parsed_url.port or 11211)
    default_timeout = options.get('timeout', self.DEFAULT_TIMEOUT)
    self.timeout = int(default_timeout)
    self.membership_timeout = int(options.get(
        'membership_timeout', default_timeout))
    self.lock_timeout = int(options.get(
        'lock_timeout', default_timeout))
    self.leader_timeout = int(options.get(
        'leader_timeout', default_timeout))
    max_pool_size = options.get('max_pool_size', None)
    if max_pool_size is not None:
        self.max_pool_size = int(max_pool_size)
    else:
        self.max_pool_size = None
    self._acquired_locks = []</code> </li>
</ul><p><strong>So,</strong> I set the backendurl as "memcached://127.0.0.1:11211"<br>
You can find your answer here: <a rel="nofollow" href="https://github.com/openstack/tooz/tree/master/tooz/drivers">tooz backend driver code</a></p>

<p>Hope this will help you!</p>