Examples of dubbo-go
helloworld
A simplest example. It contain ‘go-client’, ‘go-server’, ‘java-server’ of dubbo protocol.
direct
A direct example. This feature make start of dubbo-go get easy.
async
An async example. dubbo-go supports client to call server asynchronously.
general
A general example. It had validated zookeeper registry and different parameter lists of service. And it has a comprehensive testing with dubbo/jsonrpc/grpc/rest protocol. You can refer to it to create your first complete dubbo-go project.
generic
A generic example. It show how to use generic feature of dubbo-go.
configcenter
Some examples of different config center. There are three -- zookeeper, apollo and nacos at present.
multi_registry
An example of multiple registries.
registry
Some examples of different registry. There are kubernetes, nacos and etcd at present.
Note:
When use different registry, you need update config file, but also must import the registry package. see the etcd README
filter
Some examples of different filter. Including custom_filter and tpslimit
router
Some router examples. Now, a condition router example is existing.
seata
Transaction system examples by seata.
shop
Shop sample, make consumer and provider run in a go program.
tracing
Some tracing examples. We have tracing support of dubbo/grpc/jsonrpc protocol at present.
Take
helloworld
as an example java server
cd helloworld/dubbo/java-server sh build.sh cd ./target tar -zxvf user-info-server-0.2.0-assembly.tar.gz cd ./user-info-server-0.2.0 sh ./bin/server.sh start
java client
cd helloworld/dubbo/java-client sh build.sh cd ./target tar -zxvf user-info-client-0.2.0-assembly.tar.gz cd ./user-info-client-0.2.0 sh ./bin/server.sh start
go server
cd helloworld/dubbo/go-server sh ./assembly/$ARCH/$ENV.sh cd ./target/linux/user_info_server-0.3.1-20190517-0930-release # $SUFFIX is a suffix of config file, # such as server_zookeeper.yml when $SUFFIX is "zookeeper", # if $SUFFIX = "", default server.yml sh ./bin/load.sh start $SUFFIX
go client
cd helloworld/dubbo/go-client sh ./assembly/$ARCH/$ENV.sh cd ./target/linux/user_info_client-0.3.1-20190517-0921-release # $SUFFIX is a suffix of config file, # such as client_zookeeper.yml when $SUFFIX = zookeeper", # if $SUFFIX = "", config file is client.yml sh ./bin/load_user_info_client.sh start $SUFFIX
Environment Variable
APP_LOG_CONF_FILE
. eg: /home/xx/dubbogo-samples/helloworld/client/conf/log.yml
CONF_CONSUMER_FILE_PATH
eg: /home/xx/dubbogo-samples/helloworld/client/conf/client.yml
CONF_PROVIDER_FILE_PATH
eg: /home/xx/dubbogo-samples/helloworld/server/conf/server.yml
If you want to add some samples, we hope that you can do this: