Skip to content

Commit

Permalink
Config merge samples (#318)
Browse files Browse the repository at this point in the history
* add config merge samples

* move dir

* rm Readme

* fix
  • Loading branch information
A-Wanderer committed Mar 21, 2022
1 parent 537ff3d commit f0d1e10
Show file tree
Hide file tree
Showing 5 changed files with 183 additions and 0 deletions.
56 changes: 56 additions & 0 deletions config-api/config-merge/go-client/cmd/client.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,56 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package main

import (
"context"
"fmt"
)

import (
"dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
)

import (
"github.com/apache/dubbo-go-samples/api"
)

var grpcGreeterImpl = new(api.GreeterClientImpl)

// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-client/conf/dubbogo.yml
func main() {
config.SetConsumerService(grpcGreeterImpl)
if err := config.Load(); err != nil {
panic(err)
}
registries := config.GetRootConfig().Registries
fmt.Printf("\n!start test config-merge:\n")
fmt.Printf("registries[\"demoZK\"]: %v\n", registries["demoZK"])
fmt.Printf("config.GetDefineValue(\"test-config\", false): %v\n\n", config.GetDefineValue("test-config", false))
logger.Info("start to test dubbo")
req := &api.HelloRequest{
Name: "laurence",
}
reply, err := grpcGreeterImpl.SayHello(context.Background(), req)
if err != nil {
logger.Error(err)
}
logger.Infof("client response result: %v\n", reply)
}
14 changes: 14 additions & 0 deletions config-api/config-merge/go-client/conf/dubbogo-local.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
dubbo:
custom:
config-map:
test-config: true
registries:
demoZK:
protocol: zookeeper
timeout: 10s
address: 127.0.0.1:2181
consumer:
references:
GreeterClientImpl:
protocol: tri
interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible with grpc or dubbo-java
13 changes: 13 additions & 0 deletions config-api/config-merge/go-client/conf/dubbogo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
dubbo:
profiles:
active: local
registries:
demoZK:
protocol: zookeeper
timeout: 3s
address: 127.0.0.1:2181
consumer:
references:
GreeterClientImpl:
protocol: tri
interface: com.apache.dubbo.sample.basic.IGreeter # must be compatible with grpc or dubbo-java
87 changes: 87 additions & 0 deletions config-api/config-merge/go-server/cmd/server.go
Original file line number Diff line number Diff line change
@@ -0,0 +1,87 @@
/*
* Licensed to the Apache Software Foundation (ASF) under one or more
* contributor license agreements. See the NOTICE file distributed with
* this work for additional information regarding copyright ownership.
* The ASF licenses this file to You under the Apache License, Version 2.0
* (the "License"); you may not use this file except in compliance with
* the License. You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/

package main

import (
"context"
)

import (
"dubbo.apache.org/dubbo-go/v3/common/logger"
"dubbo.apache.org/dubbo-go/v3/config"
_ "dubbo.apache.org/dubbo-go/v3/imports"
)

import (
"github.com/apache/dubbo-go-samples/api"
)

type GreeterProvider struct {
api.UnimplementedGreeterServer
}

func (s *GreeterProvider) SayHello(ctx context.Context, in *api.HelloRequest) (*api.User, error) {
logger.Infof("Dubbo3 GreeterProvider get user name = %s\n", in.Name)
return &api.User{Name: "Hello " + in.Name, Id: "12345", Age: 21}, nil
}

func (s *GreeterProvider) SayHelloStream(svr api.Greeter_SayHelloStreamServer) error {
c, err := svr.Recv()
if err != nil {
return err
}
logger.Infof("Dubbo-go3 GreeterProvider recv 1 user, name = %s\n", c.Name)
c2, err := svr.Recv()
if err != nil {
return err
}
logger.Infof("Dubbo-go3 GreeterProvider recv 2 user, name = %s\n", c2.Name)

err = svr.Send(&api.User{
Name: "hello " + c.Name,
Age: 18,
Id: "123456789",
})
if err != nil {
return err
}
c3, err := svr.Recv()
if err != nil {
return err
}
logger.Infof("Dubbo-go3 GreeterProvider recv 3 user, name = %s\n", c3.Name)

err = svr.Send(&api.User{
Name: "hello " + c2.Name,
Age: 19,
Id: "123456789",
})
if err != nil {
return err
}
return nil
}

// export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/helloworld/go-server/conf/dubbogo.yml
func main() {
config.SetProviderService(&GreeterProvider{})
if err := config.Load(); err != nil {
panic(err)
}
select {}
}
13 changes: 13 additions & 0 deletions config-api/config-merge/go-server/conf/dubbogo.yml
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
dubbo:
registries:
demoZK:
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

0 comments on commit f0d1e10

Please sign in to comment.