You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by la...@apache.org on 2021/09/03 13:16:44 UTC
[dubbo-go-samples] branch config-enhance updated: Feat/nacos
registry (#217)
This is an automated email from the ASF dual-hosted git repository.
laurence pushed a commit to branch config-enhance
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
The following commit(s) were added to refs/heads/config-enhance by this push:
new 30efb4c Feat/nacos registry (#217)
30efb4c is described below
commit 30efb4c56dec466f57a814deb804dde544254294
Author: Mulavar <97...@qq.com>
AuthorDate: Fri Sep 3 21:13:29 2021 +0800
Feat/nacos registry (#217)
* add new protocol config & fomat yaml config
* replace '_' with '-'
* add nacos integrate test
Co-authored-by: dongjianhui03 <do...@meituan.com>
---
.run/registry/registry-nacos-go-client.run.xml | 2 +-
.../registry/nacos}/docker/docker-compose.yml | 0
.../registry/nacos}/docker/docker-health-check.sh | 0
.../registry/nacos}/tests/integration/main_test.go | 6 ++--
.../nacos}/tests/integration/userprovider_test.go | 3 +-
registry/nacos/go-client/cmd/client.go | 13 ++------
registry/nacos/go-client/conf/dubbogo.yml | 38 ++++++++++++++++++----
registry/nacos/go-server/cmd/server.go | 10 ++----
registry/nacos/go-server/conf/dubbogo.yml | 34 ++++++++++++++-----
start_integrate_test.sh | 1 +
10 files changed, 67 insertions(+), 40 deletions(-)
diff --git a/.run/registry/registry-nacos-go-client.run.xml b/.run/registry/registry-nacos-go-client.run.xml
index d720d09..0f9987d 100644
--- a/.run/registry/registry-nacos-go-client.run.xml
+++ b/.run/registry/registry-nacos-go-client.run.xml
@@ -4,7 +4,7 @@
<working_directory value="$PROJECT_DIR$" />
<envs>
<env name="DUBBO_GO_CONFIG_PATH" value="$PROJECT_DIR$/registry/nacos/go-client/conf/dubbogo.yml" />
- <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/general/registry/nacos/go-client/conf/log.yml" />
+ <env name="APP_LOG_CONF_FILE" value="$PROJECT_DIR$/registry/nacos/go-client/conf/log.yml" />
</envs>
<kind value="PACKAGE" />
<package value="github.com/apache/dubbo-go-samples/registry/nacos/go-client/cmd" />
diff --git a/registry/nacos/go-server/docker/docker-compose.yml b/integrate_test/registry/nacos/docker/docker-compose.yml
similarity index 100%
rename from registry/nacos/go-server/docker/docker-compose.yml
rename to integrate_test/registry/nacos/docker/docker-compose.yml
diff --git a/registry/nacos/go-server/docker/docker-health-check.sh b/integrate_test/registry/nacos/docker/docker-health-check.sh
similarity index 100%
rename from registry/nacos/go-server/docker/docker-health-check.sh
rename to integrate_test/registry/nacos/docker/docker-health-check.sh
diff --git a/registry/nacos/go-server/tests/integration/main_test.go b/integrate_test/registry/nacos/tests/integration/main_test.go
similarity index 93%
rename from registry/nacos/go-server/tests/integration/main_test.go
rename to integrate_test/registry/nacos/tests/integration/main_test.go
index 7de6914..1667576 100644
--- a/registry/nacos/go-server/tests/integration/main_test.go
+++ b/integrate_test/registry/nacos/tests/integration/main_test.go
@@ -39,7 +39,7 @@ import (
hessian "github.com/apache/dubbo-go-hessian2"
)
-var userProvider = new(UserProvider)
+var userProvider = &UserProvider{}
func TestMain(m *testing.M) {
config.SetConsumerService(userProvider)
@@ -58,11 +58,11 @@ type User struct {
}
type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetUser func(ctx context.Context, req *User) (rsp *User, err error)
}
func (u *UserProvider) Reference() string {
- return "UserProvider"
+ return "userProvider"
}
func (User) JavaClassName() string {
diff --git a/registry/nacos/go-server/tests/integration/userprovider_test.go b/integrate_test/registry/nacos/tests/integration/userprovider_test.go
similarity index 92%
rename from registry/nacos/go-server/tests/integration/userprovider_test.go
rename to integrate_test/registry/nacos/tests/integration/userprovider_test.go
index 7183e64..7f17774 100644
--- a/registry/nacos/go-server/tests/integration/userprovider_test.go
+++ b/integrate_test/registry/nacos/tests/integration/userprovider_test.go
@@ -29,8 +29,7 @@ import (
)
func TestGetUser(t *testing.T) {
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{ID: "A001"})
assert.Nil(t, err)
assert.Equal(t, "A001", user.ID)
assert.Equal(t, "Alex Stocks", user.Name)
diff --git a/registry/nacos/go-client/cmd/client.go b/registry/nacos/go-client/cmd/client.go
index 5412757..5fa85e1 100644
--- a/registry/nacos/go-client/cmd/client.go
+++ b/registry/nacos/go-client/cmd/client.go
@@ -24,14 +24,8 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
@@ -39,7 +33,7 @@ import (
)
type UserProvider struct {
- GetUser func(ctx context.Context, req []interface{}, rsp *User) error
+ GetUser func(ctx context.Context, req *User) (rsp *User, err error)
}
func (u *UserProvider) Reference() string {
@@ -66,8 +60,7 @@ func main() {
time.Sleep(3 * time.Second)
gxlog.CInfo("\n\n\nstart to test dubbo")
- user := &User{}
- err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
+ user, err := userProvider.GetUser(context.TODO(), &User{Name: "Alex001"})
if err != nil {
gxlog.CError("error: %v\n", err)
os.Exit(1)
diff --git a/registry/nacos/go-client/conf/dubbogo.yml b/registry/nacos/go-client/conf/dubbogo.yml
index a3eafaa..3545d9a 100644
--- a/registry/nacos/go-client/conf/dubbogo.yml
+++ b/registry/nacos/go-client/conf/dubbogo.yml
@@ -1,13 +1,37 @@
dubbo:
registries:
- "demoNacos":
- protocol: "nacos"
- timeout: "3s"
- address: "127.0.0.1:8848"
+ demoNacos:
+ protocol: nacos
+ timeout: 3s
+ address: 127.0.0.1:8848
+ protocols:
+ dubbo:
+ name: dubbo
+ port: 20000
+ # 在 params 中定义当前使用的协议特有的网络配置
+ # 如该 sample 配置的是 dubbo 协议(底层使用 getty 通信库)的参数
+ params:
+ reconnect-interval: 2
+ connection-number: 1
+ heartbeat-period: 5s
+ session-timeout: 180s
+ pool-size: 64
+ pool-ttl: 600
+ compress-encoding: false
+ tcp-no-delay: true
+ tcp-keep-alive: true
+ keep-alive-period: 120s
+ tcp-r-buf-size: 262144
+ tcp-w-buf-size: 65536
+ tcp-read-timeout: 1s
+ tcp-write-timeout: 5s
+ wait-timeout: 1s
+ max-msg-len: 1024000
+ session-name: client
consumer:
registry:
- demoNacos
references:
- "userProvider":
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
+ userProvider:
+ protocol: dubbo
+ interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/registry/nacos/go-server/cmd/server.go b/registry/nacos/go-server/cmd/server.go
index 1670192..b71d550 100644
--- a/registry/nacos/go-server/cmd/server.go
+++ b/registry/nacos/go-server/cmd/server.go
@@ -27,15 +27,9 @@ import (
)
import (
- _ "dubbo.apache.org/dubbo-go/v3/cluster/cluster_impl"
- _ "dubbo.apache.org/dubbo-go/v3/cluster/loadbalance"
"dubbo.apache.org/dubbo-go/v3/common/logger"
- _ "dubbo.apache.org/dubbo-go/v3/common/proxy/proxy_factory"
"dubbo.apache.org/dubbo-go/v3/config"
- _ "dubbo.apache.org/dubbo-go/v3/filter/filter_impl"
- _ "dubbo.apache.org/dubbo-go/v3/protocol/dubbo"
- _ "dubbo.apache.org/dubbo-go/v3/registry/nacos"
- _ "dubbo.apache.org/dubbo-go/v3/registry/protocol"
+ _ "dubbo.apache.org/dubbo-go/v3/imports"
hessian "github.com/apache/dubbo-go-hessian2"
@@ -62,7 +56,7 @@ type User struct {
type UserProvider struct {
}
-func (u *UserProvider) GetUser(ctx context.Context, req []interface{}) (*User, error) {
+func (u *UserProvider) GetUser(ctx context.Context, req *User) (*User, error) {
gxlog.CInfo("req:%#v", req)
rsp := User{"A001", "Alex Stocks", 18, time.Now()}
gxlog.CInfo("rsp:%#v", rsp)
diff --git a/registry/nacos/go-server/conf/dubbogo.yml b/registry/nacos/go-server/conf/dubbogo.yml
index d485271..d674560 100644
--- a/registry/nacos/go-server/conf/dubbogo.yml
+++ b/registry/nacos/go-server/conf/dubbogo.yml
@@ -1,17 +1,33 @@
dubbo:
registries:
- "demoNacos":
- protocol: "nacos"
- timeout: "3s"
- address: "127.0.0.1:8848"
+ demoNacos:
+ protocol: nacos
+ timeout: 3s
+ address: 127.0.0.1:8848
protocols:
- "dubbo":
- name: "dubbo"
+ dubbo:
+ name: dubbo
port: 20000
+ # 在 params 中定义当前使用的协议特有的网络配置
+ # 如该 sample 配置的是 dubbo 协议(底层使用 getty 通信库)
+ params:
+ session-number: 700
+ session-timeout: 180s
+ compress-encoding: false
+ tcp-no-delay: true
+ tcp-keep-alive: true
+ keep-alive-period: 120s
+ tcp-r-buf-size: 262144
+ tcp-w-buf-size: 65536
+ tcp-read-timeout: 10s
+ tcp-write-timeout: 5s
+ wait-timeout: 1s
+ max-msg-len: 1024000
+ session-name: server
provider:
registry:
- demoNacos
services:
- "userProvider":
- protocol: "dubbo"
- interface: "org.apache.dubbo.UserProvider"
\ No newline at end of file
+ userProvider:
+ protocol: dubbo
+ interface: org.apache.dubbo.UserProvider
\ No newline at end of file
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index 0f6758d..2758e9c 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -95,6 +95,7 @@ array+=("config-api/rpc/triple")
array+=("registry/zookeeper")
array+=("rpc/dubbo3/codec-extension")
array+=("rpc/dubbo3/hessian2")
+array+=("registry/nacos")
for((i=0;i<${#array[*]};i++))
do