diff --git a/cluster/router/condition_router_test.go b/cluster/router/condition_router_test.go
index 69d842a2b17931f735658cb27ecdfa00b78c7dd1..01673ae47c5ee39b71ba34a2fc825b345ae995d6 100644
--- a/cluster/router/condition_router_test.go
+++ b/cluster/router/condition_router_test.go
@@ -109,39 +109,39 @@ func (bi *MockInvoker) Destroy() {
 func TestRoute_matchWhen(t *testing.T) {
 	inv := &invocation.RPCInvocation{}
 	rule := base64.URLEncoding.EncodeToString([]byte("=> host = 1.2.3.4"))
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	cUrl, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService")
 
 	matchWhen, _ := router.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, true, matchWhen)
 
 	rule1 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"))
-	router1, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule1))
+	router1, _ := NewConditionRouterFactory().Router(getRouteUrl(rule1))
 	matchWhen1, _ := router1.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, true, matchWhen1)
 
 	rule2 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.1,3.3.3.3 & host !=1.1.1.1 => host = 1.2.3.4"))
-	router2, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule2))
+	router2, _ := NewConditionRouterFactory().Router(getRouteUrl(rule2))
 	matchWhen2, _ := router2.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, false, matchWhen2)
 
 	rule3 := base64.URLEncoding.EncodeToString([]byte("host !=4.4.4.4 & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"))
-	router3, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule3))
+	router3, _ := NewConditionRouterFactory().Router(getRouteUrl(rule3))
 	matchWhen3, _ := router3.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, true, matchWhen3)
 
 	rule4 := base64.URLEncoding.EncodeToString([]byte("host !=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"))
-	router4, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule4))
+	router4, _ := NewConditionRouterFactory().Router(getRouteUrl(rule4))
 	matchWhen4, _ := router4.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, true, matchWhen4)
 
 	rule5 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.1 => host = 1.2.3.4"))
-	router5, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule5))
+	router5, _ := NewConditionRouterFactory().Router(getRouteUrl(rule5))
 	matchWhen5, _ := router5.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, false, matchWhen5)
 
 	rule6 := base64.URLEncoding.EncodeToString([]byte("host = 2.2.2.2,1.1.1.*,3.3.3.3 & host != 1.1.1.2 => host = 1.2.3.4"))
-	router6, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule6))
+	router6, _ := NewConditionRouterFactory().Router(getRouteUrl(rule6))
 	matchWhen6, _ := router6.(*ConditionRouter).MatchWhen(cUrl, inv)
 	assert.Equal(t, true, matchWhen6)
 }
@@ -156,12 +156,12 @@ func TestRoute_matchFilter(t *testing.T) {
 	rule4 := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = 10.20.3.2,10.20.3.3,10.20.3.4"))
 	rule5 := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host != 10.20.3.3"))
 	rule6 := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " serialization = fastjson"))
-	router1, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule1))
-	router2, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule2))
-	router3, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule3))
-	router4, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule4))
-	router5, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule5))
-	router6, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule6))
+	router1, _ := NewConditionRouterFactory().Router(getRouteUrl(rule1))
+	router2, _ := NewConditionRouterFactory().Router(getRouteUrl(rule2))
+	router3, _ := NewConditionRouterFactory().Router(getRouteUrl(rule3))
+	router4, _ := NewConditionRouterFactory().Router(getRouteUrl(rule4))
+	router5, _ := NewConditionRouterFactory().Router(getRouteUrl(rule5))
+	router6, _ := NewConditionRouterFactory().Router(getRouteUrl(rule6))
 	cUrl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
 	fileredInvokers1 := router1.Route(invokers, cUrl, &invocation.RPCInvocation{})
@@ -183,7 +183,7 @@ func TestRoute_methodRoute(t *testing.T) {
 
 	inv := invocation.NewRPCInvocation("getFoo", []reflect.Type{}, []interface{}{})
 	rule := base64.URLEncoding.EncodeToString([]byte("host !=4.4.4.* & host = 2.2.2.2,1.1.1.1,3.3.3.3 => host = 1.2.3.4"))
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 
 	url, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService?methods=setFoo,getFoo,findFoo")
 	matchWhen, _ := router.(*ConditionRouter).MatchWhen(url, inv)
@@ -195,13 +195,13 @@ func TestRoute_methodRoute(t *testing.T) {
 
 	url2, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService?methods=getFoo")
 	rule2 := base64.URLEncoding.EncodeToString([]byte("methods=getFoo & host!=1.1.1.1 => host = 1.2.3.4"))
-	router2, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule2))
+	router2, _ := NewConditionRouterFactory().Router(getRouteUrl(rule2))
 	matchWhen, _ = router2.(*ConditionRouter).MatchWhen(url2, inv)
 	assert.Equal(t, false, matchWhen)
 
 	url3, _ := common.NewURL(context.TODO(), "consumer://1.1.1.1/com.foo.BarService?methods=getFoo")
 	rule3 := base64.URLEncoding.EncodeToString([]byte("methods=getFoo & host=1.1.1.1 => host = 1.2.3.4"))
-	router3, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule3))
+	router3, _ := NewConditionRouterFactory().Router(getRouteUrl(rule3))
 	matchWhen, _ = router3.(*ConditionRouter).MatchWhen(url3, inv)
 	assert.Equal(t, true, matchWhen)
 
