Daniel.  I added 8 algorithm to our server and it works with 2 asterisk now but it works strange because:
While works server with priority 1 - all ok. When this server goes down dispatcher choose next server with lowes priority. But when server with highest priority waking up dispatcher use server with lowes priority until this server not goes down.

here id my config for dispatcher

modparam("dispatcher", "db_url",DBURL)
modparam("dispatcher", "table_name", "dispatcher")
modparam("dispatcher", "setid_col", "setid")
modparam("dispatcher", "priority_col", "priority")
modparam("dispatcher", "destination_col", "destination")
modparam("dispatcher", "force_dst", 1)
modparam("dispatcher", "flags", 3)
modparam("dispatcher", "dst_avp", "$avp(i:271)")
modparam("dispatcher", "grp_avp", "$avp(i:272)")
modparam("dispatcher", "cnt_avp", "$avp(i:273)")
modparam("dispatcher", "ds_ping_from", "sip:kamailio1@10.0.1.12")
modparam("dispatcher", "ds_ping_interval",15)
modparam("dispatcher", "ds_probing_mode", 1)
modparam("dispatcher", "ds_ping_reply_codes", "class=2;code=403;code=404;code=484;class=3")
modparam("tm", "reparse_on_dns_failover", 0)


(!ds_select_dst("$var(setid)", "8")){

sl_send_reply("500", "Service Unavailable");
            xlog("L_INFO","{$rm} from [$fU@$si:$sp] But NO destinations available for $rd \n");
t_on_failure("DISPATCHER_ROLLOVER");

}

if (!t_relay()) {
sl_reply_error();

we use 4.3 master branch kamailio