<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/apache/incubator-dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/apache/incubator-dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: master</li>
<li>Operating System version: mac</li>
<li>Java version: 1.8</li>
</ul>
<h3 dir="auto">Steps to reproduce this issue</h3>
<p dir="auto">CallbackServiceCodec has a method referOrdestroyCallbackService,</p>
<p dir="auto">I think it would be referOrDestroyCallbackService better ,so we can understand the method mean more simple.</p>
<p dir="auto">Pls. provide [GitHub address] to reproduce this issue.</p>
<ul class="contains-task-list">
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have searched the <a href="https://github.com/apache/incubator-dubbo/issues">issues</a> of this repository and believe that this is not a duplicate.</li>
<li class="task-list-item"><input type="checkbox" id="" disabled="" class="task-list-item-checkbox" checked=""> I have checked the <a href="https://github.com/apache/incubator-dubbo/blob/master/FAQ.md">FAQ</a> of this repository and believe that this is not a duplicate.</li>
</ul>
<h3 dir="auto">Environment</h3>
<ul dir="auto">
<li>Dubbo version: 2.6.2</li>
<li>Operating System version: win7</li>
<li>Java version: 1.8</li>
</ul>
<h3 dir="auto">Step to reproduce this issue</h3>
<h4 dir="auto">Problem one</h4>
<p dir="auto">I want to test pseudo cluster, I create service like follow code :</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="public interface DemoService
{
    String sayHello(String name);
}"><pre class="notranslate"><code class="notranslate">public interface DemoService
{
    String sayHello(String name);
}
</code></pre></div>
<p dir="auto">implement service interface  as follows, both loadbalance strategies are random：</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@Service(timeout = 5000, loadbalance=&quot;random&quot;)
public class DemoServiceImpl implements DemoService
{
    @Override
    public String sayHello(String name)
    {
        return &quot;Service1 -&gt; Hello &quot; + name;
    }
}"><pre class="notranslate"><code class="notranslate">@Service(timeout = 5000, loadbalance="random")
public class DemoServiceImpl implements DemoService
{
    @Override
    public String sayHello(String name)
    {
        return "Service1 -&gt; Hello " + name;
    }
}
</code></pre></div>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@Service(timeout = 5000, loadbalance=&quot;random&quot;)
public class DemoServiceImpl2 implements DemoService
{
    @Override
    public String sayHello(String name)
    {
        return &quot;Service2 -&gt; Hello &quot; + name;
    }
}"><pre class="notranslate"><code class="notranslate">@Service(timeout = 5000, loadbalance="random")
public class DemoServiceImpl2 implements DemoService
{
    @Override
    public String sayHello(String name)
    {
        return "Service2 -&gt; Hello " + name;
    }
}
</code></pre></div>
<p dir="auto">I start one appliction to test it.</p>
<h3 dir="auto">Expected Result</h3>
<ul dir="auto">
<li>random return "Service1" and "Service2" .</li>
</ul>
<h3 dir="auto">Actual Result</h3>
<ul dir="auto">
<li>alway return "Service2"</li>
</ul>
<h4 dir="auto">Problem two</h4>
<p dir="auto">change one implement loadbalance stragy as follow:</p>
<div class="snippet-clipboard-content notranslate position-relative overflow-auto" data-snippet-clipboard-copy-content="@Service(timeout = 5000, loadbalance=&quot;consistenthash&quot;)
public class DemoServiceImpl implements DemoService
{
    @Override
    public String sayHello(String name)
    {
        return &quot;Service1 -&gt; Hello &quot; + name;
    }
}"><pre class="notranslate"><code class="notranslate">@Service(timeout = 5000, loadbalance="consistenthash")
public class DemoServiceImpl implements DemoService
{
    @Override
    public String sayHello(String name)
    {
        return "Service1 -&gt; Hello " + name;
    }
}
</code></pre></div>
<h3 dir="auto">Expected Result</h3>
<ul dir="auto">
<li>random return "Service1" and "Service2" .</li>
</ul>
<h3 dir="auto">Actual Result</h3>
<ul dir="auto">
<li>alway return "Service1"</li>
</ul>
<h3 dir="auto">Question</h3>
<p dir="auto">I don't know how dubbo it works. but it is very strange , it always use consistenthash stragy.</p>
<p dir="auto">Dubbo provide client and server side loadbalance stragy , Who is at work.</p>
<p dir="auto">As I know，dubbo has no central node coordinator,  may be is client side effect. If remove server side loadblance stragy or improve it ?</p>
<p dir="auto">could not provid unique way to use  loadbalance</p>
<ul dir="auto">
<li>Single loadbalance stragy</li>
<li>Mixed loadbalance stragy</li>
</ul>
<p dir="auto"><a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ulinkwo/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ulinkwo">@ulinkwo</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/justinmclean/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/justinmclean">@justinmclean</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/lonre/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/lonre">@lonre</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/ke4qqq/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/ke4qqq">@ke4qqq</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/gmcdonald/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/gmcdonald">@gmcdonald</a> <a class="user-mention notranslate" data-hovercard-type="user" data-hovercard-url="/users/carryxyh/hovercard" data-octo-click="hovercard-link-click" data-octo-dimensions="link_type:self" href="https://github.com/carryxyh">@carryxyh</a></p>