This is an automated email from the ASF dual-hosted git repository.
alexstocks pushed a commit to branch master
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git
The following commit(s) were added to refs/heads/master by this push:
new 302b3ad1 support all (#481)
302b3ad1 is described below
commit 302b3ad1db7fbd0dda7be0681f982166d3387ce3
Author: bobtthp <[email protected]>
AuthorDate: Fri Jan 13 22:04:48 2023 +0800
support all (#481)
* support all
* client use serivce registry-type
* add readme
* update dep
* add readme
* import format
* fix format
* delete blank line
* go mod
* update go.sum
Co-authored-by: bobtthp <[email protected]>
Co-authored-by: bob <[email protected]>
---
.run/service-discovery-nacos-server.run.xml | 14 -----------
registry/all/README.md | 29 ++++++++++++++++++++++
.../all/nacos}/go-client/cmd/client.go | 28 ++++++++++-----------
registry/all/nacos/go-client/conf/dubbogo.yml | 14 +++++++++++
.../all/nacos/go-server/cmd/server.go | 27 ++++++++------------
registry/all/nacos/go-server/conf/dubbogo.yml | 17 +++++++++++++
.../all/zookeeper}/go-client/cmd/client.go | 28 ++++++++++-----------
registry/all/zookeeper/go-client/conf/dubbogo.yml | 16 ++++++++++++
.../all/zookeeper/go-server/cmd/server.go | 27 ++++++++------------
registry/all/zookeeper/go-server/conf/dubbogo.yml | 17 +++++++++++++
seata-go/tcc/client/cmd/client.go | 2 ++
seata-go/tcc/server/cmd/server.go | 2 ++
seata-go/tcc/server/service/user_provider.go | 1 +
tls/dubbo/go-client/cmd/client.go | 3 ++-
tls/dubbo/go-server/cmd/server.go | 3 ++-
.../go-server/pkg/wrapper_array_class_provider.go | 4 +--
tls/triple/go-client/cmd/client.go | 1 +
tls/triple/go-server/cmd/server.go | 1 +
18 files changed, 152 insertions(+), 82 deletions(-)
diff --git a/.run/service-discovery-nacos-server.run.xml
b/.run/service-discovery-nacos-server.run.xml
deleted file mode 100644
index 830f9908..00000000
--- a/.run/service-discovery-nacos-server.run.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<component name="ProjectRunConfigurationManager">
- <configuration default="false" name="service-discovery-nacos-server"
type="GoApplicationRunConfiguration" factoryName="Go Application"
folderName="service-discovery">
- <module name="dubbo-go-samples" />
- <working_directory value="$PROJECT_DIR$" />
- <envs>
- <env name="DUBBO_GO_CONFIG_PATH"
value="registry/servicediscovery/nacos/go-server/conf/dubbogo.yml" />
- </envs>
- <kind value="PACKAGE" />
- <package
value="github.com/apache/dubbo-go-samples/registry/servicediscovery/nacos/go-server/cmd"
/>
- <directory value="$PROJECT_DIR$" />
- <filePath
value="$PROJECT_DIR$/registry/servicediscovery/zookeeper/go-server/cmd/server.go"
/>
- <method v="2" />
- </configuration>
-</component>
\ No newline at end of file
diff --git a/registry/all/README.md b/registry/all/README.md
new file mode 100644
index 00000000..9aa336c9
--- /dev/null
+++ b/registry/all/README.md
@@ -0,0 +1,29 @@
+# Dubbo Go registry-type support all
+
+| 参数 | 注册方式 |
+|------------|------------|
+| interface | 接口级 |
+| service | 应用级 |
+| all | 应用级 && 接口级 |
+
+
+## 使用方法
+1. 启动 zk/nacos
+
+2. 启动服务端
+ 将启动配置修改为: registry-type: all
+```shell
+ cd registry/all/go-server
+ DUBBO_GO_CONFIG_PATH=registry/all/nacos/go-server/conf/dubbogo.yml && go
run server.go
+ ```
+
+3. 启动客户端
+ 由于服务注册方式支持双注册,客户端使用 service/interface 两种参数均可访问服务端
+```shell
+ cd registry/all/go-client
+ DUBBO_GO_CONFIG_PATH=registry/all/nacos/go-client/conf/dubbogo.yml && go run
client.go
+```
+
+
+
+
diff --git a/tls/triple/go-client/cmd/client.go
b/registry/all/nacos/go-client/cmd/client.go
similarity index 65%
copy from tls/triple/go-client/cmd/client.go
copy to registry/all/nacos/go-client/cmd/client.go
index 09350474..e87c584f 100644
--- a/tls/triple/go-client/cmd/client.go
+++ b/registry/all/nacos/go-client/cmd/client.go
@@ -24,35 +24,33 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
)
import (
- _ "github.com/apache/dubbo-go-samples/tls/triple/codec"
+ "github.com/apache/dubbo-go-samples/api"
)
-type User struct {
- ID string
- Name string
- Age int32
-}
+var grpcGreeterImpl = &api.GreeterClientImpl{}
-type UserProvider struct {
- GetUser func(context.Context, *User, *User, string) (*User, error)
+func init() {
+ config.SetConsumerService(grpcGreeterImpl)
}
-var userProvider = new(UserProvider)
-
-// export
DUBBO_GO_CONFIG_PATH=PATH_TO_SAMPLES/rpc/triple/codec-extension/go-client/conf/dubbogo.yaml
+// export DUBBO_GO_CONFIG_PATH =
PATH_TO_SAMPLES/registry/servicediscovery/zookeeper/go-client/conf/dubbogo.yml
func main() {
- config.SetConsumerService(userProvider)
if err := config.Load(); err != nil {
panic(err)
}
- user, err := userProvider.GetUser(context.TODO(), &User{Name: "zlber"},
&User{Name: "zlber2"}, "testName")
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
if err != nil {
- panic(err)
+ logger.Error(err)
}
- logger.Infof("response result: %v\n", user)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/registry/all/nacos/go-client/conf/dubbogo.yml
b/registry/all/nacos/go-client/conf/dubbogo.yml
new file mode 100644
index 00000000..33f1b37f
--- /dev/null
+++ b/registry/all/nacos/go-client/conf/dubbogo.yml
@@ -0,0 +1,14 @@
+dubbo:
+ registries:
+ demoZK:
+ protocol: nacos
+ address: 127.0.0.1:8848
+ registry-type: service
+ metadata-report:
+ protocol: nacos
+ address: 127.0.0.1:8848
+ consumer:
+ references:
+ GreeterClientImpl:
+ protocol: tri
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible
with grpc or dubbo-java
\ No newline at end of file
diff --git a/tls/triple/go-client/cmd/client.go
b/registry/all/nacos/go-server/cmd/server.go
similarity index 64%
copy from tls/triple/go-client/cmd/client.go
copy to registry/all/nacos/go-server/cmd/server.go
index 09350474..9f473d98 100644
--- a/tls/triple/go-client/cmd/client.go
+++ b/registry/all/nacos/go-server/cmd/server.go
@@ -24,35 +24,28 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
)
import (
- _ "github.com/apache/dubbo-go-samples/tls/triple/codec"
+ "github.com/apache/dubbo-go-samples/api"
)
-type User struct {
- ID string
- Name string
- Age int32
+type GreeterProvider struct {
+ api.UnimplementedGreeterServer
}
-type UserProvider struct {
- GetUser func(context.Context, *User, *User, string) (*User, error)
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest)
(*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user request name = %s\n",
in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
}
-var userProvider = new(UserProvider)
-
-// export
DUBBO_GO_CONFIG_PATH=PATH_TO_SAMPLES/rpc/triple/codec-extension/go-client/conf/dubbogo.yaml
+// export DUBBO_GO_CONFIG_PATH =
PATH_TO_SAMPLES/registry/servicediscovery/zookeeper/go-server/conf/dubbogo.yml
func main() {
- config.SetConsumerService(userProvider)
+ config.SetProviderService(&GreeterProvider{})
if err := config.Load(); err != nil {
panic(err)
}
-
- user, err := userProvider.GetUser(context.TODO(), &User{Name: "zlber"},
&User{Name: "zlber2"}, "testName")
- if err != nil {
- panic(err)
- }
- logger.Infof("response result: %v\n", user)
+ select {}
}
diff --git a/registry/all/nacos/go-server/conf/dubbogo.yml
b/registry/all/nacos/go-server/conf/dubbogo.yml
new file mode 100644
index 00000000..e6823488
--- /dev/null
+++ b/registry/all/nacos/go-server/conf/dubbogo.yml
@@ -0,0 +1,17 @@
+dubbo:
+ registries:
+ demoZK:
+ protocol: nacos
+ address: 127.0.0.1:8848
+ registry-type: all
+ metadata-report:
+ protocol: nacos
+ address: 127.0.0.1:8848
+ protocols:
+ triple:
+ name: tri
+ port: 20000
+ provider:
+ services:
+ GreeterProvider:
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible
with grpc or dubbo-java
\ No newline at end of file
diff --git a/tls/triple/go-client/cmd/client.go
b/registry/all/zookeeper/go-client/cmd/client.go
similarity index 65%
copy from tls/triple/go-client/cmd/client.go
copy to registry/all/zookeeper/go-client/cmd/client.go
index 09350474..e87c584f 100644
--- a/tls/triple/go-client/cmd/client.go
+++ b/registry/all/zookeeper/go-client/cmd/client.go
@@ -24,35 +24,33 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
)
import (
- _ "github.com/apache/dubbo-go-samples/tls/triple/codec"
+ "github.com/apache/dubbo-go-samples/api"
)
-type User struct {
- ID string
- Name string
- Age int32
-}
+var grpcGreeterImpl = &api.GreeterClientImpl{}
-type UserProvider struct {
- GetUser func(context.Context, *User, *User, string) (*User, error)
+func init() {
+ config.SetConsumerService(grpcGreeterImpl)
}
-var userProvider = new(UserProvider)
-
-// export
DUBBO_GO_CONFIG_PATH=PATH_TO_SAMPLES/rpc/triple/codec-extension/go-client/conf/dubbogo.yaml
+// export DUBBO_GO_CONFIG_PATH =
PATH_TO_SAMPLES/registry/servicediscovery/zookeeper/go-client/conf/dubbogo.yml
func main() {
- config.SetConsumerService(userProvider)
if err := config.Load(); err != nil {
panic(err)
}
- user, err := userProvider.GetUser(context.TODO(), &User{Name: "zlber"},
&User{Name: "zlber2"}, "testName")
+ logger.Info("start to test dubbo")
+ req := &api.HelloRequest{
+ Name: "laurence",
+ }
+ reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
if err != nil {
- panic(err)
+ logger.Error(err)
}
- logger.Infof("response result: %v\n", user)
+ logger.Infof("client response result: %v\n", reply)
}
diff --git a/registry/all/zookeeper/go-client/conf/dubbogo.yml
b/registry/all/zookeeper/go-client/conf/dubbogo.yml
new file mode 100644
index 00000000..5bc0fae9
--- /dev/null
+++ b/registry/all/zookeeper/go-client/conf/dubbogo.yml
@@ -0,0 +1,16 @@
+dubbo:
+ registries:
+ demoZK:
+ protocol: zookeeper
+ address: 127.0.0.1:2181
+ registry-type: all
+ metadata-report:
+ protocol: zookeeper
+ address: 127.0.0.1:2181
+ consumer:
+ registry-ids:
+ - demoZK
+ references:
+ GreeterClientImpl:
+ protocol: tri
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible
with grpc or dubbo-java
\ No newline at end of file
diff --git a/tls/triple/go-client/cmd/client.go
b/registry/all/zookeeper/go-server/cmd/server.go
similarity index 64%
copy from tls/triple/go-client/cmd/client.go
copy to registry/all/zookeeper/go-server/cmd/server.go
index 09350474..9f473d98 100644
--- a/tls/triple/go-client/cmd/client.go
+++ b/registry/all/zookeeper/go-server/cmd/server.go
@@ -24,35 +24,28 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
)
import (
- _ "github.com/apache/dubbo-go-samples/tls/triple/codec"
+ "github.com/apache/dubbo-go-samples/api"
)
-type User struct {
- ID string
- Name string
- Age int32
+type GreeterProvider struct {
+ api.UnimplementedGreeterServer
}
-type UserProvider struct {
- GetUser func(context.Context, *User, *User, string) (*User, error)
+func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest)
(*api.User, error) {
+ logger.Infof("Dubbo3 GreeterProvider get user request name = %s\n",
in.Name)
+ return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
}
-var userProvider = new(UserProvider)
-
-// export
DUBBO_GO_CONFIG_PATH=PATH_TO_SAMPLES/rpc/triple/codec-extension/go-client/conf/dubbogo.yaml
+// export DUBBO_GO_CONFIG_PATH =
PATH_TO_SAMPLES/registry/servicediscovery/zookeeper/go-server/conf/dubbogo.yml
func main() {
- config.SetConsumerService(userProvider)
+ config.SetProviderService(&GreeterProvider{})
if err := config.Load(); err != nil {
panic(err)
}
-
- user, err := userProvider.GetUser(context.TODO(), &User{Name: "zlber"},
&User{Name: "zlber2"}, "testName")
- if err != nil {
- panic(err)
- }
- logger.Infof("response result: %v\n", user)
+ select {}
}
diff --git a/registry/all/zookeeper/go-server/conf/dubbogo.yml
b/registry/all/zookeeper/go-server/conf/dubbogo.yml
new file mode 100644
index 00000000..458ef444
--- /dev/null
+++ b/registry/all/zookeeper/go-server/conf/dubbogo.yml
@@ -0,0 +1,17 @@
+dubbo:
+ registries:
+ demoZK:
+ protocol: zookeeper
+ address: 127.0.0.1:2181
+ registry-type: all
+ metadata-report:
+ protocol: zookeeper
+ address: 127.0.0.1:2181
+ protocols:
+ triple:
+ name: tri
+ port: 20000
+ provider:
+ services:
+ GreeterProvider:
+ interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible
with grpc or dubbo-java
\ No newline at end of file
diff --git a/seata-go/tcc/client/cmd/client.go
b/seata-go/tcc/client/cmd/client.go
index 2553ac9f..1705a39b 100644
--- a/seata-go/tcc/client/cmd/client.go
+++ b/seata-go/tcc/client/cmd/client.go
@@ -24,7 +24,9 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
+
_ "github.com/seata/seata-go/pkg/imports"
"github.com/seata/seata-go/pkg/integration"
"github.com/seata/seata-go/pkg/rm/tcc"
diff --git a/seata-go/tcc/server/cmd/server.go
b/seata-go/tcc/server/cmd/server.go
index d4896475..054b3b33 100644
--- a/seata-go/tcc/server/cmd/server.go
+++ b/seata-go/tcc/server/cmd/server.go
@@ -28,7 +28,9 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
+
_ "github.com/seata/seata-go/pkg/imports"
"github.com/seata/seata-go/pkg/integration"
"github.com/seata/seata-go/pkg/rm/tcc"
diff --git a/seata-go/tcc/server/service/user_provider.go
b/seata-go/tcc/server/service/user_provider.go
index d978837f..a5fef0cd 100644
--- a/seata-go/tcc/server/service/user_provider.go
+++ b/seata-go/tcc/server/service/user_provider.go
@@ -23,6 +23,7 @@ import (
import (
"github.com/dubbogo/gost/log/logger"
+
"github.com/seata/seata-go/pkg/tm"
)
diff --git a/tls/dubbo/go-client/cmd/client.go
b/tls/dubbo/go-client/cmd/client.go
index bb67d21e..917f777c 100644
--- a/tls/dubbo/go-client/cmd/client.go
+++ b/tls/dubbo/go-client/cmd/client.go
@@ -24,9 +24,10 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
- "github.com/dubbogo/gost/log/logger"
hessian "github.com/apache/dubbo-go-hessian2"
+
+ "github.com/dubbogo/gost/log/logger"
)
import (
diff --git a/tls/dubbo/go-server/cmd/server.go
b/tls/dubbo/go-server/cmd/server.go
index 9613a486..2b109837 100644
--- a/tls/dubbo/go-server/cmd/server.go
+++ b/tls/dubbo/go-server/cmd/server.go
@@ -28,9 +28,10 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
- "github.com/dubbogo/gost/log/logger"
hessian "github.com/apache/dubbo-go-hessian2"
+
+ "github.com/dubbogo/gost/log/logger"
)
import (
diff --git a/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
b/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
index 9d22ac97..f98b62bb 100644
--- a/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
+++ b/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
@@ -22,9 +22,9 @@ import (
)
import (
- "github.com/dubbogo/gost/log/logger"
-
hessian "github.com/apache/dubbo-go-hessian2"
+
+ "github.com/dubbogo/gost/log/logger"
)
type WrapperArrayClassProvider struct {
diff --git a/tls/triple/go-client/cmd/client.go
b/tls/triple/go-client/cmd/client.go
index 09350474..c4fe29b7 100644
--- a/tls/triple/go-client/cmd/client.go
+++ b/tls/triple/go-client/cmd/client.go
@@ -24,6 +24,7 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
)
diff --git a/tls/triple/go-server/cmd/server.go
b/tls/triple/go-server/cmd/server.go
index 1096362f..155b3baa 100644
--- a/tls/triple/go-server/cmd/server.go
+++ b/tls/triple/go-server/cmd/server.go
@@ -24,6 +24,7 @@ import (
import (
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
+
"github.com/dubbogo/gost/log/logger"
)