@@ -214,7 +214,7 @@ func TestRoute_ReturnFalse(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => false"))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 0, len(fileredInvokers))
 }
@@ -225,7 +225,7 @@ func TestRoute_ReturnEmpty(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => "))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 0, len(fileredInvokers))
 }
@@ -235,7 +235,7 @@ func TestRoute_ReturnAll(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = " + LocalIp()))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, invokers, fileredInvokers)
 }
@@ -252,7 +252,7 @@ func TestRoute_HostFilter(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = " + LocalIp()))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 2, len(fileredInvokers))
 	assert.Equal(t, invoker2, fileredInvokers[0])
@@ -270,7 +270,7 @@ func TestRoute_Empty_HostFilter(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte(" => " + " host = " + LocalIp()))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 2, len(fileredInvokers))
 	assert.Equal(t, invoker2, fileredInvokers[0])
@@ -288,7 +288,7 @@ func TestRoute_False_HostFilter(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("true => " + " host = " + LocalIp()))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 2, len(fileredInvokers))
 	assert.Equal(t, invoker2, fileredInvokers[0])
@@ -306,7 +306,7 @@ func TestRoute_Placeholder(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = $host"))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrl(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrl(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 2, len(fileredInvokers))
 	assert.Equal(t, invoker2, fileredInvokers[0])
@@ -324,7 +324,7 @@ func TestRoute_NoForce(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = 1.2.3.4"))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrlWithNoForce(rule))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrlWithNoForce(rule))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, invokers, fileredInvokers)
 }
@@ -340,7 +340,7 @@ func TestRoute_Force(t *testing.T) {
 	rule := base64.URLEncoding.EncodeToString([]byte("host = " + LocalIp() + " => " + " host = 1.2.3.4"))
 	curl, _ := common.NewURL(context.TODO(), "consumer://"+LocalIp()+"/com.foo.BarService")
 
-	router, _ := NewConditionRouterFactory().GetRouter(getRouteUrlWithForce(rule, "true"))
+	router, _ := NewConditionRouterFactory().Router(getRouteUrlWithForce(rule, "true"))
 	fileredInvokers := router.(*ConditionRouter).Route(invokers, curl, inv)
 	assert.Equal(t, 0, len(fileredInvokers))
 }
diff --git a/common/constant/key.go b/common/constant/key.go
index b155c3b0f52657dad65869d4b851c4590e5ec3c9..55bf7b7c8642c7535f16341ec929f7bfc5fcb223 100644
--- a/common/constant/key.go
+++ b/common/constant/key.go
@@ -75,7 +75,4 @@ const (
 const (
 	CONFIG_NAMESPACE_KEY = "config.namespace"
 	CONFIG_TIMEOUT_KET   = "config.timeout"
-	METHOD_KEY           = "method"
-	METHOD_KEYS          = "methods"
-	RULE_KEY             = "rule"
 )
diff --git a/go.mod b/go.mod
index 709124241c865e6469d19c7c67a8d275e5ade2c7..213d7ee8e8e530c26e1f80fe9deecf5fa0a6b714 100644
--- a/go.mod
+++ b/go.mod
@@ -4,11 +4,9 @@ require (
 	github.com/dubbogo/getty v1.0.7
 	github.com/dubbogo/hessian2 v1.0.2
 	github.com/pkg/errors v0.8.1
-	github.com/robertkrimen/otto v0.0.0-20180617131154-15f95af6e78d
 	github.com/samuel/go-zookeeper v0.0.0-20180130194729-c4fab1ac1bec
 	github.com/stretchr/testify v1.3.0
 	go.uber.org/atomic v1.4.0
 	go.uber.org/zap v1.10.0
-	gopkg.in/sourcemap.v1 v1.0.5 // indirect
 	gopkg.in/yaml.v2 v2.2.2
 )
diff --git a/go.sum b/go.sum
index f39e814c86a6d7b32e699ac36198f4965937f44c..821abcdce9d0518584059caa97a40d6ab0022cf0 100644
--- a/go.sum
+++ b/go.sum
@@ -31,5 +31,6 @@ golang.org/x/sys v0.0.0-20190215142949-d0b11bdaac8a/go.mod h1:STP8DvDyc/dI5b8T5h
 golang.org/x/text v0.3.0/go.mod h1:NqM8EUOU14njkJ3fqMW+pc6Ldnwhi/IjpwHt7yyuwOQ=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405 h1:yhCVgyC4o1eVCa2tZl7eS0r+SDo693bJlVdllGtEeKM=
 gopkg.in/check.v1 v0.0.0-20161208181325-20d25e280405/go.mod h1:Co6ibVJAznAaIkqp8huTwlJQCZ016jof/cbN4VW5Yz0=
+gopkg.in/sourcemap.v1 v1.0.5/go.mod h1:2RlvNNSMglmRrcvhfuzp4hQHwOtjxlbjX7UPY/GXb78=
 gopkg.in/yaml.v2 v2.2.2 h1:ZCJp+EgiOT7lHqUV2J862kp8Qj64Jo6az82+3Td9dZw=
 gopkg.in/yaml.v2 v2.2.2/go.mod h1:hI93XBmqTisBFMUTm0b8Fm+jr3Dg1NNxqwp+5A1VGuI=