This is an automated email from the ASF dual-hosted git repository.

alexstocks pushed a commit to branch 3.0
in repository https://gitbox.apache.org/repos/asf/dubbo-go.git


The following commit(s) were added to refs/heads/3.0 by this push:
     new 5550feb  refactor(cluster): rename clusters and loadbalances (#1667)
5550feb is described below

commit 5550feb1c800c505a7964366413a1f99e8e03fd8
Author: Xuewei Niu <[email protected]>
AuthorDate: Fri Dec 17 18:08:29 2021 +0800

    refactor(cluster): rename clusters and loadbalances (#1667)
---
 cluster/cluster/adaptivesvc/cluster_invoker.go     |  4 ++--
 cluster/cluster/available/cluster.go               |  8 ++++----
 cluster/cluster/available/cluster_invoker.go       | 12 ++++++------
 cluster/cluster/available/cluster_invoker_test.go  |  2 +-
 cluster/cluster/base/cluster_invoker.go            | 20 ++++++++++----------
 cluster/cluster/base/cluster_invoker_test.go       | 10 +++++-----
 cluster/cluster/broadcast/cluster.go               | 14 +++++++-------
 cluster/cluster/broadcast/cluster_invoker.go       | 12 ++++++------
 cluster/cluster/broadcast/cluster_invoker_test.go  |  4 ++--
 cluster/cluster/failback/cluster.go                | 14 +++++++-------
 cluster/cluster/failback/cluster_invoker.go        | 22 +++++++++++-----------
 cluster/cluster/failback/cluster_test.go           | 16 ++++++++--------
 cluster/cluster/failfast/cluster.go                | 14 +++++++-------
 cluster/cluster/failfast/cluster_invoker.go        | 12 ++++++------
 cluster/cluster/failfast/cluster_test.go           |  6 +++---
 cluster/cluster/failover/cluster.go                | 14 +++++++-------
 cluster/cluster/failover/cluster_invoker.go        | 12 ++++++------
 cluster/cluster/failover/cluster_test.go           |  8 ++++----
 cluster/cluster/failsafe/cluster.go                | 14 +++++++-------
 cluster/cluster/failsafe/cluster_invoker.go        | 12 ++++++------
 cluster/cluster/failsafe/cluster_test.go           |  6 +++---
 cluster/cluster/forking/cluster.go                 | 14 +++++++-------
 cluster/cluster/forking/cluster_invoker.go         | 12 ++++++------
 cluster/cluster/forking/cluster_test.go            |  4 ++--
 cluster/cluster/zoneaware/cluster.go               | 14 +++++++-------
 cluster/cluster/zoneaware/cluster_invoker.go       | 12 ++++++------
 cluster/cluster/zoneaware/cluster_invoker_test.go  | 10 +++++-----
 .../loadbalance/consistenthashing/loadbalance.go   | 14 +++++++-------
 .../consistenthashing/loadbalance_test.go          |  2 +-
 cluster/loadbalance/leastactive/loadbalance.go     | 12 ++++++------
 .../loadbalance/leastactive/loadbalance_test.go    |  4 ++--
 cluster/loadbalance/p2c/loadbalance.go             | 10 +++++-----
 cluster/loadbalance/random/loadbalance.go          | 12 ++++++------
 cluster/loadbalance/random/loadbalance_test.go     |  6 +++---
 cluster/loadbalance/roundrobin/loadbalance.go      | 12 ++++++------
 cluster/loadbalance/roundrobin/loadbalance_test.go |  4 ++--
 36 files changed, 189 insertions(+), 189 deletions(-)

diff --git a/cluster/cluster/adaptivesvc/cluster_invoker.go 
b/cluster/cluster/adaptivesvc/cluster_invoker.go
index 90384ba..1fb65e2 100644
--- a/cluster/cluster/adaptivesvc/cluster_invoker.go
+++ b/cluster/cluster/adaptivesvc/cluster_invoker.go
@@ -37,12 +37,12 @@ import (
 )
 
 type adaptiveServiceClusterInvoker struct {
-       base.ClusterInvoker
+       base.BaseClusterInvoker
 }
 
 func newAdaptiveServiceClusterInvoker(directory directory.Directory) 
protocol.Invoker {
        return &adaptiveServiceClusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
diff --git a/cluster/cluster/available/cluster.go 
b/cluster/cluster/available/cluster.go
index 4320c18..de25c55 100644
--- a/cluster/cluster/available/cluster.go
+++ b/cluster/cluster/available/cluster.go
@@ -29,16 +29,16 @@ func init() {
        extension.SetCluster(constant.ClusterKeyAvailable, NewAvailableCluster)
 }
 
-type cluster struct{}
+type availableCluster struct{}
 
-// NewAvailableCluster returns a cluster instance
+// NewAvailableCluster returns a availableCluster instance
 //
 // Obtain available service providers
 func NewAvailableCluster() clusterpkg.Cluster {
-       return &cluster{}
+       return &availableCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
+func (cluster *availableCluster) Join(directory directory.Directory) 
protocol.Invoker {
        return clusterpkg.BuildInterceptorChain(NewClusterInvoker(directory))
 }
diff --git a/cluster/cluster/available/cluster_invoker.go 
b/cluster/cluster/available/cluster_invoker.go
index 1a20a3f..7bf8375 100644
--- a/cluster/cluster/available/cluster_invoker.go
+++ b/cluster/cluster/available/cluster_invoker.go
@@ -32,18 +32,18 @@ import (
        "dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-type clusterInvoker struct {
-       base.ClusterInvoker
+type availableClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-// NewClusterInvoker returns a cluster invoker instance
+// NewClusterInvoker returns a availableCluster invoker instance
 func NewClusterInvoker(directory directory.Directory) protocol.Invoker {
-       return &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+       return &availableClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *availableClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        invokers := invoker.Directory.List(invocation)
        err := invoker.CheckInvokers(invokers, invocation)
        if err != nil {
diff --git a/cluster/cluster/available/cluster_invoker_test.go 
b/cluster/cluster/available/cluster_invoker_test.go
index 36dcda7..730474b 100644
--- a/cluster/cluster/available/cluster_invoker_test.go
+++ b/cluster/cluster/available/cluster_invoker_test.go
@@ -46,7 +46,7 @@ var availableUrl, _ = 
common.NewURL(fmt.Sprintf("dubbo://%s:%d/com.ikurento.user
        constant.LocalHostValue, constant.DefaultPort))
 
 func registerAvailable(invoker *mock.MockInvoker) protocol.Invoker {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
        availableCluster := NewAvailableCluster()
 
        invokers := []protocol.Invoker{}
diff --git a/cluster/cluster/base/cluster_invoker.go 
b/cluster/cluster/base/cluster_invoker.go
index 43318db..72437a6 100644
--- a/cluster/cluster/base/cluster_invoker.go
+++ b/cluster/cluster/base/cluster_invoker.go
@@ -33,33 +33,33 @@ import (
        "dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-type ClusterInvoker struct {
+type BaseClusterInvoker struct {
        Directory      directory.Directory
        AvailableCheck bool
        Destroyed      *atomic.Bool
        StickyInvoker  protocol.Invoker
 }
 
-func NewClusterInvoker(directory directory.Directory) ClusterInvoker {
-       return ClusterInvoker{
+func NewBaseClusterInvoker(directory directory.Directory) BaseClusterInvoker {
+       return BaseClusterInvoker{
                Directory:      directory,
                AvailableCheck: true,
                Destroyed:      atomic.NewBool(false),
        }
 }
 
-func (invoker *ClusterInvoker) GetURL() *common.URL {
+func (invoker *BaseClusterInvoker) GetURL() *common.URL {
        return invoker.Directory.GetURL()
 }
 
-func (invoker *ClusterInvoker) Destroy() {
+func (invoker *BaseClusterInvoker) Destroy() {
        // this is must atom operation
        if invoker.Destroyed.CAS(false, true) {
                invoker.Directory.Destroy()
        }
 }
 
-func (invoker *ClusterInvoker) IsAvailable() bool {
+func (invoker *BaseClusterInvoker) IsAvailable() bool {
        if invoker.StickyInvoker != nil {
                return invoker.StickyInvoker.IsAvailable()
        }
@@ -67,7 +67,7 @@ func (invoker *ClusterInvoker) IsAvailable() bool {
 }
 
 // CheckInvokers checks invokers' status if is available or not
-func (invoker *ClusterInvoker) CheckInvokers(invokers []protocol.Invoker, 
invocation protocol.Invocation) error {
+func (invoker *BaseClusterInvoker) CheckInvokers(invokers []protocol.Invoker, 
invocation protocol.Invocation) error {
        if len(invokers) == 0 {
                ip := common.GetLocalIp()
                return perrors.Errorf("Failed to invoke the method %v. No 
provider available for the service %v from "+
@@ -78,7 +78,7 @@ func (invoker *ClusterInvoker) CheckInvokers(invokers 
[]protocol.Invoker, invoca
 }
 
 // CheckWhetherDestroyed checks if cluster invoker was destroyed or not
-func (invoker *ClusterInvoker) CheckWhetherDestroyed() error {
+func (invoker *BaseClusterInvoker) CheckWhetherDestroyed() error {
        if invoker.Destroyed.Load() {
                ip := common.GetLocalIp()
                return perrors.Errorf("Rpc cluster invoker for %v on consumer 
%v use dubbo version %v is now destroyed! can not invoke any more. ",
@@ -87,7 +87,7 @@ func (invoker *ClusterInvoker) CheckWhetherDestroyed() error {
        return nil
 }
 
-func (invoker *ClusterInvoker) DoSelect(lb loadbalance.LoadBalance, invocation 
protocol.Invocation, invokers []protocol.Invoker, invoked []protocol.Invoker) 
protocol.Invoker {
+func (invoker *BaseClusterInvoker) DoSelect(lb loadbalance.LoadBalance, 
invocation protocol.Invocation, invokers []protocol.Invoker, invoked 
[]protocol.Invoker) protocol.Invoker {
        var selectedInvoker protocol.Invoker
        if len(invokers) <= 0 {
                return selectedInvoker
@@ -115,7 +115,7 @@ func (invoker *ClusterInvoker) DoSelect(lb 
loadbalance.LoadBalance, invocation p
        return selectedInvoker
 }
 
-func (invoker *ClusterInvoker) doSelectInvoker(lb loadbalance.LoadBalance, 
invocation protocol.Invocation, invokers []protocol.Invoker, invoked 
[]protocol.Invoker) protocol.Invoker {
+func (invoker *BaseClusterInvoker) doSelectInvoker(lb loadbalance.LoadBalance, 
invocation protocol.Invocation, invokers []protocol.Invoker, invoked 
[]protocol.Invoker) protocol.Invoker {
        if len(invokers) == 0 {
                return nil
        }
diff --git a/cluster/cluster/base/cluster_invoker_test.go 
b/cluster/cluster/base/cluster_invoker_test.go
index fa24940..28ca702 100644
--- a/cluster/cluster/base/cluster_invoker_test.go
+++ b/cluster/cluster/base/cluster_invoker_test.go
@@ -46,11 +46,11 @@ func TestStickyNormal(t *testing.T) {
                url.SetParam("sticky", "true")
                invokers = append(invokers, clusterpkg.NewMockInvoker(url, 1))
        }
-       base := &ClusterInvoker{}
+       base := &BaseClusterInvoker{}
        base.AvailableCheck = true
        var invoked []protocol.Invoker
 
-       tmpRandomBalance := random.NewLoadBalance()
+       tmpRandomBalance := random.NewRandomLoadBalance()
        tmpInvocation := 
invocation.NewRPCInvocation(baseClusterInvokerMethodName, nil, nil)
        result := base.DoSelect(tmpRandomBalance, tmpInvocation, invokers, 
invoked)
        result1 := base.DoSelect(tmpRandomBalance, tmpInvocation, invokers, 
invoked)
@@ -64,12 +64,12 @@ func TestStickyNormalWhenError(t *testing.T) {
                url.SetParam("sticky", "true")
                invokers = append(invokers, clusterpkg.NewMockInvoker(url, 1))
        }
-       base := &ClusterInvoker{}
+       base := &BaseClusterInvoker{}
        base.AvailableCheck = true
 
        var invoked []protocol.Invoker
-       result := base.DoSelect(random.NewLoadBalance(), 
invocation.NewRPCInvocation(baseClusterInvokerMethodName, nil, nil), invokers, 
invoked)
+       result := base.DoSelect(random.NewRandomLoadBalance(), 
invocation.NewRPCInvocation(baseClusterInvokerMethodName, nil, nil), invokers, 
invoked)
        invoked = append(invoked, result)
-       result1 := base.DoSelect(random.NewLoadBalance(), 
invocation.NewRPCInvocation(baseClusterInvokerMethodName, nil, nil), invokers, 
invoked)
+       result1 := base.DoSelect(random.NewRandomLoadBalance(), 
invocation.NewRPCInvocation(baseClusterInvokerMethodName, nil, nil), invokers, 
invoked)
        assert.NotEqual(t, result, result1)
 }
diff --git a/cluster/cluster/broadcast/cluster.go 
b/cluster/cluster/broadcast/cluster.go
index bc80550..a412dbf 100644
--- a/cluster/cluster/broadcast/cluster.go
+++ b/cluster/cluster/broadcast/cluster.go
@@ -26,20 +26,20 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyBroadcast, NewCluster)
+       extension.SetCluster(constant.ClusterKeyBroadcast, newBroadcastCluster)
 }
 
-type cluster struct{}
+type broadcastCluster struct{}
 
-// NewCluster returns a broadcast cluster instance.
+// newBroadcastCluster returns a broadcastCluster instance.
 //
 // Calling all providers' broadcast one by one. All errors will be reported.
 // It is usually used to notify all providers to update local resource 
information such as caches or logs.
-func NewCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newBroadcastCluster() clusterpkg.Cluster {
+       return &broadcastCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory))
+func (cluster *broadcastCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newBroadcastClusterInvoker(directory))
 }
diff --git a/cluster/cluster/broadcast/cluster_invoker.go 
b/cluster/cluster/broadcast/cluster_invoker.go
index 5028606..a0ee7c7 100644
--- a/cluster/cluster/broadcast/cluster_invoker.go
+++ b/cluster/cluster/broadcast/cluster_invoker.go
@@ -28,18 +28,18 @@ import (
        "dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-type clusterInvoker struct {
-       base.ClusterInvoker
+type broadcastClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       return &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newBroadcastClusterInvoker(directory directory.Directory) 
protocol.Invoker {
+       return &broadcastClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
 // nolint
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *broadcastClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        invokers := invoker.Directory.List(invocation)
        err := invoker.CheckInvokers(invokers, invocation)
        if err != nil {
diff --git a/cluster/cluster/broadcast/cluster_invoker_test.go 
b/cluster/cluster/broadcast/cluster_invoker_test.go
index 0339c9f..74cd8cf 100644
--- a/cluster/cluster/broadcast/cluster_invoker_test.go
+++ b/cluster/cluster/broadcast/cluster_invoker_test.go
@@ -46,7 +46,7 @@ var broadcastUrl, _ = common.NewURL(
        fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", 
constant.LocalHostValue, constant.DefaultPort))
 
 func registerBroadcast(mockInvokers ...*mock.MockInvoker) protocol.Invoker {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
 
        invokers := []protocol.Invoker{}
        for i, ivk := range mockInvokers {
@@ -57,7 +57,7 @@ func registerBroadcast(mockInvokers ...*mock.MockInvoker) 
protocol.Invoker {
        }
        staticDir := static.NewDirectory(invokers)
 
-       broadcastCluster := NewCluster()
+       broadcastCluster := newBroadcastCluster()
        clusterInvoker := broadcastCluster.Join(staticDir)
        return clusterInvoker
 }
diff --git a/cluster/cluster/failback/cluster.go 
b/cluster/cluster/failback/cluster.go
index f3a942d..f5e177c 100644
--- a/cluster/cluster/failback/cluster.go
+++ b/cluster/cluster/failback/cluster.go
@@ -26,20 +26,20 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyFailback, NewCluster)
+       extension.SetCluster(constant.ClusterKeyFailback, newFailbackCluster)
 }
 
-type cluster struct{}
+type failbackCluster struct{}
 
-// NewCluster returns a failback cluster instance
+// newFailbackCluster returns a failbackCluster instance
 //
 // Failure automatically restored, failed to record the background request,
 // regular retransmission. Usually used for message notification operations.
-func NewCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newFailbackCluster() clusterpkg.Cluster {
+       return &failbackCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory))
+func (cluster *failbackCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newFailbackClusterInvoker(directory))
 }
diff --git a/cluster/cluster/failback/cluster_invoker.go 
b/cluster/cluster/failback/cluster_invoker.go
index 8987494..71b260f 100644
--- a/cluster/cluster/failback/cluster_invoker.go
+++ b/cluster/cluster/failback/cluster_invoker.go
@@ -44,8 +44,8 @@ import (
  *
  * <a href="http://en.wikipedia.org/wiki/Failback";>Failback</a>
  */
-type clusterInvoker struct {
-       base.ClusterInvoker
+type failbackClusterInvoker struct {
+       base.BaseClusterInvoker
 
        once          sync.Once
        ticker        *time.Ticker
@@ -54,9 +54,9 @@ type clusterInvoker struct {
        taskList      *queue.Queue
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       invoker := &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newFailbackClusterInvoker(directory directory.Directory) protocol.Invoker 
{
+       invoker := &failbackClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
        retriesConfig := invoker.GetURL().GetParam(constant.RetriesKey, 
constant.DefaultFailbackTimes)
        retries, err := strconv.Atoi(retriesConfig)
@@ -74,7 +74,7 @@ func newClusterInvoker(directory directory.Directory) 
protocol.Invoker {
        return invoker
 }
 
-func (invoker *clusterInvoker) tryTimerTaskProc(ctx context.Context, retryTask 
*retryTimerTask) {
+func (invoker *failbackClusterInvoker) tryTimerTaskProc(ctx context.Context, 
retryTask *retryTimerTask) {
        invoked := make([]protocol.Invoker, 0)
        invoked = append(invoked, retryTask.lastInvoker)
 
@@ -86,7 +86,7 @@ func (invoker *clusterInvoker) tryTimerTaskProc(ctx 
context.Context, retryTask *
        }
 }
 
-func (invoker *clusterInvoker) process(ctx context.Context) {
+func (invoker *failbackClusterInvoker) process(ctx context.Context) {
        invoker.ticker = time.NewTicker(time.Second * 1)
        for range invoker.ticker.C {
                // check each timeout task and re-run
@@ -114,7 +114,7 @@ func (invoker *clusterInvoker) process(ctx context.Context) 
{
        }
 }
 
-func (invoker *clusterInvoker) checkRetry(retryTask *retryTimerTask, err 
error) {
+func (invoker *failbackClusterInvoker) checkRetry(retryTask *retryTimerTask, 
err error) {
        logger.Errorf("Failed retry to invoke the method %v in the service %v, 
wait again. The exception: %v.\n",
                retryTask.invocation.MethodName(), invoker.GetURL().Service(), 
err.Error())
        retryTask.retries++
@@ -131,7 +131,7 @@ func (invoker *clusterInvoker) checkRetry(retryTask 
*retryTimerTask, err error)
 }
 
 // nolint
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *failbackClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        invokers := invoker.Directory.List(invocation)
        if err := invoker.CheckInvokers(invokers, invocation); err != nil {
                logger.Errorf("Failed to invoke the method %v in the service 
%v, wait for retry in background. Ignored exception: %v.\n",
@@ -176,8 +176,8 @@ func (invoker *clusterInvoker) Invoke(ctx context.Context, 
invocation protocol.I
        return result
 }
 
-func (invoker *clusterInvoker) Destroy() {
-       invoker.ClusterInvoker.Destroy()
+func (invoker *failbackClusterInvoker) Destroy() {
+       invoker.BaseClusterInvoker.Destroy()
 
        // stop ticker
        if invoker.ticker != nil {
diff --git a/cluster/cluster/failback/cluster_test.go 
b/cluster/cluster/failback/cluster_test.go
index 45d02d7..3b01e79 100644
--- a/cluster/cluster/failback/cluster_test.go
+++ b/cluster/cluster/failback/cluster_test.go
@@ -48,10 +48,10 @@ import (
 var failbackUrl, _ = common.NewURL(
        fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", 
constant.LocalHostValue, constant.DefaultPort))
 
-// registerFailback register failbackCluster to cluster extension.
+// registerFailback register failbackCluster to failbackCluster extension.
 func registerFailback(invoker *mock.MockInvoker) protocol.Invoker {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
-       failbackCluster := NewCluster()
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
+       failbackCluster := newFailbackCluster()
 
        var invokers []protocol.Invoker
        invokers = append(invokers, invoker)
@@ -69,7 +69,7 @@ func TestFailbackSuceess(t *testing.T) {
        defer ctrl.Finish()
 
        invoker := mock.NewMockInvoker(ctrl)
-       clusterInvoker := registerFailback(invoker).(*clusterInvoker)
+       clusterInvoker := registerFailback(invoker).(*failbackClusterInvoker)
 
        invoker.EXPECT().GetUrl().Return(failbackUrl).AnyTimes()
 
@@ -88,7 +88,7 @@ func TestFailbackRetryOneSuccess(t *testing.T) {
        defer ctrl.Finish()
 
        invoker := mock.NewMockInvoker(ctrl)
-       clusterInvoker := registerFailback(invoker).(*clusterInvoker)
+       clusterInvoker := registerFailback(invoker).(*failbackClusterInvoker)
 
        invoker.EXPECT().GetUrl().Return(failbackUrl).AnyTimes()
        invoker.EXPECT().IsAvailable().Return(true)
@@ -133,7 +133,7 @@ func TestFailbackRetryFailed(t *testing.T) {
        defer ctrl.Finish()
 
        invoker := mock.NewMockInvoker(ctrl)
-       clusterInvoker := registerFailback(invoker).(*clusterInvoker)
+       clusterInvoker := registerFailback(invoker).(*failbackClusterInvoker)
 
        invoker.EXPECT().GetUrl().Return(failbackUrl).AnyTimes()
        invoker.EXPECT().IsAvailable().Return(true).AnyTimes()
@@ -180,7 +180,7 @@ func TestFailbackRetryFailed10Times(t *testing.T) {
        defer ctrl.Finish()
 
        invoker := mock.NewMockInvoker(ctrl)
-       clusterInvoker := registerFailback(invoker).(*clusterInvoker)
+       clusterInvoker := registerFailback(invoker).(*failbackClusterInvoker)
        clusterInvoker.maxRetries = 10
 
        invoker.EXPECT().IsAvailable().Return(true).AnyTimes()
@@ -223,7 +223,7 @@ func TestFailbackOutOfLimit(t *testing.T) {
        defer ctrl.Finish()
 
        invoker := mock.NewMockInvoker(ctrl)
-       clusterInvoker := registerFailback(invoker).(*clusterInvoker)
+       clusterInvoker := registerFailback(invoker).(*failbackClusterInvoker)
        clusterInvoker.failbackTasks = 1
 
        invoker.EXPECT().GetUrl().Return(failbackUrl).AnyTimes()
diff --git a/cluster/cluster/failfast/cluster.go 
b/cluster/cluster/failfast/cluster.go
index b7aa346..7d4c75b 100644
--- a/cluster/cluster/failfast/cluster.go
+++ b/cluster/cluster/failfast/cluster.go
@@ -26,20 +26,20 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyFailfast, NewCluster)
+       extension.SetCluster(constant.ClusterKeyFailfast, newFailfastCluster)
 }
 
-type cluster struct{}
+type failfastCluster struct{}
 
-// NewCluster returns a failfast cluster instance.
+// newFailfastCluster returns a failfastCluster instance.
 //
 // Fast failure, only made a call, failure immediately error. Usually used for 
non-idempotent write operations,
 // such as adding records.
-func NewCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newFailfastCluster() clusterpkg.Cluster {
+       return &failfastCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory))
+func (cluster *failfastCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newFailfastClusterInvoker(directory))
 }
diff --git a/cluster/cluster/failfast/cluster_invoker.go 
b/cluster/cluster/failfast/cluster_invoker.go
index 3062362..462a04d 100644
--- a/cluster/cluster/failfast/cluster_invoker.go
+++ b/cluster/cluster/failfast/cluster_invoker.go
@@ -27,18 +27,18 @@ import (
        "dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-type clusterInvoker struct {
-       base.ClusterInvoker
+type failfastClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       return &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newFailfastClusterInvoker(directory directory.Directory) protocol.Invoker 
{
+       return &failfastClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
 // nolint
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *failfastClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        invokers := invoker.Directory.List(invocation)
        err := invoker.CheckInvokers(invokers, invocation)
        if err != nil {
diff --git a/cluster/cluster/failfast/cluster_test.go 
b/cluster/cluster/failfast/cluster_test.go
index b19ca47..aa5dc6a 100644
--- a/cluster/cluster/failfast/cluster_test.go
+++ b/cluster/cluster/failfast/cluster_test.go
@@ -46,10 +46,10 @@ import (
 var failfastUrl, _ = common.NewURL(
        fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", 
constant.LocalHostValue, constant.DefaultPort))
 
-// registerFailfast register failfastCluster to cluster extension.
+// registerFailfast register failfastCluster to failfastCluster extension.
 func registerFailfast(invoker *mock.MockInvoker) protocol.Invoker {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
-       failfastCluster := NewCluster()
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
+       failfastCluster := newFailfastCluster()
 
        var invokers []protocol.Invoker
        invokers = append(invokers, invoker)
diff --git a/cluster/cluster/failover/cluster.go 
b/cluster/cluster/failover/cluster.go
index 56bc757..ae68568 100644
--- a/cluster/cluster/failover/cluster.go
+++ b/cluster/cluster/failover/cluster.go
@@ -26,21 +26,21 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyFailover, newCluster)
+       extension.SetCluster(constant.ClusterKeyFailover, newFailoverCluster)
 }
 
-type cluster struct{}
+type failoverCluster struct{}
 
-// newCluster returns a failover cluster instance
+// newFailoverCluster returns a failoverCluster instance
 //
 // Failure automatically switch, when there is a failure,
 // retry the other server (default). Usually used for read operations,
 // but retries can result in longer delays.
-func newCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newFailoverCluster() clusterpkg.Cluster {
+       return &failoverCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory))
+func (cluster *failoverCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newFailoverClusterInvoker(directory))
 }
diff --git a/cluster/cluster/failover/cluster_invoker.go 
b/cluster/cluster/failover/cluster_invoker.go
index b3a2821..e0f49cc 100644
--- a/cluster/cluster/failover/cluster_invoker.go
+++ b/cluster/cluster/failover/cluster_invoker.go
@@ -36,17 +36,17 @@ import (
        "dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-type clusterInvoker struct {
-       base.ClusterInvoker
+type failoverClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       return &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newFailoverClusterInvoker(directory directory.Directory) protocol.Invoker 
{
+       return &failoverClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *failoverClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        var (
                result    protocol.Result
                invoked   []protocol.Invoker
diff --git a/cluster/cluster/failover/cluster_test.go 
b/cluster/cluster/failover/cluster_test.go
index 53ef324..68ee91b 100644
--- a/cluster/cluster/failover/cluster_test.go
+++ b/cluster/cluster/failover/cluster_test.go
@@ -41,8 +41,8 @@ import (
 
 // nolint
 func normalInvoke(successCount int, urlParam url.Values, invocations 
...*invocation.RPCInvocation) protocol.Result {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
-       failoverCluster := newCluster()
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
+       failoverCluster := newFailoverCluster()
 
        var invokers []protocol.Invoker
        for i := 0; i < 10; i++ {
@@ -97,8 +97,8 @@ func TestFailoverInvoke2(t *testing.T) {
 
 // nolint
 func TestFailoverDestroy(t *testing.T) {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
-       failoverCluster := newCluster()
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
+       failoverCluster := newFailoverCluster()
 
        invokers := []protocol.Invoker{}
        for i := 0; i < 10; i++ {
diff --git a/cluster/cluster/failsafe/cluster.go 
b/cluster/cluster/failsafe/cluster.go
index 048781b..a13a318 100644
--- a/cluster/cluster/failsafe/cluster.go
+++ b/cluster/cluster/failsafe/cluster.go
@@ -26,20 +26,20 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyFailsafe, newCluster)
+       extension.SetCluster(constant.ClusterKeyFailsafe, newFailsafeCluster)
 }
 
-type cluster struct{}
+type failsafeCluster struct{}
 
-// newCluster returns a failsafe cluster instance.
+// newFailsafeCluster returns a failsafeCluster instance.
 //
 // Failure of security, anomalies, directly ignored. Usually it is
 // used to write audit logs and other operations.
-func newCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newFailsafeCluster() clusterpkg.Cluster {
+       return &failsafeCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory))
+func (cluster *failsafeCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newFailsafeClusterInvoker(directory))
 }
diff --git a/cluster/cluster/failsafe/cluster_invoker.go 
b/cluster/cluster/failsafe/cluster_invoker.go
index 016616f..660822e 100644
--- a/cluster/cluster/failsafe/cluster_invoker.go
+++ b/cluster/cluster/failsafe/cluster_invoker.go
@@ -37,17 +37,17 @@ import (
  * <a href="http://en.wikipedia.org/wiki/Fail-safe";>Fail-safe</a>
  *
  */
-type clusterInvoker struct {
-       base.ClusterInvoker
+type failsafeClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       return &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newFailsafeClusterInvoker(directory directory.Directory) protocol.Invoker 
{
+       return &failsafeClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *failsafeClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        invokers := invoker.Directory.List(invocation)
 
        err := invoker.CheckInvokers(invokers, invocation)
diff --git a/cluster/cluster/failsafe/cluster_test.go 
b/cluster/cluster/failsafe/cluster_test.go
index 7ad4f9f..819d8fb 100644
--- a/cluster/cluster/failsafe/cluster_test.go
+++ b/cluster/cluster/failsafe/cluster_test.go
@@ -46,10 +46,10 @@ import (
 var failsafeUrl, _ = common.NewURL(
        fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", 
constant.LocalHostValue, constant.DefaultPort))
 
-// registerFailsafe register failsafeCluster to cluster extension.
+// registerFailsafe register failsafeCluster to failsafeCluster extension.
 func registerFailsafe(invoker *mock.MockInvoker) protocol.Invoker {
-       extension.SetLoadbalance("random", random.NewLoadBalance)
-       failsafeCluster := newCluster()
+       extension.SetLoadbalance("random", random.NewRandomLoadBalance)
+       failsafeCluster := newFailsafeCluster()
 
        var invokers []protocol.Invoker
        invokers = append(invokers, invoker)
diff --git a/cluster/cluster/forking/cluster.go 
b/cluster/cluster/forking/cluster.go
index 466fec2..487cc19 100644
--- a/cluster/cluster/forking/cluster.go
+++ b/cluster/cluster/forking/cluster.go
@@ -26,20 +26,20 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyForking, newCluster)
+       extension.SetCluster(constant.ClusterKeyForking, newForkingCluster)
 }
 
-type cluster struct{}
+type forkingCluster struct{}
 
-// newCluster returns a forking cluster instance.
+// newForkingCluster returns a forkingCluster instance.
 //
 // Multiple servers are invoked in parallel, returning as soon as one succeeds.
 // Usually it is used for real-time demanding read operations while wasting 
more service resources.
-func newCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newForkingCluster() clusterpkg.Cluster {
+       return &forkingCluster{}
 }
 
 // Join returns a baseClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory))
+func (cluster *forkingCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newForkingClusterInvoker(directory))
 }
diff --git a/cluster/cluster/forking/cluster_invoker.go 
b/cluster/cluster/forking/cluster_invoker.go
index 0c06db2..727076d 100644
--- a/cluster/cluster/forking/cluster_invoker.go
+++ b/cluster/cluster/forking/cluster_invoker.go
@@ -35,17 +35,17 @@ import (
        "dubbo.apache.org/dubbo-go/v3/protocol"
 )
 
-type clusterInvoker struct {
-       base.ClusterInvoker
+type forkingClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       return &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newForkingClusterInvoker(directory directory.Directory) protocol.Invoker {
+       return &forkingClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
 }
 
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *forkingClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        if err := invoker.CheckWhetherDestroyed(); err != nil {
                return &protocol.RPCResult{Err: err}
        }
diff --git a/cluster/cluster/forking/cluster_test.go 
b/cluster/cluster/forking/cluster_test.go
index f85c287..0787300 100644
--- a/cluster/cluster/forking/cluster_test.go
+++ b/cluster/cluster/forking/cluster_test.go
@@ -48,7 +48,7 @@ var forkingUrl, _ = common.NewURL(
        fmt.Sprintf("dubbo://%s:%d/com.ikurento.user.UserProvider", 
constant.LocalHostValue, constant.DefaultPort))
 
 func registerForking(mockInvokers ...*mock.MockInvoker) protocol.Invoker {
-       extension.SetLoadbalance(constant.LoadBalanceKeyRoundRobin, 
roundrobin.NewLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyRoundRobin, 
roundrobin.NewRRLoadBalance)
 
        var invokers []protocol.Invoker
        for i, ivk := range mockInvokers {
@@ -59,7 +59,7 @@ func registerForking(mockInvokers ...*mock.MockInvoker) 
protocol.Invoker {
        }
        staticDir := static.NewDirectory(invokers)
 
-       forkingCluster := newCluster()
+       forkingCluster := newForkingCluster()
        clusterInvoker := forkingCluster.Join(staticDir)
        return clusterInvoker
 }
diff --git a/cluster/cluster/zoneaware/cluster.go 
b/cluster/cluster/zoneaware/cluster.go
index 134583b..792bf10 100644
--- a/cluster/cluster/zoneaware/cluster.go
+++ b/cluster/cluster/zoneaware/cluster.go
@@ -26,20 +26,20 @@ import (
 )
 
 func init() {
-       extension.SetCluster(constant.ClusterKeyZoneAware, newCluster)
+       extension.SetCluster(constant.ClusterKeyZoneAware, newZoneawareCluster)
 }
 
-type cluster struct{}
+type zoneawareCluster struct{}
 
-// NewZoneAwareCluster returns a zoneaware cluster instance.
+// NewZoneAwareCluster returns a zoneawareCluster instance.
 //
 // More than one registry for subscription.
 // Usually it is used for choose between registries.
-func newCluster() clusterpkg.Cluster {
-       return &cluster{}
+func newZoneawareCluster() clusterpkg.Cluster {
+       return &zoneawareCluster{}
 }
 
 // Join returns a zoneAwareClusterInvoker instance
-func (cluster *cluster) Join(directory directory.Directory) protocol.Invoker {
-       return clusterpkg.BuildInterceptorChain(newClusterInvoker(directory), 
newInterceptor())
+func (cluster *zoneawareCluster) Join(directory directory.Directory) 
protocol.Invoker {
+       return 
clusterpkg.BuildInterceptorChain(newZoneawareClusterInvoker(directory), 
newInterceptor())
 }
diff --git a/cluster/cluster/zoneaware/cluster_invoker.go 
b/cluster/cluster/zoneaware/cluster_invoker.go
index 4c7a191..32189ee 100644
--- a/cluster/cluster/zoneaware/cluster_invoker.go
+++ b/cluster/cluster/zoneaware/cluster_invoker.go
@@ -36,18 +36,18 @@ import (
 // 2. check the zone the current request belongs, pick the registry that has 
the same zone first.
 // 3. Evenly balance traffic between all registries based on each registry's 
weight.
 // 4. Pick anyone that's available.
-type clusterInvoker struct {
-       base.ClusterInvoker
+type zoneawareClusterInvoker struct {
+       base.BaseClusterInvoker
 }
 
-func newClusterInvoker(directory directory.Directory) protocol.Invoker {
-       invoker := &clusterInvoker{
-               ClusterInvoker: base.NewClusterInvoker(directory),
+func newZoneawareClusterInvoker(directory directory.Directory) 
protocol.Invoker {
+       invoker := &zoneawareClusterInvoker{
+               BaseClusterInvoker: base.NewBaseClusterInvoker(directory),
        }
        return invoker
 }
 
-func (invoker *clusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
+func (invoker *zoneawareClusterInvoker) Invoke(ctx context.Context, invocation 
protocol.Invocation) protocol.Result {
        invokers := invoker.Directory.List(invocation)
 
        err := invoker.CheckInvokers(invokers, invocation)
diff --git a/cluster/cluster/zoneaware/cluster_invoker_test.go 
b/cluster/cluster/zoneaware/cluster_invoker_test.go
index 3a550f9..d32a3e7 100644
--- a/cluster/cluster/zoneaware/cluster_invoker_test.go
+++ b/cluster/cluster/zoneaware/cluster_invoker_test.go
@@ -74,7 +74,7 @@ func TestZoneWareInvokerWithPreferredSuccess(t *testing.T) {
                invokers = append(invokers, invoker)
        }
 
-       zoneAwareCluster := newCluster()
+       zoneAwareCluster := newZoneawareCluster()
        staticDir := static.NewDirectory(invokers)
        clusterInvoker := zoneAwareCluster.Join(staticDir)
 
@@ -84,7 +84,7 @@ func TestZoneWareInvokerWithPreferredSuccess(t *testing.T) {
 }
 
 func TestZoneWareInvokerWithWeightSuccess(t *testing.T) {
-       extension.SetLoadbalance(constant.LoadBalanceKeyRandom, 
random.NewLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyRandom, 
random.NewRandomLoadBalance)
 
        ctrl := gomock.NewController(t)
        // In Go versions 1.14+, if you pass a *testing.T
@@ -123,7 +123,7 @@ func TestZoneWareInvokerWithWeightSuccess(t *testing.T) {
                invokers = append(invokers, invoker)
        }
 
-       zoneAwareCluster := newCluster()
+       zoneAwareCluster := newZoneawareCluster()
        staticDir := static.NewDirectory(invokers)
        clusterInvoker := zoneAwareCluster.Join(staticDir)
 
@@ -170,7 +170,7 @@ func TestZoneWareInvokerWithZoneSuccess(t *testing.T) {
                invokers = append(invokers, invoker)
        }
 
-       zoneAwareCluster := newCluster()
+       zoneAwareCluster := newZoneawareCluster()
        staticDir := static.NewDirectory(invokers)
        clusterInvoker := zoneAwareCluster.Join(staticDir)
 
@@ -200,7 +200,7 @@ func TestZoneWareInvokerWithZoneForceFail(t *testing.T) {
                invokers = append(invokers, invoker)
        }
 
-       zoneAwareCluster := newCluster()
+       zoneAwareCluster := newZoneawareCluster()
        staticDir := static.NewDirectory(invokers)
        clusterInvoker := zoneAwareCluster.Join(staticDir)
 
diff --git a/cluster/loadbalance/consistenthashing/loadbalance.go 
b/cluster/loadbalance/consistenthashing/loadbalance.go
index ece1d15..67ccb5d 100644
--- a/cluster/loadbalance/consistenthashing/loadbalance.go
+++ b/cluster/loadbalance/consistenthashing/loadbalance.go
@@ -43,21 +43,21 @@ var (
 )
 
 func init() {
-       extension.SetLoadbalance(constant.LoadBalanceKeyConsistentHashing, 
newLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyConsistentHashing, 
newConshashLoadBalance)
 }
 
-// loadBalance implementation of load balancing: using consistent hashing
-type loadBalance struct{}
+// conshashLoadBalance implementation of load balancing: using consistent 
hashing
+type conshashLoadBalance struct{}
 
-// newLoadBalance creates NewConsistentHashLoadBalance
+// newConshashLoadBalance creates NewConsistentHashLoadBalance
 //
 // The same parameters of the request is always sent to the same provider.
-func newLoadBalance() loadbalance.LoadBalance {
-       return &loadBalance{}
+func newConshashLoadBalance() loadbalance.LoadBalance {
+       return &conshashLoadBalance{}
 }
 
 // Select gets invoker based on load balancing strategy
-func (lb *loadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
+func (lb *conshashLoadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
        methodName := invocation.MethodName()
        key := invokers[0].GetURL().ServiceKey() + "." + methodName
 
diff --git a/cluster/loadbalance/consistenthashing/loadbalance_test.go 
b/cluster/loadbalance/consistenthashing/loadbalance_test.go
index 80b9b01..caa37a9 100644
--- a/cluster/loadbalance/consistenthashing/loadbalance_test.go
+++ b/cluster/loadbalance/consistenthashing/loadbalance_test.go
@@ -108,7 +108,7 @@ func (s *consistentHashLoadBalanceSuite) SetupTest() {
        s.invoker3 = protocol.NewBaseInvoker(s.url3)
 
        s.invokers = append(s.invokers, s.invoker1, s.invoker2, s.invoker3)
-       s.lb = newLoadBalance()
+       s.lb = newConshashLoadBalance()
 }
 
 func (s *consistentHashLoadBalanceSuite) TestSelect() {
diff --git a/cluster/loadbalance/leastactive/loadbalance.go 
b/cluster/loadbalance/leastactive/loadbalance.go
index 317982b..5fe23ea 100644
--- a/cluster/loadbalance/leastactive/loadbalance.go
+++ b/cluster/loadbalance/leastactive/loadbalance.go
@@ -34,20 +34,20 @@ const (
 )
 
 func init() {
-       extension.SetLoadbalance(constant.LoadBalanceKeyLeastActive, 
newLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyLeastActive, 
newLeastActiveLoadBalance)
 }
 
-type loadBalance struct{}
+type leastActiveLoadBalance struct{}
 
-// newLoadBalance returns a least active load balance.
+// newLeastActiveLoadBalance returns a least active load balance.
 //
 // A random mechanism based on actives, actives means the number of a 
consumer's requests have been sent to provider but not yet got response.
-func newLoadBalance() loadbalance.LoadBalance {
-       return &loadBalance{}
+func newLeastActiveLoadBalance() loadbalance.LoadBalance {
+       return &leastActiveLoadBalance{}
 }
 
 // Select gets invoker based on least active load balancing strategy
-func (lb *loadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
+func (lb *leastActiveLoadBalance) Select(invokers []protocol.Invoker, 
invocation protocol.Invocation) protocol.Invoker {
        count := len(invokers)
        if count == 0 {
                return nil
diff --git a/cluster/loadbalance/leastactive/loadbalance_test.go 
b/cluster/loadbalance/leastactive/loadbalance_test.go
index ede1c5d..f6ef978 100644
--- a/cluster/loadbalance/leastactive/loadbalance_test.go
+++ b/cluster/loadbalance/leastactive/loadbalance_test.go
@@ -34,7 +34,7 @@ import (
 )
 
 func TestLeastActiveSelect(t *testing.T) {
-       loadBalance := newLoadBalance()
+       loadBalance := newLeastActiveLoadBalance()
 
        var invokers []protocol.Invoker
 
@@ -51,7 +51,7 @@ func TestLeastActiveSelect(t *testing.T) {
 }
 
 func TestLeastActiveByWeight(t *testing.T) {
-       loadBalance := newLoadBalance()
+       loadBalance := newLeastActiveLoadBalance()
 
        var invokers []protocol.Invoker
        loop := 3
diff --git a/cluster/loadbalance/p2c/loadbalance.go 
b/cluster/loadbalance/p2c/loadbalance.go
index 3b3678a..2adeb61 100644
--- a/cluster/loadbalance/p2c/loadbalance.go
+++ b/cluster/loadbalance/p2c/loadbalance.go
@@ -35,7 +35,7 @@ import (
 )
 
 func init() {
-       extension.SetLoadbalance(constant.LoadBalanceKeyP2C, newLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyP2C, newP2CLoadBalance)
 }
 
 var (
@@ -43,18 +43,18 @@ var (
        instance loadbalance.LoadBalance
 )
 
-type loadBalance struct{}
+type p2cLoadBalance struct{}
 
-func newLoadBalance() loadbalance.LoadBalance {
+func newP2CLoadBalance() loadbalance.LoadBalance {
        if instance == nil {
                once.Do(func() {
-                       instance = &loadBalance{}
+                       instance = &p2cLoadBalance{}
                })
        }
        return instance
 }
 
-func (l *loadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
+func (l *p2cLoadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
        if len(invokers) == 0 {
                return nil
        }
diff --git a/cluster/loadbalance/random/loadbalance.go 
b/cluster/loadbalance/random/loadbalance.go
index c3a7fb5..ae05b2d 100644
--- a/cluster/loadbalance/random/loadbalance.go
+++ b/cluster/loadbalance/random/loadbalance.go
@@ -29,19 +29,19 @@ import (
 )
 
 func init() {
-       extension.SetLoadbalance(constant.LoadBalanceKeyRandom, NewLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyRandom, 
NewRandomLoadBalance)
 }
 
-type loadBalance struct{}
+type randomLoadBalance struct{}
 
-// NewLoadBalance returns a random load balance instance.
+// NewRandomLoadBalance returns a random load balance instance.
 //
 // Set random probabilities by weight, and the request will be sent to 
provider randomly.
-func NewLoadBalance() loadbalance.LoadBalance {
-       return &loadBalance{}
+func NewRandomLoadBalance() loadbalance.LoadBalance {
+       return &randomLoadBalance{}
 }
 
-func (lb *loadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
+func (lb *randomLoadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
        var length int
        if length = len(invokers); length == 1 {
                return invokers[0]
diff --git a/cluster/loadbalance/random/loadbalance_test.go 
b/cluster/loadbalance/random/loadbalance_test.go
index 79ecbc1..6e19bf7 100644
--- a/cluster/loadbalance/random/loadbalance_test.go
+++ b/cluster/loadbalance/random/loadbalance_test.go
@@ -43,7 +43,7 @@ const (
 )
 
 func TestRandomlbSelect(t *testing.T) {
-       randomlb := NewLoadBalance()
+       randomlb := NewRandomLoadBalance()
 
        var invokers []protocol.Invoker
 
@@ -60,7 +60,7 @@ func TestRandomlbSelect(t *testing.T) {
 }
 
 func TestRandomlbSelectWeight(t *testing.T) {
-       randomlb := NewLoadBalance()
+       randomlb := NewRandomLoadBalance()
 
        invokers := []protocol.Invoker{}
        for i := 0; i < 10; i++ {
@@ -92,7 +92,7 @@ func TestRandomlbSelectWeight(t *testing.T) {
 }
 
 func TestRandomlbSelectWarmup(t *testing.T) {
-       randomlb := NewLoadBalance()
+       randomlb := NewRandomLoadBalance()
 
        invokers := []protocol.Invoker{}
        for i := 0; i < 10; i++ {
diff --git a/cluster/loadbalance/roundrobin/loadbalance.go 
b/cluster/loadbalance/roundrobin/loadbalance.go
index 80665d1..f0fd8a8 100644
--- a/cluster/loadbalance/roundrobin/loadbalance.go
+++ b/cluster/loadbalance/roundrobin/loadbalance.go
@@ -43,20 +43,20 @@ var (
 )
 
 func init() {
-       extension.SetLoadbalance(constant.LoadBalanceKeyRoundRobin, 
NewLoadBalance)
+       extension.SetLoadbalance(constant.LoadBalanceKeyRoundRobin, 
NewRRLoadBalance)
 }
 
-type loadBalance struct{}
+type rrLoadBalance struct{}
 
-// NewLoadBalance returns a round robin load balance
+// NewRRLoadBalance returns a round robin load balance
 //
 // Use the weight's common advisory to determine round robin ratio
-func NewLoadBalance() loadbalance.LoadBalance {
-       return &loadBalance{}
+func NewRRLoadBalance() loadbalance.LoadBalance {
+       return &rrLoadBalance{}
 }
 
 // Select gets invoker based on round robin load balancing strategy
-func (lb *loadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
+func (lb *rrLoadBalance) Select(invokers []protocol.Invoker, invocation 
protocol.Invocation) protocol.Invoker {
        count := len(invokers)
        if count == 0 {
                return nil
diff --git a/cluster/loadbalance/roundrobin/loadbalance_test.go 
b/cluster/loadbalance/roundrobin/loadbalance_test.go
index 00fd592..cb64e87 100644
--- a/cluster/loadbalance/roundrobin/loadbalance_test.go
+++ b/cluster/loadbalance/roundrobin/loadbalance_test.go
@@ -35,7 +35,7 @@ import (
 )
 
 func TestRoundRobinSelect(t *testing.T) {
-       loadBalance := NewLoadBalance()
+       loadBalance := NewRRLoadBalance()
 
        var invokers []protocol.Invoker
 
@@ -53,7 +53,7 @@ func TestRoundRobinSelect(t *testing.T) {
 }
 
 func TestRoundRobinByWeight(t *testing.T) {
-       loadBalance := NewLoadBalance()
+       loadBalance := NewRRLoadBalance()
 
        var invokers []protocol.Invoker
        loop := 10

Reply via email to