You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@dubbo.apache.org by zh...@apache.org on 2024/01/12 06:09:20 UTC

(dubbo-go-samples) branch main updated: Relocate old samples (#666)

This is an automated email from the ASF dual-hosted git repository.

zhaoyunxing pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/dubbo-go-samples.git


The following commit(s) were added to refs/heads/main by this push:
     new 9d3f4c6b Relocate old samples (#666)
9d3f4c6b is described below

commit 9d3f4c6bf7bcf61f31fe5f86704c795743ccaf1b
Author: Ken Liu <ke...@gmail.com>
AuthorDate: Fri Jan 12 14:09:16 2024 +0800

    Relocate old samples (#666)
    
    * relocate old samples
    
    * relocate old samples
    
    * update license configuration
---
 .licenserc.yaml                                    |   4 +-
 {api => compatibility/api}/generate.sh             |   0
 {api => compatibility/api}/samples_api.pb.go       |   0
 {api => compatibility/api}/samples_api.proto       |   0
 .../api}/samples_api_triple.pb.go                  |   0
 {apisix => compatibility/apisix}/README.md         |   0
 .../apisix}/apisix-compose/apisix_conf/config.yaml |   0
 .../apisix}/apisix-compose/docker-compose.yml      |   0
 .../dashboard_conf/conf.yaml                       |   0
 .../apisix-dashboard-compose/docker-compose.yml    |   0
 .../apisix}/etcd-compose/docker-compose.yml        |   0
 .../apisix}/helloworld/.gitignore                  |   0
 .../apisix}/helloworld/Dockerfile                  |   0
 .../apisix}/helloworld/README.md                   |   0
 .../apisix}/helloworld/docker-compose.yml          |   0
 .../apisix}/helloworld/main.go                     |   2 +-
 .../protobuf/helloworld/helloworld.pb.go           |   0
 .../protobuf/helloworld/helloworld.proto           |   0
 .../protobuf/helloworld/helloworld_triple.pb.go    |   0
 .../apisix}/mysql5.7-compose/README.md             |   0
 .../apisix}/mysql5.7-compose/docker-compose.yml    |   0
 .../apisix}/mysql5.7-compose/mysql/Dockerfile      |   0
 .../apisix}/mysql5.7-compose/mysql/my.cnf          |   0
 .../apisix}/nacos2.0.3-compose/docker-compose.yml  |   0
 .../nacos_conf/custom.properties                   |   0
 {async => compatibility/async}/README.md           |   0
 {async => compatibility/async}/README_zh.md        |   0
 .../async}/go-client/cmd/client.go                 |   2 +-
 .../async}/go-client/conf/dubbogo.yml              |   0
 .../async}/go-client/pkg/user.go                   |   0
 .../async}/go-server/cmd/server.go                 |   2 +-
 .../async}/go-server/conf/dubbogo.yml              |   0
 .../async}/go-server/pkg/user.go                   |   0
 .../async}/go-server/pkg/user_provider.go          |   0
 .../async}/go-server/pkg/user_provider_v2.go       |   0
 {config-api => compatibility/config-api}/README.md |   2 +-
 .../config-merge/go-client/cmd/client.go           |   2 +-
 .../config-merge/go-client/conf/dubbogo-local.yml  |   0
 .../config-merge/go-client/conf/dubbogo.yml        |   0
 .../config-merge/go-server/cmd/server.go           |   2 +-
 .../config-merge/go-server/conf/dubbogo.yml        |   0
 .../configcenter/nacos/go-client/cmd/client.go     |   2 +-
 .../configcenter/nacos/go-server/cmd/server.go     |   2 +-
 .../configcenter/zookeeper/go-client/cmd/client.go |   2 +-
 .../configcenter/zookeeper/go-server/cmd/server.go |   2 +-
 .../config-api}/rpc/README.md                      |   0
 .../config-api}/rpc/triple/go-client/cmd/client.go |   2 +-
 .../config-api}/rpc/triple/go-server/cmd/server.go |   2 +-
 .../config-api}/subModule/configcenter/main.go     |   0
 .../config-api}/subModule/registry/README.md       |   0
 .../config-api}/subModule/registry/main.go         |   0
 .../config-api}/subModule/service/main.go          |   0
 .../configcenter}/nacos/go-client/cmd/client.go    |   2 +-
 .../configcenter}/nacos/go-client/conf/dubbogo.yml |   0
 .../configcenter}/nacos/go-server/cmd/server.go    |   2 +-
 .../configcenter}/nacos/go-server/conf/dubbogo.yml |   0
 .../zookeeper/go-client/cmd/client.go              |   2 +-
 .../zookeeper/go-client/conf/dubbogo.yml           |   0
 .../zookeeper/go-server/cmd/server.go              |   2 +-
 .../zookeeper/go-server/conf/dubbogo.yml           |   0
 {context => compatibility/context}/README.md       |   2 +-
 {context => compatibility/context}/README_zh.md    |   2 +-
 .../context}/dubbo/go-client/cmd/client.go         |   0
 .../context}/dubbo/go-client/conf/dubbogo.yml      |   0
 .../context}/dubbo/go-server/cmd/server.go         |   0
 .../context}/dubbo/go-server/conf/dubbogo.yml      |   0
 .../context}/triple/go-client/cmd/client.go        |   2 +-
 .../context}/triple/go-client/conf/dubbogo.yml     |   0
 .../context}/triple/go-server/cmd/server.go        |   2 +-
 .../context}/triple/go-server/conf/dubbogo.yml     |   0
 {direct => compatibility/direct}/README.md         |   4 +-
 {direct => compatibility/direct}/README_zh.md      |   4 +-
 .../direct}/go-client/cmd/client.go                |   2 +-
 .../direct}/go-client/conf/dubbogo.yml             |   0
 .../direct}/go-server/cmd/server.go                |   2 +-
 .../direct}/go-server/conf/dubbogo.yml             |   0
 .../error}/triple/hessian2/go-client/cmd/client.go |   0
 .../hessian2/go-client/cmd/error_response.go       |   0
 .../triple/hessian2/go-client/conf/dubbogo.yml     |   0
 .../hessian2/go-server/cmd/error_response.go       |   0
 .../error}/triple/hessian2/go-server/cmd/server.go |   0
 .../triple/hessian2/go-server/conf/dubbogo.yml     |   0
 .../error}/triple/pb/go-client/cmd/client.go       |   2 +-
 .../error}/triple/pb/go-client/conf/dubbogo.yml    |   0
 .../triple/pb/go-server/cmd/error_reponse.go       |   2 +-
 .../error}/triple/pb/go-server/cmd/server.go       |   0
 .../error}/triple/pb/go-server/conf/dubbogo.yml    |   0
 {filter => compatibility/filter}/README.md         |   0
 {filter => compatibility/filter}/README_zh.md      |   2 +-
 .../filter}/custom/go-client/cmd/client.go         |   2 +-
 .../filter}/custom/go-client/cmd/myfilter.go       |   0
 .../filter}/custom/go-client/conf/dubbogo.yml      |   0
 .../filter}/custom/go-server/cmd/myfilter.go       |   0
 .../filter}/custom/go-server/cmd/server.go         |   2 +-
 .../filter}/custom/go-server/conf/dubbogo.yml      |   0
 .../filter}/token/go-client/cmd/client.go          |   2 +-
 .../filter}/token/go-client/conf/dubbogo.yml       |   0
 .../filter}/token/go-server/cmd/server.go          |   2 +-
 .../filter}/token/go-server/conf/dubbogo.yml       |   0
 .../filter}/tpslimit/README.md                     |   2 +-
 .../filter}/tpslimit/README_zh.md                  |   2 +-
 .../filter}/tpslimit/go-client/cmd/client.go       |   2 +-
 .../filter}/tpslimit/go-client/conf/dubbogo.yml    |   0
 .../filter}/tpslimit/go-client/pkg/user.go         |   0
 .../filter}/tpslimit/go-server/cmd/server.go       |   2 +-
 .../filter}/tpslimit/go-server/conf/dubbogo.yml    |   0
 .../tpslimit/go-server/pkg/limit_strategy.go       |   0
 .../tpslimit/go-server/pkg/reject_handler.go       |   0
 .../filter}/tpslimit/go-server/pkg/user.go         |   0
 .../game}/go-server-game/cmd/server.go             |   4 +-
 .../game}/go-server-game/conf/dubbogo.yml          |   0
 .../game}/go-server-game/pkg/consumer.go           |   2 +-
 .../game}/go-server-game/pkg/provider.go           |   2 +-
 .../game}/go-server-gate/cmd/server.go             |   4 +-
 .../game}/go-server-gate/conf/dubbogo.yml          |   0
 .../game}/go-server-gate/pkg/consumer.go           |   4 +-
 .../game}/go-server-gate/pkg/provider.go           |   2 +-
 .../game}/pkg/consumer/game/basketball.go          |   2 +-
 .../game}/pkg/consumer/gate/basketball.go          |   2 +-
 {game => compatibility/game}/pkg/pojo/info.go      |   0
 {game => compatibility/game}/pkg/pojo/result.go    |   0
 {game => compatibility/game}/website/css/style.css |   2 +-
 {game => compatibility/game}/website/img/bac.png   | Bin
 {game => compatibility/game}/website/index.html    |   0
 {game => compatibility/game}/website/js/api.js     |   0
 {game => compatibility/game}/website/js/index.js   |   0
 {generic => compatibility/generic}/README.md       |   0
 {generic => compatibility/generic}/README_zh.md    |   0
 .../generic}/default/go-client/cmd/client.go       |   2 +-
 .../generic}/default/go-client/pkg/user.go         |   0
 .../generic}/default/go-server/cmd/server.go       |   2 +-
 .../generic}/default/go-server/conf/dubbogo.yml    |   0
 .../generic}/default/go-server/pkg/init.go         |   0
 .../generic}/default/go-server/pkg/user.go         |   0
 .../default/go-server/pkg/user_provider.go         |   0
 .../default/go-server/pkg/user_provider_triple.go  |   0
 .../default/go-server/pkg/user_response.go         |   0
 .../generic}/default/java-client/pom.xml           |   0
 .../generic}/default/java-client/run.sh            |   0
 .../java/org/apache/dubbo/samples/ApiConsumer.java |   0
 .../main/java/org/apache/dubbo/samples/User.java   |   0
 .../src/main/resources/log4j.properties            |   0
 .../generic}/default/java-server/pom.xml           |   0
 .../generic}/default/java-server/run.sh            |   0
 .../java/org/apache/dubbo/samples/ApiProvider.java |   0
 .../main/java/org/apache/dubbo/samples/Gender.java |   0
 .../java/org/apache/dubbo/samples/Response.java    |   0
 .../main/java/org/apache/dubbo/samples/User.java   |   0
 .../org/apache/dubbo/samples/UserProvider.java     |   0
 .../org/apache/dubbo/samples/UserProviderImpl.java |   0
 .../apache/dubbo/samples/UserProviderTriple.java   |   0
 .../dubbo/samples/UserProviderTripleImpl.java      |   0
 .../src/main/resources/log4j.properties            |   0
 {logger => compatibility/logger}/README.md         |   0
 {logger => compatibility/logger}/README_zh.md      |   0
 .../logger}/custom/cmd/main.go                     |   2 +-
 .../logger}/custom/conf/dubbogo.yml                |   0
 .../logger}/default/cmd/main.go                    |   2 +-
 .../logger}/default/conf/dubbogo.yml               |   0
 {logger => compatibility/logger}/level/cmd/main.go |   2 +-
 .../logger}/level/conf/dubbogo.yml                 |   0
 .../logger}/rolling/cmd/main.go                    |   2 +-
 .../logger}/rolling/conf/dubbogo.yml               |   0
 {mesh => compatibility/mesh}/README.md             |   0
 {mesh => compatibility/mesh}/deploy/Namespace.yml  |   0
 .../mesh}/deploy/consumer/Deployment.yml           |   0
 .../mesh}/deploy/consumer/Service.yml              |   0
 .../mesh}/deploy/provider/Deployment-v2.yml        |   0
 .../mesh}/deploy/provider/Deployment.yml           |   0
 .../mesh}/deploy/provider/Service.yml              |   0
 .../mesh}/deploy/traffic/virtual-service.yml       |   0
 {mesh => compatibility/mesh}/go-client/Dockerfile  |   0
 .../mesh}/go-client/cmd/client.go                  |   2 +-
 .../mesh}/go-client/conf/dubbogo.yml               |   0
 {mesh => compatibility/mesh}/go-client/go.mod      |   0
 {mesh => compatibility/mesh}/go-client/go.sum      |   0
 {mesh => compatibility/mesh}/go-server/Dockerfile  |   0
 .../mesh}/go-server/cmd/server.go                  |   2 +-
 .../mesh}/go-server/conf/dubbogo.yml               |   0
 {mesh => compatibility/mesh}/go-server/go.mod      |   0
 {mesh => compatibility/mesh}/go-server/go.sum      |   0
 .../metrics}/go-client/cmd/client.go               |   2 +-
 .../metrics}/go-client/conf/dubbogo.yml            |   0
 .../metrics}/go-server/cmd/server.go               |   2 +-
 .../metrics}/go-server/conf/dubbogo.yml            |   0
 .../otel}/trace/config/config.go                   |   0
 .../otel}/trace/go-client/cmd/main.go              |   4 +-
 .../otel}/trace/go-client/conf/dubbogo.yaml        |   0
 .../otel}/trace/go-server/cmd/main.go              |   4 +-
 .../otel}/trace/go-server/conf/dubbogo.yaml        |   0
 .../polaris}/limit/README-zh.md                    |   4 +-
 {polaris => compatibility/polaris}/limit/README.md |   4 +-
 .../polaris}/limit/go-client/cmd/main.go           |   0
 .../polaris}/limit/go-client/conf/dubbogo.yml      |   0
 .../polaris}/limit/go-server/cmd/server.go         |   0
 .../polaris}/limit/go-server/conf/dubbogo.yml      |   0
 .../limit/images/dubbogo-ratelimit-rule.png        | Bin
 .../polaris}/registry/README-zh.md                 |   2 +-
 .../polaris}/registry/README.md                    |   2 +-
 .../polaris}/registry/go-client/cmd/main.go        |   0
 .../polaris}/registry/go-client/conf/dubbogo.yml   |   0
 .../polaris}/registry/go-server/cmd/server.go      |   0
 .../polaris}/registry/go-server/conf/dubbogo.yml   |   0
 .../polaris}/router/README-zh.md                   |   8 +-
 .../polaris}/router/README.md                      |   8 +-
 .../polaris}/router/go-client/cmd/main.go          |   0
 .../polaris}/router/go-client/conf/dubbogo.yaml    |   0
 .../router/go-server/server-dev/cmd/server.go      |   0
 .../router/go-server/server-dev/conf/dubbogo.yaml  |   0
 .../router/go-server/server-pre/cmd/server.go      |   0
 .../router/go-server/server-pre/conf/dubbogo.yaml  |   0
 .../router/go-server/server-prod/cmd/server.go     |   0
 .../router/go-server/server-prod/conf/dubbogo.yaml |   0
 .../router/images/dubbogo-route-rule-dev.png       | Bin
 .../router/images/dubbogo-route-rule-pre.png       | Bin
 .../router/images/dubbogo-route-rule-prod.png      | Bin
 {proxyless => compatibility/proxyless}/README.md   |   0
 .../proxyless}/deploy/Namespace.yml                |   0
 .../proxyless}/deploy/consumer/Deployment.yml      |   0
 .../proxyless}/deploy/consumer/Service.yml         |   0
 .../proxyless}/deploy/provider/Deployment-v2.yml   |   0
 .../proxyless}/deploy/provider/Deployment.yml      |   0
 .../proxyless}/deploy/provider/Service.yml         |   0
 .../proxyless}/deploy/traffic/virtual-service.yml  |   0
 .../proxyless}/go-client/Dockerfile                |   0
 .../proxyless}/go-client/cmd/client.go             |   2 +-
 .../proxyless}/go-client/conf/dubbogo.yml          |   0
 .../proxyless}/go-client/go.mod                    |   0
 .../proxyless}/go-client/go.sum                    |   0
 .../proxyless}/go-server/Dockerfile                |   0
 .../proxyless}/go-server/cmd/server.go             |   2 +-
 .../proxyless}/go-server/conf/dubbogo.yml          |   0
 .../proxyless}/go-server/go.mod                    |   0
 .../proxyless}/go-server/go.sum                    |   0
 .../registry/all/nacos/go-client/cmd/client.go     |   2 +-
 .../registry/all/nacos/go-server/cmd/server.go     |   2 +-
 .../registry/all/zookeeper/go-client/cmd/client.go |   2 +-
 .../registry/all/zookeeper/go-server/cmd/server.go |   2 +-
 .../servicediscovery/nacos/go-client/cmd/client.go |   2 +-
 .../servicediscovery/nacos/go-server/cmd/server.go |   2 +-
 .../zookeeper/go-client/cmd/client.go              |   2 +-
 .../zookeeper/go-server/cmd/server.go              |   2 +-
 .../registry/zookeeper/go-client/cmd/client.go     |   2 +-
 .../registry/zookeeper/go-server/cmd/server.go     |   2 +-
 {rpc => compatibility/rpc}/dubbo/README.md         |   0
 {rpc => compatibility/rpc}/dubbo/README_zh.md      |   0
 .../rpc}/dubbo/go-client/cmd/client.go             |   2 +-
 .../rpc}/dubbo/go-client/conf/dubbogo.yml          |   0
 .../rpc}/dubbo/go-client/pkg/user.go               |   0
 .../rpc}/dubbo/go-server/cmd/server.go             |   2 +-
 .../rpc}/dubbo/go-server/conf/dubbogo.yml          |   0
 .../dubbo/go-server/pkg/common_user_provider.go    |   0
 .../rpc}/dubbo/go-server/pkg/complex_provider.go   |   0
 .../rpc}/dubbo/go-server/pkg/user.go               |   0
 .../rpc}/dubbo/go-server/pkg/user_provider.go      |   0
 .../go-server/pkg/wrapper_array_class_provider.go  |   0
 .../rpc}/dubbo/java-client/pom.xml                 |   0
 .../rpc}/dubbo/java-client/run.sh                  |   0
 .../java/org/apache/dubbo/sample/ComplexData.java  |   0
 .../org/apache/dubbo/sample/ComplexProvider.java   |   0
 .../java/org/apache/dubbo/sample/Consumer.java     |   0
 .../main/java/org/apache/dubbo/sample/Gender.java  |   0
 .../main/java/org/apache/dubbo/sample/User.java    |   0
 .../java/org/apache/dubbo/sample/UserProvider.java |   0
 .../dubbo/sample/WrapperArrayClassProvider.java    |   0
 .../resources/META-INF/spring/dubbo.consumer.xml   |   0
 .../src/main/resources/log4j.properties            |   0
 .../org/apache/dubbo/sample/hello/Helloworld.java  |   0
 .../rpc}/dubbo/java-server/pom.xml                 |   0
 .../rpc}/dubbo/java-server/run.sh                  |   0
 .../java/org/apache/dubbo/sample/ComplexData.java  |   0
 .../org/apache/dubbo/sample/ComplexProvider.java   |   0
 .../apache/dubbo/sample/ComplexProviderImpl.java   |   0
 .../main/java/org/apache/dubbo/sample/Gender.java  |   0
 .../java/org/apache/dubbo/sample/Provider.java     |   0
 .../java/org/apache/dubbo/sample/Response.java     |   0
 .../main/java/org/apache/dubbo/sample/User.java    |   0
 .../java/org/apache/dubbo/sample/UserProvider.java |   0
 .../dubbo/sample/UserProviderAnotherImpl.java      |   0
 .../org/apache/dubbo/sample/UserProviderImpl.java  |   0
 .../dubbo/sample/WrapperArrayClassProvider.java    |   0
 .../sample/WrapperArrayClassProviderImpl.java      |   0
 .../java-server/src/main/proto/helloworld.proto    |   0
 .../resources/META-INF/spring/dubbo.provider.xml   |   0
 .../src/main/resources/log4j.properties            |   0
 {rpc => compatibility/rpc}/grpc/README.md          |  70 ++++----
 {rpc => compatibility/rpc}/grpc/README_zh.md       |  72 ++++-----
 .../rpc}/grpc/go-client/cmd/client.go              |   2 +-
 .../rpc}/grpc/go-client/conf/dubbogo.yml           |   0
 .../rpc}/grpc/go-server/cmd/server.go              |   2 +-
 .../rpc}/grpc/go-server/conf/dubbogo.yml           |   0
 .../rpc}/grpc/protobuf/helloworld.pb.go            |   0
 .../rpc}/grpc/protobuf/helloworld.proto            |   0
 .../rpc}/grpc/protobuf/protobuf.mk                 |   0
 {rpc => compatibility/rpc}/jsonrpc/README.md       |   0
 {rpc => compatibility/rpc}/jsonrpc/README_zh.md    |   0
 .../rpc}/jsonrpc/go-client/cmd/client.go           |   2 +-
 .../rpc}/jsonrpc/go-client/conf/dubbogo.yml        |   0
 .../rpc}/jsonrpc/go-client/pkg/user.go             |   0
 .../rpc}/jsonrpc/go-server/cmd/server.go           |   2 +-
 .../rpc}/jsonrpc/go-server/conf/dubbogo.yml        |   0
 .../jsonrpc/go-server/docker/docker-compose.yml    |   0
 .../rpc}/jsonrpc/go-server/pkg/user.go             |   0
 .../rpc}/jsonrpc/go-server/pkg/user_provider.go    |   0
 .../rpc}/jsonrpc/go-server/pkg/user_provider1.go   |   0
 .../rpc}/jsonrpc/go-server/pkg/user_provider2.go   |   0
 {rpc => compatibility/rpc}/triple/README.md        | 178 ++++++++++-----------
 {rpc => compatibility/rpc}/triple/README_zh.md     | 176 ++++++++++----------
 .../rpc}/triple/codec-extension/codec/codec.go     |   0
 .../triple/codec-extension/go-client/cmd/client.go |   2 +-
 .../codec-extension/go-client/conf/dubbogo.yml     |   0
 .../triple/codec-extension/go-server/cmd/server.go |   2 +-
 .../codec-extension/go-server/conf/dubbogo.yml     |   0
 .../rpc}/triple/hessian2/README.md                 |  46 +++---
 .../rpc}/triple/hessian2/README_zh.md              |  46 +++---
 .../rpc}/triple/hessian2/go-client/cmd/client.go   |   0
 .../hessian2/go-client/cmd/complex_service.go      |   0
 .../hessian2/go-client/cmd/simple_service.go       |   0
 .../triple/hessian2/go-client/conf/dubbogo.yml     |   0
 .../hessian2/go-server/cmd/complex_service.go      |   0
 .../rpc}/triple/hessian2/go-server/cmd/server.go   |   0
 .../hessian2/go-server/cmd/simple_service.go       |   0
 .../triple/hessian2/go-server/conf/dubbogo.yml     |   0
 .../org/apache/dubbo/sample/hello/Helloworld.java  |   0
 .../rpc}/triple/hessian2/java-client/pom.xml       |   0
 .../rpc}/triple/hessian2/java-client/run.sh        |   0
 .../com/apache/dubbo/sample/basic/ApiConsumer.java |   0
 .../com/apache/dubbo/sample/basic/ComplexData.java |   0
 .../apache/dubbo/sample/basic/ComplexProvider.java |   0
 .../com/apache/dubbo/sample/basic/IGreeter.java    |   0
 .../java/com/apache/dubbo/sample/basic/User.java   |  52 +++---
 .../java-client/src/main/proto/helloworld.proto    |   0
 .../src/main/resources/log4j.properties            |   0
 .../org/apache/dubbo/sample/hello/Helloworld.java  |   0
 .../rpc}/triple/hessian2/java-server/pom.xml       |   0
 .../rpc}/triple/hessian2/java-server/run.sh        |   0
 .../com/apache/dubbo/sample/basic/ApiProvider.java |   0
 .../com/apache/dubbo/sample/basic/ComplexData.java |   0
 .../apache/dubbo/sample/basic/ComplexProvider.java |   0
 .../dubbo/sample/basic/ComplexProviderImpl.java    |   0
 .../com/apache/dubbo/sample/basic/IGreeter.java    |   0
 .../apache/dubbo/sample/basic/IGreeterImpl.java    |   0
 .../java/com/apache/dubbo/sample/basic/User.java   |  18 +--
 .../java-server/src/main/proto/helloworld.proto    |   0
 .../src/main/resources/log4j.properties            |   0
 .../rpc}/triple/msgpack/go-client/cmd/client.go    |   2 +-
 .../rpc}/triple/msgpack/go-client/conf/dubbogo.yml |   0
 .../rpc}/triple/msgpack/go-server/cmd/server.go    |   2 +-
 .../rpc}/triple/msgpack/go-server/conf/dubbogo.yml |   0
 .../rpc}/triple/pb/dubbogo-grpc/README.md          | 108 ++++++-------
 .../rpc}/triple/pb/dubbogo-grpc/README_zh.md       | 110 ++++++-------
 .../triple/pb/dubbogo-grpc/go-client/cmd/client.go |   2 +-
 .../pb/dubbogo-grpc/go-client/conf/dubbogo.yml     |   0
 .../triple/pb/dubbogo-grpc/go-server/cmd/server.go |   2 +-
 .../pb/dubbogo-grpc/go-server/conf/dubbogo.yml     |   0
 .../pb/dubbogo-grpc/go-server/pkg/greeter.go       |   2 +-
 .../triple/pb/dubbogo-grpc/grpc-client/main.go     |   2 +-
 .../triple/pb/dubbogo-grpc/grpc-server/main.go     |   2 +-
 .../pb/dubbogo-grpc/protobuf/api/helloworld.pb.go  |   0
 .../pb/dubbogo-grpc/protobuf/api/helloworld.proto  |  84 +++++-----
 .../protobuf/api/helloworld_grpc.pb.go             |   0
 .../rpc}/triple/pb/dubbogo-java/README.md          |  26 +--
 .../rpc}/triple/pb/dubbogo-java/README_zh.md       |  22 +--
 .../triple/pb/dubbogo-java/go-client/cmd/client.go |   2 +-
 .../pb/dubbogo-java/go-client/conf/dubbogo.yml     |   0
 .../triple/pb/dubbogo-java/go-server/cmd/server.go |   2 +-
 .../pb/dubbogo-java/go-server/conf/dubbogo.yml     |   0
 .../pb/dubbogo-java/go-server/pkg/greeter.go       |   2 +-
 .../java/org/apache/dubbo/demo/HelloWorld.java     |   0
 .../triple/pb/dubbogo-java/java-client/pom.xml     |   0
 .../rpc}/triple/pb/dubbogo-java/java-client/run.sh |   0
 .../java/org/apache/dubbo/demo/ApiConsumer.java    |   0
 .../main/java/org/apache/dubbo/demo/IGreeter.java  |   0
 .../java-client/src/main/proto/HelloWorld.proto    |   0
 .../src/main/resources/log4j.properties            |   0
 .../java/org/apache/dubbo/demo/HelloWorld.java     |   0
 .../triple/pb/dubbogo-java/java-server/pom.xml     |   0
 .../rpc}/triple/pb/dubbogo-java/java-server/run.sh |   0
 .../java/org/apache/dubbo/demo/ApiProvider.java    |   0
 .../main/java/org/apache/dubbo/demo/IGreeter.java  |   0
 .../java/org/apache/dubbo/demo/IGreeterImpl.java   |   0
 .../java-server/src/main/proto/HelloWorld.proto    |   0
 .../src/main/resources/log4j.properties            |   0
 {rpc => compatibility/rpc}/triple/pb2/README.md    |   0
 {rpc => compatibility/rpc}/triple/pb2/README_zh.md |   0
 .../rpc}/triple/pb2/api/helloworld.pb.go           |   2 +-
 .../rpc}/triple/pb2/api/helloworld.proto           |  62 +++----
 .../rpc}/triple/pb2/api/helloworld_triple.pb.go    |   2 +-
 .../rpc}/triple/pb2/go-client/cmd/client.go        |   4 +-
 .../rpc}/triple/pb2/go-client/conf/dubbogo.yml     |   0
 .../rpc}/triple/pb2/go-server/cmd/server.go        |   2 +-
 .../rpc}/triple/pb2/go-server/conf/dubbogo.yml     |   0
 .../rpc}/triple/pb2/go-server/pkg/greeter.go       |   4 +-
 .../rpc}/triple/pb2/hack/custom-boilerplate.go.txt |   0
 .../rpc}/triple/pb2/hack/gen-go-to-protobuf.sh     |   0
 .../rpc}/triple/pb2/hack/note.txt                  |   0
 .../rpc}/triple/pb2/models/generated.pb.go         |   0
 .../rpc}/triple/pb2/models/generated.proto         |   0
 .../rpc}/triple/pb2/models/models.go               |   0
 {seata-go => compatibility/seata-go}/README.md     |   0
 {seata-go => compatibility/seata-go}/README_zh.md  |   0
 .../seata-go}/docker-compose.yml                   |   0
 {seata-go => compatibility/seata-go}/tcc/README.md |   0
 .../seata-go}/tcc/client/cmd/client.go             |   2 +-
 .../seata-go}/tcc/client/conf/dubbogo.yml          |   0
 .../seata-go}/tcc/client/service/user_provider.go  |   0
 .../seata-go}/tcc/server/cmd/server.go             |   2 +-
 .../seata-go}/tcc/server/conf/dubbogo.yml          |   0
 .../seata-go}/tcc/server/service/user_provider.go  |   0
 {skywalking => compatibility/skywalking}/README.md |   0
 .../skywalking}/README_zh.md                       |   0
 .../skywalking}/go-client/cmd/client.go            |   2 +-
 .../skywalking}/go-client/conf/dubbogo.yml         |   0
 .../skywalking}/go-server/cmd/server.go            |   2 +-
 .../skywalking}/go-server/conf/dubbogo.yml         |   0
 .../task}/shop/.images/shop-arc.png                | Bin
 {task => compatibility/task}/shop/READEME_CN.md    |   0
 .../task}/shop/comment/api/comment_api.pb.go       |   0
 .../task}/shop/comment/api/comment_api.proto       |   0
 .../shop/comment/api/comment_api_triple.pb.go      |   0
 .../task}/shop/comment/server_v1/cmd/server.go     |   0
 .../task}/shop/comment/server_v1/conf/dubbogo.yaml |   0
 .../task}/shop/comment/server_v2/cmd/server.go     |   0
 .../task}/shop/comment/server_v2/conf/dubbogo.yaml |   0
 .../task}/shop/comment/test/client/client.go       |   0
 .../task}/shop/comment/test/conf/dubbogo.yaml      |   0
 .../task}/shop/detail/api/detail_api.pb.go         |   0
 .../task}/shop/detail/api/detail_api.proto         |   0
 .../task}/shop/detail/api/detail_api_triple.pb.go  |   0
 .../task}/shop/detail/server_v1/cmd/server.go      |   0
 .../task}/shop/detail/server_v1/conf/dubbogo.yaml  |   0
 .../task}/shop/detail/server_v2/cmd/server.go      |   0
 .../task}/shop/detail/server_v2/conf/dubbogo.yaml  |   0
 .../task}/shop/detail/test/client/client.go        |   0
 .../task}/shop/detail/test/conf/dubbogo.yaml       |   0
 .../task}/shop/frontend/api/frontend_api.go        |   0
 .../task}/shop/frontend/cmd/main.go                |   0
 .../task}/shop/frontend/conf/dubbogo.yaml          |   0
 .../task}/shop/frontend/pages/router.go            |   0
 .../task}/shop/frontend/pages/server.go            |   0
 .../shop/frontend/pages/static/architecture.png    | Bin
 .../task}/shop/frontend/pages/static/goods.png     | Bin
 .../shop/frontend/pages/static/jquery-3.6.3.min.js |   0
 .../shop/frontend/pages/templates/detail.html      |   0
 .../task}/shop/frontend/pages/templates/index.html |   0
 .../task}/shop/frontend/server_v1/server.go        |   0
 {task => compatibility/task}/shop/go.mod           |   0
 {task => compatibility/task}/shop/go.sum           |   0
 .../task}/shop/order/api/order_api.pb.go           |   0
 .../task}/shop/order/api/order_api.proto           |   0
 .../task}/shop/order/api/order_api_triple.pb.go    |   0
 .../task}/shop/order/server_v1/cmd/server.go       |   0
 .../task}/shop/order/server_v1/conf/dubbogo.yaml   |   0
 .../task}/shop/order/server_v2/cmd/server.go       |   0
 .../task}/shop/order/server_v2/conf/dubbogo.yaml   |   0
 .../task}/shop/order/test/client/client.go         |   0
 .../task}/shop/order/test/conf/dubbogo.yaml        |   0
 .../task}/shop/user/api/user_api.pb.go             |   0
 .../task}/shop/user/api/user_api.proto             |   0
 .../task}/shop/user/api/user_api_triple.pb.go      |   0
 .../task}/shop/user/server/cmd/server.go           |   0
 .../task}/shop/user/server/conf/dubbogo.yaml       |   0
 .../task}/shop/user/test/client/client.go          |   0
 .../task}/shop/user/test/conf/dubbogo.yaml         |   0
 {tls => compatibility/tls}/README.md               |   0
 {tls => compatibility/tls}/README_zh.md            |   0
 .../tls}/dubbo/go-client/cmd/client.go             |   2 +-
 .../tls}/dubbo/go-client/conf/dubbogo.yml          |   0
 .../tls}/dubbo/go-client/pkg/user.go               |   0
 .../tls}/dubbo/go-server/cmd/server.go             |   2 +-
 .../tls}/dubbo/go-server/conf/dubbogo.yml          |   0
 .../dubbo/go-server/pkg/common_user_provider.go    |   0
 .../tls}/dubbo/go-server/pkg/complex_provider.go   |   0
 .../tls}/dubbo/go-server/pkg/user.go               |   0
 .../tls}/dubbo/go-server/pkg/user_provider.go      |   0
 .../go-server/pkg/wrapper_array_class_provider.go  |   0
 .../tls}/grpc/go-client/cmd/client.go              |   2 +-
 .../tls}/grpc/go-client/conf/dubbogo.yml           |   0
 .../tls}/grpc/go-server/cmd/server.go              |   2 +-
 .../tls}/grpc/go-server/conf/dubbogo.yml           |   0
 .../tls}/grpc/protobuf/helloworld.pb.go            |   0
 .../tls}/grpc/protobuf/helloworld.proto            |   0
 .../tls}/grpc/protobuf/protobuf.mk                 |   0
 {tls => compatibility/tls}/triple/codec/codec.go   |   0
 .../tls}/triple/go-client/cmd/client.go            |   2 +-
 .../tls}/triple/go-client/conf/dubbogo.yml         |   0
 .../tls}/triple/go-server/cmd/server.go            |   2 +-
 .../tls}/triple/go-server/conf/dubbogo.yml         |   0
 {tls => compatibility/tls}/x509/README.md          |   0
 {tls => compatibility/tls}/x509/client1_cert.pem   |   0
 {tls => compatibility/tls}/x509/client1_key.pem    |   0
 {tls => compatibility/tls}/x509/client2_cert.pem   |   0
 {tls => compatibility/tls}/x509/client2_key.pem    |   0
 {tls => compatibility/tls}/x509/client_ca_cert.pem |   0
 {tls => compatibility/tls}/x509/client_ca_key.pem  |   0
 {tls => compatibility/tls}/x509/create.sh          |   0
 .../tls}/x509/multiple_uri_cert.pem                |   0
 .../tls}/x509/multiple_uri_key.pem                 |   0
 {tls => compatibility/tls}/x509/openssl.cnf        |   0
 {tls => compatibility/tls}/x509/server1_cert.pem   |   0
 {tls => compatibility/tls}/x509/server1_key.pem    |   0
 {tls => compatibility/tls}/x509/server2_cert.pem   |   0
 {tls => compatibility/tls}/x509/server2_key.pem    |   0
 {tls => compatibility/tls}/x509/server_ca_cert.pem |   0
 {tls => compatibility/tls}/x509/server_ca_key.pem  |   0
 {tls => compatibility/tls}/x509/spiffe_cert.pem    |   0
 {tls => compatibility/tls}/x509/spiffe_key.pem     |   0
 .../tracing}/dubbo/go-client/cmd/client.go         |   2 +-
 .../tracing}/dubbo/go-client/conf/dubbogo.yml      |   0
 .../dubbo/go-client/docker/docker-compose.yml      |   0
 .../tracing}/dubbo/go-client/pkg/user.go           |   0
 .../tracing}/dubbo/go-server/cmd/server.go         |   2 +-
 .../tracing}/dubbo/go-server/conf/dubbogo.yml      |   0
 .../dubbo/go-server/docker/docker-compose.yml      |   0
 .../tracing}/dubbo/go-server/pkg/user.go           |   0
 .../tracing}/grpc/go-client/cmd/client.go          |   2 +-
 .../tracing}/grpc/go-client/conf/dubbogo.yml       |   0
 .../grpc/go-client/docker/docker-compose.yml       |   0
 .../tracing}/grpc/go-server/cmd/server.go          |   2 +-
 .../tracing}/grpc/go-server/conf/dubbogo.yml       |   0
 .../grpc/go-server/docker/docker-compose.yml       |   0
 .../tracing}/grpc/protobuf/helloworld.pb.go        |   0
 .../tracing}/grpc/protobuf/helloworld.proto        |   0
 .../tracing}/grpc/protobuf/protobuf.mk             |   0
 .../tracing}/jsonrpc/go-client/cmd/client.go       |   2 +-
 .../tracing}/jsonrpc/go-client/conf/dubbogo.yml    |   0
 .../jsonrpc/go-client/docker/docker-compose.yml    |   0
 .../tracing}/jsonrpc/go-client/pkg/user.go         |   0
 .../tracing}/jsonrpc/go-server/cmd/server.go       |   2 +-
 .../tracing}/jsonrpc/go-server/conf/dubbogo.yml    |   0
 .../jsonrpc/go-server/docker/docker-compose.yml    |   0
 .../tracing}/jsonrpc/go-server/pkg/user.go         |   0
 .../tracing}/triple/go-client/cmd/client.go        |   2 +-
 .../tracing}/triple/go-client/conf/dubbogo.yml     |   0
 .../tracing}/triple/go-server/cmd/server.go        |   2 +-
 .../tracing}/triple/go-server/conf/dubbogo.yml     |   0
 go.mod                                             |   4 +-
 go.sum                                             |   4 +-
 .../async/tests/integration/async_test.go          |   2 +-
 .../async/tests/integration/main_test.go           |   2 +-
 .../config-merge}/tests/integration/main_test.go   |   2 +-
 .../config-merge/tests/integration/merge_test.go   |   2 +-
 .../integration/config-api-center-nacos_test.go    |   2 +-
 .../nacos/tests/integration/main_test.go           |   2 +-
 .../tests/integration/config-api-center-zk_test.go |   2 +-
 .../zookeeper/tests/integration/main_test.go       |   2 +-
 .../tests/integration/configapi_rpc_triple_test.go |   2 +-
 .../rpc/triple/tests/integration/main_test.go      |   2 +-
 .../tests/integration/greeterProvider_test.go      |   2 +-
 .../apollo}/tests/integration/main_test.go         |   2 +-
 .../nacos/tests/integration/main_test.go           |   0
 .../nacos/tests/integration/userprovider_test.go   |   0
 .../context/dubbo/tests/integration/main_test.go   |   0
 .../dubbo/tests/integration/userprovider_test.go   |   0
 .../context/triple}/tests/integration/main_test.go |   2 +-
 .../triple/tests/integration/userprovider_test.go  |   2 +-
 .../direct}/tests/integration/main_test.go         |   2 +-
 .../direct/tests/integration/userprovider_test.go  |   2 +-
 .../triple/hessian2/tests/integration/main_test.go |   0
 .../tests/integration/userprovider_test.go         |   0
 .../triple/pb}/tests/integration/main_test.go      |   2 +-
 .../pb/tests/integration/userprovider_test.go      |   2 +-
 .../filter/custom/tests/integration/main_test.go   |   2 +-
 .../filter/custom/tests/integration/myfilter.go    |   0
 .../custom/tests/integration/userprovider_test.go  |   2 +-
 .../filter/token}/tests/integration/main_test.go   |   2 +-
 .../filter/token/tests/integration/token_test.go   |   2 +-
 .../go-server-game/tests/integration/main_test.go  |   4 +-
 .../tests/integration/provider_test.go             |   0
 .../go-server-gate/tests/integration/main_test.go  |   4 +-
 .../tests/integration/provider_test.go             |   0
 .../generic/default/docker/docker-compose.yml      |   0
 .../generic/default/docker/docker-health-check.sh  |   0
 .../generic/default/tests/integration/main_test.go |   2 +-
 .../default/tests/integration/userprovider_test.go |   0
 .../metrics/tests/integration/helloworld_test.go   |   2 +-
 .../metrics/tests/integration/main_test.go         |   2 +-
 .../polaris/limit/tests/integration/limit_test.go  |   0
 .../polaris/limit/tests/integration/main_test.go   |   0
 .../registry/tests/integration/main_test.go        |   0
 .../registry/tests/integration/registry_test.go    |   0
 .../all/nacos/tests/integration/greeter_test.go    |   2 +-
 .../all/nacos/tests/integration/main_test.go       |   2 +-
 .../zookeeper/tests/integration/greeter_test.go    |   2 +-
 .../all/zookeeper/tests/integration/main_test.go   |   2 +-
 .../nacos/tests/integration/helloworld_test.go     |   2 +-
 .../nacos/tests/integration/main_test.go           |   2 +-
 .../zookeeper/tests/integration/helloworld_test.go |   2 +-
 .../zookeeper/tests/integration/main_test.go       |   2 +-
 .../zookeeper/tests/integration/helloworld_test.go |   2 +-
 .../zookeeper/tests/integration/main_test.go       |   2 +-
 .../rpc/dubbo/tests/integration/main_test.go       |   0
 .../dubbo/tests/integration/userprovider_test.go   |   0
 .../rpc/grpc/tests/integration/greeter_test.go     |   2 +-
 .../rpc/grpc/tests/integration/main_test.go        |   2 +-
 .../rpc/jsonrpc/tests/integration/main_test.go     |   2 +-
 .../jsonrpc/tests/integration/userprovider_test.go |   0
 .../codec-extension/tests/integration/codec.go     |   0
 .../codec-extension/tests/integration/main_test.go |   0
 .../tests/integration/userprovider_test.go         |   0
 .../triple/hessian2/tests/integration/main_test.go |   0
 .../tests/integration/userprovider_test.go         |   0
 .../triple/msgpack/tests/integration/main_test.go  |   2 +-
 .../msgpack/tests/integration/userprovider_test.go |   2 +-
 .../pb/dubbogo-grpc/tests/integration/main_test.go |   0
 .../tests/integration/userprovider_test.go         |   2 +-
 .../triple/pb2/tests/integration/greeter_test.go   |   2 +-
 .../rpc/triple/pb2/tests/integration/main_test.go  |   2 +-
 .../tls/dubbo/tests/integration/main_test.go       |   2 +-
 .../tls/dubbo/tests/integration/user_test.go       |   2 +-
 .../tls/grpc/tests/integration/greeter_test.go     |   2 +-
 .../tls/grpc/tests/integration/main_test.go        |   2 +-
 .../tls/triple/tests/integration/main_test.go      |   0
 .../tls/triple/tests/integration/user_test.go      |   0
 start_integrate_test.sh                            |  54 +++----
 615 files changed, 750 insertions(+), 752 deletions(-)

diff --git a/.licenserc.yaml b/.licenserc.yaml
index a1c217b2..531eb141 100644
--- a/.licenserc.yaml
+++ b/.licenserc.yaml
@@ -79,9 +79,9 @@ header:
     - '**/*.pem'
     - '**/protobuf.mk'
     - '**/*.java'
-    - 'apisix/mysql5.7-compose/mysql/my.cnf'
+    - 'compatibility/apisix/mysql5.7-compose/mysql/my.cnf'
     - 'build/Makefile'
-    - 'tls/x509/openssl.cnf'
+    - 'compatibility/tls/x509/openssl.cnf'
 
   comment: on-failure
 
diff --git a/api/generate.sh b/compatibility/api/generate.sh
similarity index 100%
rename from api/generate.sh
rename to compatibility/api/generate.sh
diff --git a/api/samples_api.pb.go b/compatibility/api/samples_api.pb.go
similarity index 100%
rename from api/samples_api.pb.go
rename to compatibility/api/samples_api.pb.go
diff --git a/api/samples_api.proto b/compatibility/api/samples_api.proto
similarity index 100%
rename from api/samples_api.proto
rename to compatibility/api/samples_api.proto
diff --git a/api/samples_api_triple.pb.go b/compatibility/api/samples_api_triple.pb.go
similarity index 100%
rename from api/samples_api_triple.pb.go
rename to compatibility/api/samples_api_triple.pb.go
diff --git a/apisix/README.md b/compatibility/apisix/README.md
similarity index 100%
rename from apisix/README.md
rename to compatibility/apisix/README.md
diff --git a/apisix/apisix-compose/apisix_conf/config.yaml b/compatibility/apisix/apisix-compose/apisix_conf/config.yaml
similarity index 100%
rename from apisix/apisix-compose/apisix_conf/config.yaml
rename to compatibility/apisix/apisix-compose/apisix_conf/config.yaml
diff --git a/apisix/apisix-compose/docker-compose.yml b/compatibility/apisix/apisix-compose/docker-compose.yml
similarity index 100%
rename from apisix/apisix-compose/docker-compose.yml
rename to compatibility/apisix/apisix-compose/docker-compose.yml
diff --git a/apisix/apisix-dashboard-compose/dashboard_conf/conf.yaml b/compatibility/apisix/apisix-dashboard-compose/dashboard_conf/conf.yaml
similarity index 100%
rename from apisix/apisix-dashboard-compose/dashboard_conf/conf.yaml
rename to compatibility/apisix/apisix-dashboard-compose/dashboard_conf/conf.yaml
diff --git a/apisix/apisix-dashboard-compose/docker-compose.yml b/compatibility/apisix/apisix-dashboard-compose/docker-compose.yml
similarity index 100%
rename from apisix/apisix-dashboard-compose/docker-compose.yml
rename to compatibility/apisix/apisix-dashboard-compose/docker-compose.yml
diff --git a/apisix/etcd-compose/docker-compose.yml b/compatibility/apisix/etcd-compose/docker-compose.yml
similarity index 100%
rename from apisix/etcd-compose/docker-compose.yml
rename to compatibility/apisix/etcd-compose/docker-compose.yml
diff --git a/apisix/helloworld/.gitignore b/compatibility/apisix/helloworld/.gitignore
similarity index 100%
rename from apisix/helloworld/.gitignore
rename to compatibility/apisix/helloworld/.gitignore
diff --git a/apisix/helloworld/Dockerfile b/compatibility/apisix/helloworld/Dockerfile
similarity index 100%
rename from apisix/helloworld/Dockerfile
rename to compatibility/apisix/helloworld/Dockerfile
diff --git a/apisix/helloworld/README.md b/compatibility/apisix/helloworld/README.md
similarity index 100%
rename from apisix/helloworld/README.md
rename to compatibility/apisix/helloworld/README.md
diff --git a/apisix/helloworld/docker-compose.yml b/compatibility/apisix/helloworld/docker-compose.yml
similarity index 100%
rename from apisix/helloworld/docker-compose.yml
rename to compatibility/apisix/helloworld/docker-compose.yml
diff --git a/apisix/helloworld/main.go b/compatibility/apisix/helloworld/main.go
similarity index 95%
rename from apisix/helloworld/main.go
rename to compatibility/apisix/helloworld/main.go
index 557300b7..89395d5d 100644
--- a/apisix/helloworld/main.go
+++ b/compatibility/apisix/helloworld/main.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/apisix/helloworld/protobuf/helloworld"
+	"github.com/apache/dubbo-go-samples/compatibility/apisix/helloworld/protobuf/helloworld"
 )
 
 type GreeterProvider struct {
diff --git a/apisix/helloworld/protobuf/helloworld/helloworld.pb.go b/compatibility/apisix/helloworld/protobuf/helloworld/helloworld.pb.go
similarity index 100%
rename from apisix/helloworld/protobuf/helloworld/helloworld.pb.go
rename to compatibility/apisix/helloworld/protobuf/helloworld/helloworld.pb.go
diff --git a/apisix/helloworld/protobuf/helloworld/helloworld.proto b/compatibility/apisix/helloworld/protobuf/helloworld/helloworld.proto
similarity index 100%
rename from apisix/helloworld/protobuf/helloworld/helloworld.proto
rename to compatibility/apisix/helloworld/protobuf/helloworld/helloworld.proto
diff --git a/apisix/helloworld/protobuf/helloworld/helloworld_triple.pb.go b/compatibility/apisix/helloworld/protobuf/helloworld/helloworld_triple.pb.go
similarity index 100%
rename from apisix/helloworld/protobuf/helloworld/helloworld_triple.pb.go
rename to compatibility/apisix/helloworld/protobuf/helloworld/helloworld_triple.pb.go
diff --git a/apisix/mysql5.7-compose/README.md b/compatibility/apisix/mysql5.7-compose/README.md
similarity index 100%
rename from apisix/mysql5.7-compose/README.md
rename to compatibility/apisix/mysql5.7-compose/README.md
diff --git a/apisix/mysql5.7-compose/docker-compose.yml b/compatibility/apisix/mysql5.7-compose/docker-compose.yml
similarity index 100%
rename from apisix/mysql5.7-compose/docker-compose.yml
rename to compatibility/apisix/mysql5.7-compose/docker-compose.yml
diff --git a/apisix/mysql5.7-compose/mysql/Dockerfile b/compatibility/apisix/mysql5.7-compose/mysql/Dockerfile
similarity index 100%
rename from apisix/mysql5.7-compose/mysql/Dockerfile
rename to compatibility/apisix/mysql5.7-compose/mysql/Dockerfile
diff --git a/apisix/mysql5.7-compose/mysql/my.cnf b/compatibility/apisix/mysql5.7-compose/mysql/my.cnf
similarity index 100%
rename from apisix/mysql5.7-compose/mysql/my.cnf
rename to compatibility/apisix/mysql5.7-compose/mysql/my.cnf
diff --git a/apisix/nacos2.0.3-compose/docker-compose.yml b/compatibility/apisix/nacos2.0.3-compose/docker-compose.yml
similarity index 100%
rename from apisix/nacos2.0.3-compose/docker-compose.yml
rename to compatibility/apisix/nacos2.0.3-compose/docker-compose.yml
diff --git a/apisix/nacos2.0.3-compose/nacos_conf/custom.properties b/compatibility/apisix/nacos2.0.3-compose/nacos_conf/custom.properties
similarity index 100%
rename from apisix/nacos2.0.3-compose/nacos_conf/custom.properties
rename to compatibility/apisix/nacos2.0.3-compose/nacos_conf/custom.properties
diff --git a/async/README.md b/compatibility/async/README.md
similarity index 100%
rename from async/README.md
rename to compatibility/async/README.md
diff --git a/async/README_zh.md b/compatibility/async/README_zh.md
similarity index 100%
rename from async/README_zh.md
rename to compatibility/async/README_zh.md
diff --git a/async/go-client/cmd/client.go b/compatibility/async/go-client/cmd/client.go
similarity index 96%
rename from async/go-client/cmd/client.go
rename to compatibility/async/go-client/cmd/client.go
index 40a49659..b1f2bba5 100644
--- a/async/go-client/cmd/client.go
+++ b/compatibility/async/go-client/cmd/client.go
@@ -32,7 +32,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/async/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/async/go-client/pkg"
 )
 
 var (
diff --git a/async/go-client/conf/dubbogo.yml b/compatibility/async/go-client/conf/dubbogo.yml
similarity index 100%
rename from async/go-client/conf/dubbogo.yml
rename to compatibility/async/go-client/conf/dubbogo.yml
diff --git a/async/go-client/pkg/user.go b/compatibility/async/go-client/pkg/user.go
similarity index 100%
rename from async/go-client/pkg/user.go
rename to compatibility/async/go-client/pkg/user.go
diff --git a/async/go-server/cmd/server.go b/compatibility/async/go-server/cmd/server.go
similarity index 96%
rename from async/go-server/cmd/server.go
rename to compatibility/async/go-server/cmd/server.go
index 583c1706..6a27b558 100644
--- a/async/go-server/cmd/server.go
+++ b/compatibility/async/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/async/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/async/go-server/pkg"
 )
 
 var (
diff --git a/async/go-server/conf/dubbogo.yml b/compatibility/async/go-server/conf/dubbogo.yml
similarity index 100%
rename from async/go-server/conf/dubbogo.yml
rename to compatibility/async/go-server/conf/dubbogo.yml
diff --git a/async/go-server/pkg/user.go b/compatibility/async/go-server/pkg/user.go
similarity index 100%
rename from async/go-server/pkg/user.go
rename to compatibility/async/go-server/pkg/user.go
diff --git a/async/go-server/pkg/user_provider.go b/compatibility/async/go-server/pkg/user_provider.go
similarity index 100%
rename from async/go-server/pkg/user_provider.go
rename to compatibility/async/go-server/pkg/user_provider.go
diff --git a/async/go-server/pkg/user_provider_v2.go b/compatibility/async/go-server/pkg/user_provider_v2.go
similarity index 100%
rename from async/go-server/pkg/user_provider_v2.go
rename to compatibility/async/go-server/pkg/user_provider_v2.go
diff --git a/config-api/README.md b/compatibility/config-api/README.md
similarity index 93%
rename from config-api/README.md
rename to compatibility/config-api/README.md
index 5f5085ff..1da9b52b 100644
--- a/config-api/README.md
+++ b/compatibility/config-api/README.md
@@ -7,7 +7,7 @@
 
 -configcenter/
 
-使用配置API,从远程配置中心读取框架启动配置,详情见 [README](./rpc/README.md)
+使用配置API,从远程配置中心读取框架启动配置,详情见 [README](rpc/README.md)
 
 - rpc/
 
diff --git a/config-api/config-merge/go-client/cmd/client.go b/compatibility/config-api/config-merge/go-client/cmd/client.go
similarity index 96%
rename from config-api/config-merge/go-client/cmd/client.go
rename to compatibility/config-api/config-merge/go-client/cmd/client.go
index 5617ed29..110467ac 100644
--- a/config-api/config-merge/go-client/cmd/client.go
+++ b/compatibility/config-api/config-merge/go-client/cmd/client.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/config-api/config-merge/go-client/conf/dubbogo-local.yml b/compatibility/config-api/config-merge/go-client/conf/dubbogo-local.yml
similarity index 100%
rename from config-api/config-merge/go-client/conf/dubbogo-local.yml
rename to compatibility/config-api/config-merge/go-client/conf/dubbogo-local.yml
diff --git a/config-api/config-merge/go-client/conf/dubbogo.yml b/compatibility/config-api/config-merge/go-client/conf/dubbogo.yml
similarity index 100%
rename from config-api/config-merge/go-client/conf/dubbogo.yml
rename to compatibility/config-api/config-merge/go-client/conf/dubbogo.yml
diff --git a/config-api/config-merge/go-server/cmd/server.go b/compatibility/config-api/config-merge/go-server/cmd/server.go
similarity index 97%
rename from config-api/config-merge/go-server/cmd/server.go
rename to compatibility/config-api/config-merge/go-server/cmd/server.go
index 7df2a1d2..0b94e048 100644
--- a/config-api/config-merge/go-server/cmd/server.go
+++ b/compatibility/config-api/config-merge/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/config-api/config-merge/go-server/conf/dubbogo.yml b/compatibility/config-api/config-merge/go-server/conf/dubbogo.yml
similarity index 100%
rename from config-api/config-merge/go-server/conf/dubbogo.yml
rename to compatibility/config-api/config-merge/go-server/conf/dubbogo.yml
diff --git a/config-api/configcenter/nacos/go-client/cmd/client.go b/compatibility/config-api/configcenter/nacos/go-client/cmd/client.go
similarity index 97%
rename from config-api/configcenter/nacos/go-client/cmd/client.go
rename to compatibility/config-api/configcenter/nacos/go-client/cmd/client.go
index 44cc1413..9f5492e3 100644
--- a/config-api/configcenter/nacos/go-client/cmd/client.go
+++ b/compatibility/config-api/configcenter/nacos/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 const configCenterNacosClientConfig = `## set in config center, group is 'dubbo', dataid is 'dubbo-go-samples-configcenter-nacos-client', namespace is default
diff --git a/config-api/configcenter/nacos/go-server/cmd/server.go b/compatibility/config-api/configcenter/nacos/go-server/cmd/server.go
similarity index 97%
rename from config-api/configcenter/nacos/go-server/cmd/server.go
rename to compatibility/config-api/configcenter/nacos/go-server/cmd/server.go
index f6a31559..ffdad120 100644
--- a/config-api/configcenter/nacos/go-server/cmd/server.go
+++ b/compatibility/config-api/configcenter/nacos/go-server/cmd/server.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 const configCenterNacosServerConfig = `# set in config center, group is 'dubbo', dataid is 'dubbo-go-samples-configcenter-nacos-server', namespace is default
diff --git a/config-api/configcenter/zookeeper/go-client/cmd/client.go b/compatibility/config-api/configcenter/zookeeper/go-client/cmd/client.go
similarity index 97%
rename from config-api/configcenter/zookeeper/go-client/cmd/client.go
rename to compatibility/config-api/configcenter/zookeeper/go-client/cmd/client.go
index 7e397175..c743d35e 100644
--- a/config-api/configcenter/zookeeper/go-client/cmd/client.go
+++ b/compatibility/config-api/configcenter/zookeeper/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 const configCenterZKClientConfig = `## set in config center, group is 'dubbogo', dataid is 'dubbo-go-samples-configcenter-zookeeper-client', namespace is default
diff --git a/config-api/configcenter/zookeeper/go-server/cmd/server.go b/compatibility/config-api/configcenter/zookeeper/go-server/cmd/server.go
similarity index 97%
rename from config-api/configcenter/zookeeper/go-server/cmd/server.go
rename to compatibility/config-api/configcenter/zookeeper/go-server/cmd/server.go
index 66d839c9..6b979153 100644
--- a/config-api/configcenter/zookeeper/go-server/cmd/server.go
+++ b/compatibility/config-api/configcenter/zookeeper/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 const configCenterZKServerConfig = `# set in config center, group is 'dubbogo', dataid is 'dubbo-go-samples-configcenter-zookeeper-server', namespace is default
diff --git a/config-api/rpc/README.md b/compatibility/config-api/rpc/README.md
similarity index 100%
rename from config-api/rpc/README.md
rename to compatibility/config-api/rpc/README.md
diff --git a/config-api/rpc/triple/go-client/cmd/client.go b/compatibility/config-api/rpc/triple/go-client/cmd/client.go
similarity index 97%
rename from config-api/rpc/triple/go-client/cmd/client.go
rename to compatibility/config-api/rpc/triple/go-client/cmd/client.go
index 88193a75..392ab883 100644
--- a/config-api/rpc/triple/go-client/cmd/client.go
+++ b/compatibility/config-api/rpc/triple/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var tripleGreeterImpl = new(api.GreeterClientImpl)
diff --git a/config-api/rpc/triple/go-server/cmd/server.go b/compatibility/config-api/rpc/triple/go-server/cmd/server.go
similarity index 97%
rename from config-api/rpc/triple/go-server/cmd/server.go
rename to compatibility/config-api/rpc/triple/go-server/cmd/server.go
index eb2a974a..90179121 100644
--- a/config-api/rpc/triple/go-server/cmd/server.go
+++ b/compatibility/config-api/rpc/triple/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/config-api/subModule/configcenter/main.go b/compatibility/config-api/subModule/configcenter/main.go
similarity index 100%
rename from config-api/subModule/configcenter/main.go
rename to compatibility/config-api/subModule/configcenter/main.go
diff --git a/config-api/subModule/registry/README.md b/compatibility/config-api/subModule/registry/README.md
similarity index 100%
rename from config-api/subModule/registry/README.md
rename to compatibility/config-api/subModule/registry/README.md
diff --git a/config-api/subModule/registry/main.go b/compatibility/config-api/subModule/registry/main.go
similarity index 100%
rename from config-api/subModule/registry/main.go
rename to compatibility/config-api/subModule/registry/main.go
diff --git a/config-api/subModule/service/main.go b/compatibility/config-api/subModule/service/main.go
similarity index 100%
rename from config-api/subModule/service/main.go
rename to compatibility/config-api/subModule/service/main.go
diff --git a/configcenter/nacos/go-client/cmd/client.go b/compatibility/configcenter/nacos/go-client/cmd/client.go
similarity index 96%
rename from configcenter/nacos/go-client/cmd/client.go
rename to compatibility/configcenter/nacos/go-client/cmd/client.go
index 2c250029..ad774061 100644
--- a/configcenter/nacos/go-client/cmd/client.go
+++ b/compatibility/configcenter/nacos/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/configcenter/nacos/go-client/conf/dubbogo.yml b/compatibility/configcenter/nacos/go-client/conf/dubbogo.yml
similarity index 100%
rename from configcenter/nacos/go-client/conf/dubbogo.yml
rename to compatibility/configcenter/nacos/go-client/conf/dubbogo.yml
diff --git a/configcenter/nacos/go-server/cmd/server.go b/compatibility/configcenter/nacos/go-server/cmd/server.go
similarity index 96%
rename from configcenter/nacos/go-server/cmd/server.go
rename to compatibility/configcenter/nacos/go-server/cmd/server.go
index e4b5ea0f..548dec84 100644
--- a/configcenter/nacos/go-server/cmd/server.go
+++ b/compatibility/configcenter/nacos/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/configcenter/nacos/go-server/conf/dubbogo.yml b/compatibility/configcenter/nacos/go-server/conf/dubbogo.yml
similarity index 100%
rename from configcenter/nacos/go-server/conf/dubbogo.yml
rename to compatibility/configcenter/nacos/go-server/conf/dubbogo.yml
diff --git a/configcenter/zookeeper/go-client/cmd/client.go b/compatibility/configcenter/zookeeper/go-client/cmd/client.go
similarity index 96%
rename from configcenter/zookeeper/go-client/cmd/client.go
rename to compatibility/configcenter/zookeeper/go-client/cmd/client.go
index 2c250029..ad774061 100644
--- a/configcenter/zookeeper/go-client/cmd/client.go
+++ b/compatibility/configcenter/zookeeper/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/configcenter/zookeeper/go-client/conf/dubbogo.yml b/compatibility/configcenter/zookeeper/go-client/conf/dubbogo.yml
similarity index 100%
rename from configcenter/zookeeper/go-client/conf/dubbogo.yml
rename to compatibility/configcenter/zookeeper/go-client/conf/dubbogo.yml
diff --git a/configcenter/zookeeper/go-server/cmd/server.go b/compatibility/configcenter/zookeeper/go-server/cmd/server.go
similarity index 96%
rename from configcenter/zookeeper/go-server/cmd/server.go
rename to compatibility/configcenter/zookeeper/go-server/cmd/server.go
index e4b5ea0f..548dec84 100644
--- a/configcenter/zookeeper/go-server/cmd/server.go
+++ b/compatibility/configcenter/zookeeper/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/configcenter/zookeeper/go-server/conf/dubbogo.yml b/compatibility/configcenter/zookeeper/go-server/conf/dubbogo.yml
similarity index 100%
rename from configcenter/zookeeper/go-server/conf/dubbogo.yml
rename to compatibility/configcenter/zookeeper/go-server/conf/dubbogo.yml
diff --git a/context/README.md b/compatibility/context/README.md
similarity index 95%
rename from context/README.md
rename to compatibility/context/README.md
index c13da255..7f78c3d8 100644
--- a/context/README.md
+++ b/compatibility/context/README.md
@@ -55,4 +55,4 @@ As demo in go-server/server.go shows
 	intValue := ctxAtta["int-value"].(int64),
 ```
 
-Pls. refer to [HOWTO.md](../HOWTO.md) under the root directory to run this sample.
\ No newline at end of file
+Pls. refer to [HOWTO.md](../../HOWTO.md) under the root directory to run this sample.
\ No newline at end of file
diff --git a/context/README_zh.md b/compatibility/context/README_zh.md
similarity index 96%
rename from context/README_zh.md
rename to compatibility/context/README_zh.md
index fa0cb05b..8f81c866 100644
--- a/context/README_zh.md
+++ b/compatibility/context/README_zh.md
@@ -58,6 +58,6 @@ ctxAtta := ctx.Value(constant.DubboCtxKey("attachment")).(map[string]interface{}
 	intValue := ctxAtta["int-value"].(int64),
 ```
 
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
+请参阅根目录中的 [HOWTO.md](../../HOWTO_zh.md) 来运行本例。
 
 
diff --git a/context/dubbo/go-client/cmd/client.go b/compatibility/context/dubbo/go-client/cmd/client.go
similarity index 100%
rename from context/dubbo/go-client/cmd/client.go
rename to compatibility/context/dubbo/go-client/cmd/client.go
diff --git a/context/dubbo/go-client/conf/dubbogo.yml b/compatibility/context/dubbo/go-client/conf/dubbogo.yml
similarity index 100%
rename from context/dubbo/go-client/conf/dubbogo.yml
rename to compatibility/context/dubbo/go-client/conf/dubbogo.yml
diff --git a/context/dubbo/go-server/cmd/server.go b/compatibility/context/dubbo/go-server/cmd/server.go
similarity index 100%
rename from context/dubbo/go-server/cmd/server.go
rename to compatibility/context/dubbo/go-server/cmd/server.go
diff --git a/context/dubbo/go-server/conf/dubbogo.yml b/compatibility/context/dubbo/go-server/conf/dubbogo.yml
similarity index 100%
rename from context/dubbo/go-server/conf/dubbogo.yml
rename to compatibility/context/dubbo/go-server/conf/dubbogo.yml
diff --git a/context/triple/go-client/cmd/client.go b/compatibility/context/triple/go-client/cmd/client.go
similarity index 98%
rename from context/triple/go-client/cmd/client.go
rename to compatibility/context/triple/go-client/cmd/client.go
index 29771aad..7fb0b5b6 100644
--- a/context/triple/go-client/cmd/client.go
+++ b/compatibility/context/triple/go-client/cmd/client.go
@@ -31,7 +31,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/context/triple/go-client/conf/dubbogo.yml b/compatibility/context/triple/go-client/conf/dubbogo.yml
similarity index 100%
rename from context/triple/go-client/conf/dubbogo.yml
rename to compatibility/context/triple/go-client/conf/dubbogo.yml
diff --git a/context/triple/go-server/cmd/server.go b/compatibility/context/triple/go-server/cmd/server.go
similarity index 98%
rename from context/triple/go-server/cmd/server.go
rename to compatibility/context/triple/go-server/cmd/server.go
index 247780a0..42e65f37 100644
--- a/context/triple/go-server/cmd/server.go
+++ b/compatibility/context/triple/go-server/cmd/server.go
@@ -32,7 +32,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/context/triple/go-server/conf/dubbogo.yml b/compatibility/context/triple/go-server/conf/dubbogo.yml
similarity index 100%
rename from context/triple/go-server/conf/dubbogo.yml
rename to compatibility/context/triple/go-server/conf/dubbogo.yml
diff --git a/direct/README.md b/compatibility/direct/README.md
similarity index 96%
rename from direct/README.md
rename to compatibility/direct/README.md
index 19555eb8..6a8aa632 100644
--- a/direct/README.md
+++ b/compatibility/direct/README.md
@@ -135,7 +135,7 @@ err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
 
 ### How To Run
 
-Refer to  [HOWTO.md](../HOWTO_zh.md) under the root directory to run this sample.
+Refer to  [HOWTO.md](../../HOWTO_zh.md) under the root directory to run this sample.
 
 #### 1. Environment Configuration
 
@@ -166,5 +166,5 @@ This example uses ZooKeeper as the registry, so you can run the Docker ZooKeeper
 #### 4. Start The Consumer
 
 
-Refer to  [HOWTO.md](../HOWTO_zh.md) under the root directory to run this sample.
+Refer to  [HOWTO.md](../../HOWTO_zh.md) under the root directory to run this sample.
 
diff --git a/direct/README_zh.md b/compatibility/direct/README_zh.md
similarity index 97%
rename from direct/README_zh.md
rename to compatibility/direct/README_zh.md
index 56127913..9baf2043 100644
--- a/direct/README_zh.md
+++ b/compatibility/direct/README_zh.md
@@ -137,7 +137,7 @@ err := userProvider.GetUser(context.TODO(), []interface{}{"A001"}, user)
 
 
 ### 如何运行
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
+请参阅根目录中的 [HOWTO.md](../../HOWTO_zh.md) 来运行本例。
 #### 1. 环境配置
 
 配置环境变量,指定服务加载所需配置文件路径
@@ -167,5 +167,5 @@ CONF_CONSUMER_FILE_PATH=direct/go-client/conf/client.yml
 #### 4. 启动服务消费者
 
 
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
+请参阅根目录中的 [HOWTO.md](../../HOWTO_zh.md) 来运行本例。
 
diff --git a/direct/go-client/cmd/client.go b/compatibility/direct/go-client/cmd/client.go
similarity index 96%
rename from direct/go-client/cmd/client.go
rename to compatibility/direct/go-client/cmd/client.go
index e4aabc4f..a4ca1768 100644
--- a/direct/go-client/cmd/client.go
+++ b/compatibility/direct/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/direct/go-client/conf/dubbogo.yml b/compatibility/direct/go-client/conf/dubbogo.yml
similarity index 100%
rename from direct/go-client/conf/dubbogo.yml
rename to compatibility/direct/go-client/conf/dubbogo.yml
diff --git a/direct/go-server/cmd/server.go b/compatibility/direct/go-server/cmd/server.go
similarity index 96%
rename from direct/go-server/cmd/server.go
rename to compatibility/direct/go-server/cmd/server.go
index 5cc263a1..1c6127f7 100644
--- a/direct/go-server/cmd/server.go
+++ b/compatibility/direct/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/direct/go-server/conf/dubbogo.yml b/compatibility/direct/go-server/conf/dubbogo.yml
similarity index 100%
rename from direct/go-server/conf/dubbogo.yml
rename to compatibility/direct/go-server/conf/dubbogo.yml
diff --git a/error/triple/hessian2/go-client/cmd/client.go b/compatibility/error/triple/hessian2/go-client/cmd/client.go
similarity index 100%
rename from error/triple/hessian2/go-client/cmd/client.go
rename to compatibility/error/triple/hessian2/go-client/cmd/client.go
diff --git a/error/triple/hessian2/go-client/cmd/error_response.go b/compatibility/error/triple/hessian2/go-client/cmd/error_response.go
similarity index 100%
rename from error/triple/hessian2/go-client/cmd/error_response.go
rename to compatibility/error/triple/hessian2/go-client/cmd/error_response.go
diff --git a/error/triple/hessian2/go-client/conf/dubbogo.yml b/compatibility/error/triple/hessian2/go-client/conf/dubbogo.yml
similarity index 100%
rename from error/triple/hessian2/go-client/conf/dubbogo.yml
rename to compatibility/error/triple/hessian2/go-client/conf/dubbogo.yml
diff --git a/error/triple/hessian2/go-server/cmd/error_response.go b/compatibility/error/triple/hessian2/go-server/cmd/error_response.go
similarity index 100%
rename from error/triple/hessian2/go-server/cmd/error_response.go
rename to compatibility/error/triple/hessian2/go-server/cmd/error_response.go
diff --git a/error/triple/hessian2/go-server/cmd/server.go b/compatibility/error/triple/hessian2/go-server/cmd/server.go
similarity index 100%
rename from error/triple/hessian2/go-server/cmd/server.go
rename to compatibility/error/triple/hessian2/go-server/cmd/server.go
diff --git a/error/triple/hessian2/go-server/conf/dubbogo.yml b/compatibility/error/triple/hessian2/go-server/conf/dubbogo.yml
similarity index 100%
rename from error/triple/hessian2/go-server/conf/dubbogo.yml
rename to compatibility/error/triple/hessian2/go-server/conf/dubbogo.yml
diff --git a/error/triple/pb/go-client/cmd/client.go b/compatibility/error/triple/pb/go-client/cmd/client.go
similarity index 96%
rename from error/triple/pb/go-client/cmd/client.go
rename to compatibility/error/triple/pb/go-client/cmd/client.go
index 18625288..bf53b497 100644
--- a/error/triple/pb/go-client/cmd/client.go
+++ b/compatibility/error/triple/pb/go-client/cmd/client.go
@@ -31,7 +31,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(triplepb.GreeterClientImpl)
diff --git a/error/triple/pb/go-client/conf/dubbogo.yml b/compatibility/error/triple/pb/go-client/conf/dubbogo.yml
similarity index 100%
rename from error/triple/pb/go-client/conf/dubbogo.yml
rename to compatibility/error/triple/pb/go-client/conf/dubbogo.yml
diff --git a/error/triple/pb/go-server/cmd/error_reponse.go b/compatibility/error/triple/pb/go-server/cmd/error_reponse.go
similarity index 97%
rename from error/triple/pb/go-server/cmd/error_reponse.go
rename to compatibility/error/triple/pb/go-server/cmd/error_reponse.go
index 371d1be1..8abff4e3 100644
--- a/error/triple/pb/go-server/cmd/error_reponse.go
+++ b/compatibility/error/triple/pb/go-server/cmd/error_reponse.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type ErrorResponseProvider struct {
diff --git a/error/triple/pb/go-server/cmd/server.go b/compatibility/error/triple/pb/go-server/cmd/server.go
similarity index 100%
rename from error/triple/pb/go-server/cmd/server.go
rename to compatibility/error/triple/pb/go-server/cmd/server.go
diff --git a/error/triple/pb/go-server/conf/dubbogo.yml b/compatibility/error/triple/pb/go-server/conf/dubbogo.yml
similarity index 100%
rename from error/triple/pb/go-server/conf/dubbogo.yml
rename to compatibility/error/triple/pb/go-server/conf/dubbogo.yml
diff --git a/filter/README.md b/compatibility/filter/README.md
similarity index 100%
rename from filter/README.md
rename to compatibility/filter/README.md
diff --git a/filter/README_zh.md b/compatibility/filter/README_zh.md
similarity index 97%
rename from filter/README_zh.md
rename to compatibility/filter/README_zh.md
index fe2e0967..92c2d60f 100644
--- a/filter/README_zh.md
+++ b/compatibility/filter/README_zh.md
@@ -89,7 +89,7 @@ dubbo:
 
 ### 3. 运行
 
-请参阅根目录中的 [HOWTO.md](../HOWTO_zh.md) 来运行本例。
+请参阅根目录中的 [HOWTO.md](../../HOWTO_zh.md) 来运行本例。
 
 观察客户端的输出:
 
diff --git a/filter/custom/go-client/cmd/client.go b/compatibility/filter/custom/go-client/cmd/client.go
similarity index 96%
rename from filter/custom/go-client/cmd/client.go
rename to compatibility/filter/custom/go-client/cmd/client.go
index b7bae929..57fd838c 100644
--- a/filter/custom/go-client/cmd/client.go
+++ b/compatibility/filter/custom/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var userProvider = &api.GreeterClientImpl{}
diff --git a/filter/custom/go-client/cmd/myfilter.go b/compatibility/filter/custom/go-client/cmd/myfilter.go
similarity index 100%
rename from filter/custom/go-client/cmd/myfilter.go
rename to compatibility/filter/custom/go-client/cmd/myfilter.go
diff --git a/filter/custom/go-client/conf/dubbogo.yml b/compatibility/filter/custom/go-client/conf/dubbogo.yml
similarity index 100%
rename from filter/custom/go-client/conf/dubbogo.yml
rename to compatibility/filter/custom/go-client/conf/dubbogo.yml
diff --git a/filter/custom/go-server/cmd/myfilter.go b/compatibility/filter/custom/go-server/cmd/myfilter.go
similarity index 100%
rename from filter/custom/go-server/cmd/myfilter.go
rename to compatibility/filter/custom/go-server/cmd/myfilter.go
diff --git a/filter/custom/go-server/cmd/server.go b/compatibility/filter/custom/go-server/cmd/server.go
similarity index 96%
rename from filter/custom/go-server/cmd/server.go
rename to compatibility/filter/custom/go-server/cmd/server.go
index 3b9ec197..32c2ddaa 100644
--- a/filter/custom/go-server/cmd/server.go
+++ b/compatibility/filter/custom/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/filter/custom/go-server/conf/dubbogo.yml b/compatibility/filter/custom/go-server/conf/dubbogo.yml
similarity index 100%
rename from filter/custom/go-server/conf/dubbogo.yml
rename to compatibility/filter/custom/go-server/conf/dubbogo.yml
diff --git a/filter/token/go-client/cmd/client.go b/compatibility/filter/token/go-client/cmd/client.go
similarity index 96%
rename from filter/token/go-client/cmd/client.go
rename to compatibility/filter/token/go-client/cmd/client.go
index b7bae929..57fd838c 100644
--- a/filter/token/go-client/cmd/client.go
+++ b/compatibility/filter/token/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var userProvider = &api.GreeterClientImpl{}
diff --git a/filter/token/go-client/conf/dubbogo.yml b/compatibility/filter/token/go-client/conf/dubbogo.yml
similarity index 100%
rename from filter/token/go-client/conf/dubbogo.yml
rename to compatibility/filter/token/go-client/conf/dubbogo.yml
diff --git a/filter/token/go-server/cmd/server.go b/compatibility/filter/token/go-server/cmd/server.go
similarity index 96%
rename from filter/token/go-server/cmd/server.go
rename to compatibility/filter/token/go-server/cmd/server.go
index 10d51dce..2570b44e 100644
--- a/filter/token/go-server/cmd/server.go
+++ b/compatibility/filter/token/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/filter/token/go-server/conf/dubbogo.yml b/compatibility/filter/token/go-server/conf/dubbogo.yml
similarity index 100%
rename from filter/token/go-server/conf/dubbogo.yml
rename to compatibility/filter/token/go-server/conf/dubbogo.yml
diff --git a/filter/tpslimit/README.md b/compatibility/filter/tpslimit/README.md
similarity index 95%
rename from filter/tpslimit/README.md
rename to compatibility/filter/tpslimit/README.md
index bd51a6ba..be319db0 100644
--- a/filter/tpslimit/README.md
+++ b/compatibility/filter/tpslimit/README.md
@@ -36,7 +36,7 @@ services:
 
 ##### 3. Run
 
-Pls. refer to [HOWTO.md](../../HOWTO.md) under the root directory to run this sample.
+Pls. refer to [HOWTO.md](../../../HOWTO.md) under the root directory to run this sample.
 
 The provider side will print out:
 
diff --git a/filter/tpslimit/README_zh.md b/compatibility/filter/tpslimit/README_zh.md
similarity index 95%
rename from filter/tpslimit/README_zh.md
rename to compatibility/filter/tpslimit/README_zh.md
index b2f0f215..badfff4a 100644
--- a/filter/tpslimit/README_zh.md
+++ b/compatibility/filter/tpslimit/README_zh.md
@@ -36,7 +36,7 @@ services:
 
 ##### 3. 运行
 
-请参阅根目录中的 [HOWTO.md](../../HOWTO_zh.md) 来运行本例。
+请参阅根目录中的 [HOWTO.md](../../../HOWTO_zh.md) 来运行本例。
 
 观察服务端的输出:
 
diff --git a/filter/tpslimit/go-client/cmd/client.go b/compatibility/filter/tpslimit/go-client/cmd/client.go
similarity index 95%
rename from filter/tpslimit/go-client/cmd/client.go
rename to compatibility/filter/tpslimit/go-client/cmd/client.go
index 864e5d64..795c4bd5 100644
--- a/filter/tpslimit/go-client/cmd/client.go
+++ b/compatibility/filter/tpslimit/go-client/cmd/client.go
@@ -32,7 +32,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/filter/tpslimit/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/filter/tpslimit/go-client/pkg"
 )
 
 var userProvider = &pkg.UserProvider{}
diff --git a/filter/tpslimit/go-client/conf/dubbogo.yml b/compatibility/filter/tpslimit/go-client/conf/dubbogo.yml
similarity index 100%
rename from filter/tpslimit/go-client/conf/dubbogo.yml
rename to compatibility/filter/tpslimit/go-client/conf/dubbogo.yml
diff --git a/filter/tpslimit/go-client/pkg/user.go b/compatibility/filter/tpslimit/go-client/pkg/user.go
similarity index 100%
rename from filter/tpslimit/go-client/pkg/user.go
rename to compatibility/filter/tpslimit/go-client/pkg/user.go
diff --git a/filter/tpslimit/go-server/cmd/server.go b/compatibility/filter/tpslimit/go-server/cmd/server.go
similarity index 95%
rename from filter/tpslimit/go-server/cmd/server.go
rename to compatibility/filter/tpslimit/go-server/cmd/server.go
index 65ab176d..4898728c 100644
--- a/filter/tpslimit/go-server/cmd/server.go
+++ b/compatibility/filter/tpslimit/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/filter/tpslimit/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/filter/tpslimit/go-server/pkg"
 )
 
 var (
diff --git a/filter/tpslimit/go-server/conf/dubbogo.yml b/compatibility/filter/tpslimit/go-server/conf/dubbogo.yml
similarity index 100%
rename from filter/tpslimit/go-server/conf/dubbogo.yml
rename to compatibility/filter/tpslimit/go-server/conf/dubbogo.yml
diff --git a/filter/tpslimit/go-server/pkg/limit_strategy.go b/compatibility/filter/tpslimit/go-server/pkg/limit_strategy.go
similarity index 100%
rename from filter/tpslimit/go-server/pkg/limit_strategy.go
rename to compatibility/filter/tpslimit/go-server/pkg/limit_strategy.go
diff --git a/filter/tpslimit/go-server/pkg/reject_handler.go b/compatibility/filter/tpslimit/go-server/pkg/reject_handler.go
similarity index 100%
rename from filter/tpslimit/go-server/pkg/reject_handler.go
rename to compatibility/filter/tpslimit/go-server/pkg/reject_handler.go
diff --git a/filter/tpslimit/go-server/pkg/user.go b/compatibility/filter/tpslimit/go-server/pkg/user.go
similarity index 100%
rename from filter/tpslimit/go-server/pkg/user.go
rename to compatibility/filter/tpslimit/go-server/pkg/user.go
diff --git a/game/go-server-game/cmd/server.go b/compatibility/game/go-server-game/cmd/server.go
similarity index 92%
rename from game/go-server-game/cmd/server.go
rename to compatibility/game/go-server-game/cmd/server.go
index affd35bb..63f56776 100644
--- a/game/go-server-game/cmd/server.go
+++ b/compatibility/game/go-server-game/cmd/server.go
@@ -34,8 +34,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/go-server-game/pkg"
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/go-server-game/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 func init() {
diff --git a/game/go-server-game/conf/dubbogo.yml b/compatibility/game/go-server-game/conf/dubbogo.yml
similarity index 100%
rename from game/go-server-game/conf/dubbogo.yml
rename to compatibility/game/go-server-game/conf/dubbogo.yml
diff --git a/game/go-server-game/pkg/consumer.go b/compatibility/game/go-server-game/pkg/consumer.go
similarity index 92%
rename from game/go-server-game/pkg/consumer.go
rename to compatibility/game/go-server-game/pkg/consumer.go
index 3df5366f..00888d07 100644
--- a/game/go-server-game/pkg/consumer.go
+++ b/compatibility/game/go-server-game/pkg/consumer.go
@@ -18,7 +18,7 @@
 package pkg
 
 import (
-	"github.com/apache/dubbo-go-samples/game/pkg/consumer/gate"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/consumer/gate"
 )
 
 var GateBasketball = gate.BasketballService{}
diff --git a/game/go-server-game/pkg/provider.go b/compatibility/game/go-server-game/pkg/provider.go
similarity index 98%
rename from game/go-server-game/pkg/provider.go
rename to compatibility/game/go-server-game/pkg/provider.go
index caf8cc06..64ba17dd 100644
--- a/game/go-server-game/pkg/provider.go
+++ b/compatibility/game/go-server-game/pkg/provider.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 type BasketballService struct{}
diff --git a/game/go-server-gate/cmd/server.go b/compatibility/game/go-server-gate/cmd/server.go
similarity index 96%
rename from game/go-server-gate/cmd/server.go
rename to compatibility/game/go-server-gate/cmd/server.go
index 4a1e625c..a824bc6e 100644
--- a/game/go-server-gate/cmd/server.go
+++ b/compatibility/game/go-server-gate/cmd/server.go
@@ -39,8 +39,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/go-server-gate/pkg"
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/go-server-gate/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 func init() {
diff --git a/game/go-server-gate/conf/dubbogo.yml b/compatibility/game/go-server-gate/conf/dubbogo.yml
similarity index 100%
rename from game/go-server-gate/conf/dubbogo.yml
rename to compatibility/game/go-server-gate/conf/dubbogo.yml
diff --git a/game/go-server-gate/pkg/consumer.go b/compatibility/game/go-server-gate/pkg/consumer.go
similarity index 90%
rename from game/go-server-gate/pkg/consumer.go
rename to compatibility/game/go-server-gate/pkg/consumer.go
index fa066633..74c635bd 100644
--- a/game/go-server-gate/pkg/consumer.go
+++ b/compatibility/game/go-server-gate/pkg/consumer.go
@@ -22,8 +22,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/pkg/consumer/game"
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/consumer/game"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 var GameBasketball = game.BasketballService{}
diff --git a/game/go-server-gate/pkg/provider.go b/compatibility/game/go-server-gate/pkg/provider.go
similarity index 95%
rename from game/go-server-gate/pkg/provider.go
rename to compatibility/game/go-server-gate/pkg/provider.go
index 207a9895..60857bf6 100644
--- a/game/go-server-gate/pkg/provider.go
+++ b/compatibility/game/go-server-gate/pkg/provider.go
@@ -26,7 +26,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 type BasketballService struct{}
diff --git a/game/pkg/consumer/game/basketball.go b/compatibility/game/pkg/consumer/game/basketball.go
similarity index 94%
rename from game/pkg/consumer/game/basketball.go
rename to compatibility/game/pkg/consumer/game/basketball.go
index 67a23c15..4e733e4b 100644
--- a/game/pkg/consumer/game/basketball.go
+++ b/compatibility/game/pkg/consumer/game/basketball.go
@@ -22,7 +22,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 type BasketballService struct {
diff --git a/game/pkg/consumer/gate/basketball.go b/compatibility/game/pkg/consumer/gate/basketball.go
similarity index 94%
rename from game/pkg/consumer/gate/basketball.go
rename to compatibility/game/pkg/consumer/gate/basketball.go
index c596c20a..d342cf63 100644
--- a/game/pkg/consumer/gate/basketball.go
+++ b/compatibility/game/pkg/consumer/gate/basketball.go
@@ -22,7 +22,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 type BasketballService struct {
diff --git a/game/pkg/pojo/info.go b/compatibility/game/pkg/pojo/info.go
similarity index 100%
rename from game/pkg/pojo/info.go
rename to compatibility/game/pkg/pojo/info.go
diff --git a/game/pkg/pojo/result.go b/compatibility/game/pkg/pojo/result.go
similarity index 100%
rename from game/pkg/pojo/result.go
rename to compatibility/game/pkg/pojo/result.go
diff --git a/game/website/css/style.css b/compatibility/game/website/css/style.css
similarity index 94%
rename from game/website/css/style.css
rename to compatibility/game/website/css/style.css
index 5f21f5a5..66dffa0d 100644
--- a/game/website/css/style.css
+++ b/compatibility/game/website/css/style.css
@@ -15,7 +15,7 @@
     color: white;
 }
 .background{
-    background-image: url('../img/bac.png');
+    background-image: url('bac.png');
     position: absolute;
     background-size: 100% 100%;
     background-repeat: no-repeat;
diff --git a/game/website/img/bac.png b/compatibility/game/website/img/bac.png
similarity index 100%
rename from game/website/img/bac.png
rename to compatibility/game/website/img/bac.png
diff --git a/game/website/index.html b/compatibility/game/website/index.html
similarity index 100%
rename from game/website/index.html
rename to compatibility/game/website/index.html
diff --git a/game/website/js/api.js b/compatibility/game/website/js/api.js
similarity index 100%
rename from game/website/js/api.js
rename to compatibility/game/website/js/api.js
diff --git a/game/website/js/index.js b/compatibility/game/website/js/index.js
similarity index 100%
rename from game/website/js/index.js
rename to compatibility/game/website/js/index.js
diff --git a/generic/README.md b/compatibility/generic/README.md
similarity index 100%
rename from generic/README.md
rename to compatibility/generic/README.md
diff --git a/generic/README_zh.md b/compatibility/generic/README_zh.md
similarity index 100%
rename from generic/README_zh.md
rename to compatibility/generic/README_zh.md
diff --git a/generic/default/go-client/cmd/client.go b/compatibility/generic/default/go-client/cmd/client.go
similarity index 98%
rename from generic/default/go-client/cmd/client.go
rename to compatibility/generic/default/go-client/cmd/client.go
index 2315c22b..75002fe6 100644
--- a/generic/default/go-client/cmd/client.go
+++ b/compatibility/generic/default/go-client/cmd/client.go
@@ -36,7 +36,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/generic/default/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/generic/default/go-client/pkg"
 )
 
 const appName = "dubbo.io"
diff --git a/generic/default/go-client/pkg/user.go b/compatibility/generic/default/go-client/pkg/user.go
similarity index 100%
rename from generic/default/go-client/pkg/user.go
rename to compatibility/generic/default/go-client/pkg/user.go
diff --git a/generic/default/go-server/cmd/server.go b/compatibility/generic/default/go-server/cmd/server.go
similarity index 95%
rename from generic/default/go-server/cmd/server.go
rename to compatibility/generic/default/go-server/cmd/server.go
index 1f5c5a33..5a249d80 100644
--- a/generic/default/go-server/cmd/server.go
+++ b/compatibility/generic/default/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/generic/default/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/generic/default/go-server/pkg"
 )
 
 // export DUBBO_GO_CONFIG_PATH= PATH_TO_SAMPLES/generic/default/go-server/conf/dubbogo.yml
diff --git a/generic/default/go-server/conf/dubbogo.yml b/compatibility/generic/default/go-server/conf/dubbogo.yml
similarity index 100%
rename from generic/default/go-server/conf/dubbogo.yml
rename to compatibility/generic/default/go-server/conf/dubbogo.yml
diff --git a/generic/default/go-server/pkg/init.go b/compatibility/generic/default/go-server/pkg/init.go
similarity index 100%
rename from generic/default/go-server/pkg/init.go
rename to compatibility/generic/default/go-server/pkg/init.go
diff --git a/generic/default/go-server/pkg/user.go b/compatibility/generic/default/go-server/pkg/user.go
similarity index 100%
rename from generic/default/go-server/pkg/user.go
rename to compatibility/generic/default/go-server/pkg/user.go
diff --git a/generic/default/go-server/pkg/user_provider.go b/compatibility/generic/default/go-server/pkg/user_provider.go
similarity index 100%
rename from generic/default/go-server/pkg/user_provider.go
rename to compatibility/generic/default/go-server/pkg/user_provider.go
diff --git a/generic/default/go-server/pkg/user_provider_triple.go b/compatibility/generic/default/go-server/pkg/user_provider_triple.go
similarity index 100%
rename from generic/default/go-server/pkg/user_provider_triple.go
rename to compatibility/generic/default/go-server/pkg/user_provider_triple.go
diff --git a/generic/default/go-server/pkg/user_response.go b/compatibility/generic/default/go-server/pkg/user_response.go
similarity index 100%
rename from generic/default/go-server/pkg/user_response.go
rename to compatibility/generic/default/go-server/pkg/user_response.go
diff --git a/generic/default/java-client/pom.xml b/compatibility/generic/default/java-client/pom.xml
similarity index 100%
rename from generic/default/java-client/pom.xml
rename to compatibility/generic/default/java-client/pom.xml
diff --git a/generic/default/java-client/run.sh b/compatibility/generic/default/java-client/run.sh
similarity index 100%
rename from generic/default/java-client/run.sh
rename to compatibility/generic/default/java-client/run.sh
diff --git a/generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java b/compatibility/generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java
similarity index 100%
rename from generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java
rename to compatibility/generic/default/java-client/src/main/java/org/apache/dubbo/samples/ApiConsumer.java
diff --git a/generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java b/compatibility/generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java
similarity index 100%
rename from generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java
rename to compatibility/generic/default/java-client/src/main/java/org/apache/dubbo/samples/User.java
diff --git a/generic/default/java-client/src/main/resources/log4j.properties b/compatibility/generic/default/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from generic/default/java-client/src/main/resources/log4j.properties
rename to compatibility/generic/default/java-client/src/main/resources/log4j.properties
diff --git a/generic/default/java-server/pom.xml b/compatibility/generic/default/java-server/pom.xml
similarity index 100%
rename from generic/default/java-server/pom.xml
rename to compatibility/generic/default/java-server/pom.xml
diff --git a/generic/default/java-server/run.sh b/compatibility/generic/default/java-server/run.sh
similarity index 100%
rename from generic/default/java-server/run.sh
rename to compatibility/generic/default/java-server/run.sh
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/ApiProvider.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Gender.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/Response.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/User.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProvider.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderImpl.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTriple.java
diff --git a/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java b/compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java
similarity index 100%
rename from generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java
rename to compatibility/generic/default/java-server/src/main/java/org/apache/dubbo/samples/UserProviderTripleImpl.java
diff --git a/generic/default/java-server/src/main/resources/log4j.properties b/compatibility/generic/default/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from generic/default/java-server/src/main/resources/log4j.properties
rename to compatibility/generic/default/java-server/src/main/resources/log4j.properties
diff --git a/logger/README.md b/compatibility/logger/README.md
similarity index 100%
rename from logger/README.md
rename to compatibility/logger/README.md
diff --git a/logger/README_zh.md b/compatibility/logger/README_zh.md
similarity index 100%
rename from logger/README_zh.md
rename to compatibility/logger/README_zh.md
diff --git a/logger/custom/cmd/main.go b/compatibility/logger/custom/cmd/main.go
similarity index 98%
rename from logger/custom/cmd/main.go
rename to compatibility/logger/custom/cmd/main.go
index b7aef052..3302ccfc 100644
--- a/logger/custom/cmd/main.go
+++ b/compatibility/logger/custom/cmd/main.go
@@ -32,7 +32,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/logger/custom/conf/dubbogo.yml b/compatibility/logger/custom/conf/dubbogo.yml
similarity index 100%
rename from logger/custom/conf/dubbogo.yml
rename to compatibility/logger/custom/conf/dubbogo.yml
diff --git a/logger/default/cmd/main.go b/compatibility/logger/default/cmd/main.go
similarity index 96%
rename from logger/default/cmd/main.go
rename to compatibility/logger/default/cmd/main.go
index 77fbdd7c..2d701edd 100644
--- a/logger/default/cmd/main.go
+++ b/compatibility/logger/default/cmd/main.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/logger/default/conf/dubbogo.yml b/compatibility/logger/default/conf/dubbogo.yml
similarity index 100%
rename from logger/default/conf/dubbogo.yml
rename to compatibility/logger/default/conf/dubbogo.yml
diff --git a/logger/level/cmd/main.go b/compatibility/logger/level/cmd/main.go
similarity index 96%
rename from logger/level/cmd/main.go
rename to compatibility/logger/level/cmd/main.go
index 3fa76ad8..cb63999e 100644
--- a/logger/level/cmd/main.go
+++ b/compatibility/logger/level/cmd/main.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/logger/level/conf/dubbogo.yml b/compatibility/logger/level/conf/dubbogo.yml
similarity index 100%
rename from logger/level/conf/dubbogo.yml
rename to compatibility/logger/level/conf/dubbogo.yml
diff --git a/logger/rolling/cmd/main.go b/compatibility/logger/rolling/cmd/main.go
similarity index 96%
rename from logger/rolling/cmd/main.go
rename to compatibility/logger/rolling/cmd/main.go
index ea1c6f61..111c0c94 100644
--- a/logger/rolling/cmd/main.go
+++ b/compatibility/logger/rolling/cmd/main.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/logger/rolling/conf/dubbogo.yml b/compatibility/logger/rolling/conf/dubbogo.yml
similarity index 100%
rename from logger/rolling/conf/dubbogo.yml
rename to compatibility/logger/rolling/conf/dubbogo.yml
diff --git a/mesh/README.md b/compatibility/mesh/README.md
similarity index 100%
rename from mesh/README.md
rename to compatibility/mesh/README.md
diff --git a/mesh/deploy/Namespace.yml b/compatibility/mesh/deploy/Namespace.yml
similarity index 100%
rename from mesh/deploy/Namespace.yml
rename to compatibility/mesh/deploy/Namespace.yml
diff --git a/mesh/deploy/consumer/Deployment.yml b/compatibility/mesh/deploy/consumer/Deployment.yml
similarity index 100%
rename from mesh/deploy/consumer/Deployment.yml
rename to compatibility/mesh/deploy/consumer/Deployment.yml
diff --git a/mesh/deploy/consumer/Service.yml b/compatibility/mesh/deploy/consumer/Service.yml
similarity index 100%
rename from mesh/deploy/consumer/Service.yml
rename to compatibility/mesh/deploy/consumer/Service.yml
diff --git a/mesh/deploy/provider/Deployment-v2.yml b/compatibility/mesh/deploy/provider/Deployment-v2.yml
similarity index 100%
rename from mesh/deploy/provider/Deployment-v2.yml
rename to compatibility/mesh/deploy/provider/Deployment-v2.yml
diff --git a/mesh/deploy/provider/Deployment.yml b/compatibility/mesh/deploy/provider/Deployment.yml
similarity index 100%
rename from mesh/deploy/provider/Deployment.yml
rename to compatibility/mesh/deploy/provider/Deployment.yml
diff --git a/mesh/deploy/provider/Service.yml b/compatibility/mesh/deploy/provider/Service.yml
similarity index 100%
rename from mesh/deploy/provider/Service.yml
rename to compatibility/mesh/deploy/provider/Service.yml
diff --git a/mesh/deploy/traffic/virtual-service.yml b/compatibility/mesh/deploy/traffic/virtual-service.yml
similarity index 100%
rename from mesh/deploy/traffic/virtual-service.yml
rename to compatibility/mesh/deploy/traffic/virtual-service.yml
diff --git a/mesh/go-client/Dockerfile b/compatibility/mesh/go-client/Dockerfile
similarity index 100%
rename from mesh/go-client/Dockerfile
rename to compatibility/mesh/go-client/Dockerfile
diff --git a/proxyless/go-client/cmd/client.go b/compatibility/mesh/go-client/cmd/client.go
similarity index 96%
rename from proxyless/go-client/cmd/client.go
rename to compatibility/mesh/go-client/cmd/client.go
index 7e381ee4..7044a2dc 100644
--- a/proxyless/go-client/cmd/client.go
+++ b/compatibility/mesh/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/mesh/go-client/conf/dubbogo.yml b/compatibility/mesh/go-client/conf/dubbogo.yml
similarity index 100%
rename from mesh/go-client/conf/dubbogo.yml
rename to compatibility/mesh/go-client/conf/dubbogo.yml
diff --git a/mesh/go-client/go.mod b/compatibility/mesh/go-client/go.mod
similarity index 100%
rename from mesh/go-client/go.mod
rename to compatibility/mesh/go-client/go.mod
diff --git a/mesh/go-client/go.sum b/compatibility/mesh/go-client/go.sum
similarity index 100%
rename from mesh/go-client/go.sum
rename to compatibility/mesh/go-client/go.sum
diff --git a/mesh/go-server/Dockerfile b/compatibility/mesh/go-server/Dockerfile
similarity index 100%
rename from mesh/go-server/Dockerfile
rename to compatibility/mesh/go-server/Dockerfile
diff --git a/mesh/go-server/cmd/server.go b/compatibility/mesh/go-server/cmd/server.go
similarity index 97%
rename from mesh/go-server/cmd/server.go
rename to compatibility/mesh/go-server/cmd/server.go
index 7df2a1d2..0b94e048 100644
--- a/mesh/go-server/cmd/server.go
+++ b/compatibility/mesh/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/mesh/go-server/conf/dubbogo.yml b/compatibility/mesh/go-server/conf/dubbogo.yml
similarity index 100%
rename from mesh/go-server/conf/dubbogo.yml
rename to compatibility/mesh/go-server/conf/dubbogo.yml
diff --git a/mesh/go-server/go.mod b/compatibility/mesh/go-server/go.mod
similarity index 100%
rename from mesh/go-server/go.mod
rename to compatibility/mesh/go-server/go.mod
diff --git a/mesh/go-server/go.sum b/compatibility/mesh/go-server/go.sum
similarity index 100%
rename from mesh/go-server/go.sum
rename to compatibility/mesh/go-server/go.sum
diff --git a/metrics/go-client/cmd/client.go b/compatibility/metrics/go-client/cmd/client.go
similarity index 96%
rename from metrics/go-client/cmd/client.go
rename to compatibility/metrics/go-client/cmd/client.go
index 87f4905a..d4be1b65 100644
--- a/metrics/go-client/cmd/client.go
+++ b/compatibility/metrics/go-client/cmd/client.go
@@ -24,7 +24,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 
 	"github.com/dubbogo/gost/log/logger"
 )
diff --git a/metrics/go-client/conf/dubbogo.yml b/compatibility/metrics/go-client/conf/dubbogo.yml
similarity index 100%
rename from metrics/go-client/conf/dubbogo.yml
rename to compatibility/metrics/go-client/conf/dubbogo.yml
diff --git a/metrics/go-server/cmd/server.go b/compatibility/metrics/go-server/cmd/server.go
similarity index 96%
rename from metrics/go-server/cmd/server.go
rename to compatibility/metrics/go-server/cmd/server.go
index 06a45cc9..322502ca 100644
--- a/metrics/go-server/cmd/server.go
+++ b/compatibility/metrics/go-server/cmd/server.go
@@ -24,7 +24,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 
 	"github.com/dubbogo/gost/log/logger"
 )
diff --git a/metrics/go-server/conf/dubbogo.yml b/compatibility/metrics/go-server/conf/dubbogo.yml
similarity index 100%
rename from metrics/go-server/conf/dubbogo.yml
rename to compatibility/metrics/go-server/conf/dubbogo.yml
diff --git a/otel/trace/config/config.go b/compatibility/otel/trace/config/config.go
similarity index 100%
rename from otel/trace/config/config.go
rename to compatibility/otel/trace/config/config.go
diff --git a/otel/trace/go-client/cmd/main.go b/compatibility/otel/trace/go-client/cmd/main.go
similarity index 91%
rename from otel/trace/go-client/cmd/main.go
rename to compatibility/otel/trace/go-client/cmd/main.go
index abc9f668..b6e20430 100644
--- a/otel/trace/go-client/cmd/main.go
+++ b/compatibility/otel/trace/go-client/cmd/main.go
@@ -30,8 +30,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
-	otelconfig "github.com/apache/dubbo-go-samples/otel/trace/config"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
+	otelconfig "github.com/apache/dubbo-go-samples/compatibility/otel/trace/config"
 )
 
 var userProvider = &api.GreeterClientImpl{}
diff --git a/otel/trace/go-client/conf/dubbogo.yaml b/compatibility/otel/trace/go-client/conf/dubbogo.yaml
similarity index 100%
rename from otel/trace/go-client/conf/dubbogo.yaml
rename to compatibility/otel/trace/go-client/conf/dubbogo.yaml
diff --git a/otel/trace/go-server/cmd/main.go b/compatibility/otel/trace/go-server/cmd/main.go
similarity index 92%
rename from otel/trace/go-server/cmd/main.go
rename to compatibility/otel/trace/go-server/cmd/main.go
index d525578a..c2a18fb7 100644
--- a/otel/trace/go-server/cmd/main.go
+++ b/compatibility/otel/trace/go-server/cmd/main.go
@@ -30,8 +30,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
-	otelconfig "github.com/apache/dubbo-go-samples/otel/trace/config"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
+	otelconfig "github.com/apache/dubbo-go-samples/compatibility/otel/trace/config"
 )
 
 type GreeterProvider struct {
diff --git a/otel/trace/go-server/conf/dubbogo.yaml b/compatibility/otel/trace/go-server/conf/dubbogo.yaml
similarity index 100%
rename from otel/trace/go-server/conf/dubbogo.yaml
rename to compatibility/otel/trace/go-server/conf/dubbogo.yaml
diff --git a/polaris/limit/README-zh.md b/compatibility/polaris/limit/README-zh.md
similarity index 97%
rename from polaris/limit/README-zh.md
rename to compatibility/polaris/limit/README-zh.md
index 70d059d0..ea1cec86 100644
--- a/polaris/limit/README-zh.md
+++ b/compatibility/polaris/limit/README-zh.md
@@ -1,6 +1,6 @@
 # Dubbo Go & Polaris TpsLimiter Example
 
-[English](./README.md) | 中文
+[English](README.md) | 中文
 
 ## 使用服务限流功能
 
@@ -42,7 +42,7 @@ dubbo:
 
 dubbogo 中的 PolarisMesh TpsLimiter 扩展点实现,能够根据用户配置的限流规则,自动的从当前 RPC 调用上下文以及请求信息中识别出需要参与限流的请求标签信息
 
-![](./images/dubbogo-ratelimit-rule.png)
+![](images/dubbogo-ratelimit-rule.png)
 
 - 请求匹配规则为 **请求参数(QUERY)**
   - 标签来源: RPC 调用中方法的入参,即 Invoaction.Arguments()
diff --git a/polaris/limit/README.md b/compatibility/polaris/limit/README.md
similarity index 97%
rename from polaris/limit/README.md
rename to compatibility/polaris/limit/README.md
index 74a1c08c..11c2bb89 100644
--- a/polaris/limit/README.md
+++ b/compatibility/polaris/limit/README.md
@@ -1,6 +1,6 @@
 # Dubbo Go & Polaris TpsLimiter Example
 
-English | [中文](./README-zh.md)
+English | [中文](README-zh.md)
 
 ## Use the service current limit function
 
@@ -42,7 +42,7 @@ Note: The service current limiting capability of PolarisMesh works on the Provid
 
 The implementation of the PolarisMesh TpsLimiter extension point in dubbogo can automatically identify the request tag information that needs to participate in current limiting from the current RPC call context and request information according to the current limiting rules configured by the user.
 
-![](./images/dubbogo-ratelimit-rule.png)
+![](images/dubbogo-ratelimit-rule.png)
 
 - The request matching rule is **Request parameter(QUERY)**
   - Tag source: the input parameter of the method in the RPC call, namely Invoaction.Arguments()
diff --git a/polaris/limit/go-client/cmd/main.go b/compatibility/polaris/limit/go-client/cmd/main.go
similarity index 100%
rename from polaris/limit/go-client/cmd/main.go
rename to compatibility/polaris/limit/go-client/cmd/main.go
diff --git a/polaris/limit/go-client/conf/dubbogo.yml b/compatibility/polaris/limit/go-client/conf/dubbogo.yml
similarity index 100%
rename from polaris/limit/go-client/conf/dubbogo.yml
rename to compatibility/polaris/limit/go-client/conf/dubbogo.yml
diff --git a/polaris/limit/go-server/cmd/server.go b/compatibility/polaris/limit/go-server/cmd/server.go
similarity index 100%
rename from polaris/limit/go-server/cmd/server.go
rename to compatibility/polaris/limit/go-server/cmd/server.go
diff --git a/polaris/limit/go-server/conf/dubbogo.yml b/compatibility/polaris/limit/go-server/conf/dubbogo.yml
similarity index 100%
rename from polaris/limit/go-server/conf/dubbogo.yml
rename to compatibility/polaris/limit/go-server/conf/dubbogo.yml
diff --git a/polaris/limit/images/dubbogo-ratelimit-rule.png b/compatibility/polaris/limit/images/dubbogo-ratelimit-rule.png
similarity index 100%
rename from polaris/limit/images/dubbogo-ratelimit-rule.png
rename to compatibility/polaris/limit/images/dubbogo-ratelimit-rule.png
diff --git a/polaris/registry/README-zh.md b/compatibility/polaris/registry/README-zh.md
similarity index 98%
rename from polaris/registry/README-zh.md
rename to compatibility/polaris/registry/README-zh.md
index 82a40424..a13c2aab 100644
--- a/polaris/registry/README-zh.md
+++ b/compatibility/polaris/registry/README-zh.md
@@ -1,6 +1,6 @@
 # Dubbo Go & Polaris Registry Example
 
-English | [中文](./README-zh.md)
+English | [中文](README-zh.md)
 
 ## 使用服务注册发现功能
 
diff --git a/polaris/registry/README.md b/compatibility/polaris/registry/README.md
similarity index 98%
rename from polaris/registry/README.md
rename to compatibility/polaris/registry/README.md
index b93cc325..e6ea563f 100644
--- a/polaris/registry/README.md
+++ b/compatibility/polaris/registry/README.md
@@ -1,6 +1,6 @@
 # Dubbo Go & Polaris Registry Example
 
-English | [中文](./README-zh.md)
+English | [中文](README-zh.md)
 
 ## Using the service registration discovery function
 
diff --git a/polaris/registry/go-client/cmd/main.go b/compatibility/polaris/registry/go-client/cmd/main.go
similarity index 100%
rename from polaris/registry/go-client/cmd/main.go
rename to compatibility/polaris/registry/go-client/cmd/main.go
diff --git a/polaris/registry/go-client/conf/dubbogo.yml b/compatibility/polaris/registry/go-client/conf/dubbogo.yml
similarity index 100%
rename from polaris/registry/go-client/conf/dubbogo.yml
rename to compatibility/polaris/registry/go-client/conf/dubbogo.yml
diff --git a/polaris/registry/go-server/cmd/server.go b/compatibility/polaris/registry/go-server/cmd/server.go
similarity index 100%
rename from polaris/registry/go-server/cmd/server.go
rename to compatibility/polaris/registry/go-server/cmd/server.go
diff --git a/polaris/registry/go-server/conf/dubbogo.yml b/compatibility/polaris/registry/go-server/conf/dubbogo.yml
similarity index 100%
rename from polaris/registry/go-server/conf/dubbogo.yml
rename to compatibility/polaris/registry/go-server/conf/dubbogo.yml
diff --git a/polaris/router/README-zh.md b/compatibility/polaris/router/README-zh.md
similarity index 97%
rename from polaris/router/README-zh.md
rename to compatibility/polaris/router/README-zh.md
index 933ee346..be48668d 100644
--- a/polaris/router/README-zh.md
+++ b/compatibility/polaris/router/README-zh.md
@@ -1,6 +1,6 @@
 # Dubbo Go & Polaris Router Example
 
-[English](./README.md) | 中文
+[English](README.md) | 中文
 
 ## 使用服务路由功能
 
@@ -38,9 +38,9 @@ dubbo:
 
 dubbogo 中的 PolarisMesh PriorityRouter 扩展点实现,能够根据用户配置的服务路由规则,自动的从当前 RPC 调用上下文以及请求信息中识别出需要参与服务路由的请求标签信息
 
-![](./images/dubbogo-route-rule-prod.png)
-![](./images/dubbogo-route-rule-pre.png)
-![](./images/dubbogo-route-rule-dev.png)
+![](images/dubbogo-route-rule-prod.png)
+![](images/dubbogo-route-rule-pre.png)
+![](images/dubbogo-route-rule-dev.png)
 
 - 请求匹配规则为 **请求参数(QUERY)**
   - 标签来源: RPC 调用中方法的入参,即 Invoaction.Arguments()
diff --git a/polaris/router/README.md b/compatibility/polaris/router/README.md
similarity index 97%
rename from polaris/router/README.md
rename to compatibility/polaris/router/README.md
index c80aa783..a80804d8 100644
--- a/polaris/router/README.md
+++ b/compatibility/polaris/router/README.md
@@ -1,6 +1,6 @@
 # Dubbo Go & Polaris Router Example
 
-English | [中文](./README-zh.md)
+English | [中文](README-zh.md)
 
 ## Using the service routing function
 
@@ -38,9 +38,9 @@ dubbo:
 
 The implementation of the PolarisMesh PriorityRouter extension point in dubbogo can automatically identify the request label information that needs to participate in service routing from the current RPC call context and request information according to the service route rules configured by the user.
 
-![](./images/dubbogo-route-rule-prod.png)
-![](./images/dubbogo-route-rule-pre.png)
-![](./images/dubbogo-route-rule-dev.png)
+![](images/dubbogo-route-rule-prod.png)
+![](images/dubbogo-route-rule-pre.png)
+![](images/dubbogo-route-rule-dev.png)
 
 - The request matching rule is **Request parameter(QUERY)**
   - Tag source: the input parameter of the method in the RPC call, namely Invoaction.Arguments()
diff --git a/polaris/router/go-client/cmd/main.go b/compatibility/polaris/router/go-client/cmd/main.go
similarity index 100%
rename from polaris/router/go-client/cmd/main.go
rename to compatibility/polaris/router/go-client/cmd/main.go
diff --git a/polaris/router/go-client/conf/dubbogo.yaml b/compatibility/polaris/router/go-client/conf/dubbogo.yaml
similarity index 100%
rename from polaris/router/go-client/conf/dubbogo.yaml
rename to compatibility/polaris/router/go-client/conf/dubbogo.yaml
diff --git a/polaris/router/go-server/server-dev/cmd/server.go b/compatibility/polaris/router/go-server/server-dev/cmd/server.go
similarity index 100%
rename from polaris/router/go-server/server-dev/cmd/server.go
rename to compatibility/polaris/router/go-server/server-dev/cmd/server.go
diff --git a/polaris/router/go-server/server-dev/conf/dubbogo.yaml b/compatibility/polaris/router/go-server/server-dev/conf/dubbogo.yaml
similarity index 100%
rename from polaris/router/go-server/server-dev/conf/dubbogo.yaml
rename to compatibility/polaris/router/go-server/server-dev/conf/dubbogo.yaml
diff --git a/polaris/router/go-server/server-pre/cmd/server.go b/compatibility/polaris/router/go-server/server-pre/cmd/server.go
similarity index 100%
rename from polaris/router/go-server/server-pre/cmd/server.go
rename to compatibility/polaris/router/go-server/server-pre/cmd/server.go
diff --git a/polaris/router/go-server/server-pre/conf/dubbogo.yaml b/compatibility/polaris/router/go-server/server-pre/conf/dubbogo.yaml
similarity index 100%
rename from polaris/router/go-server/server-pre/conf/dubbogo.yaml
rename to compatibility/polaris/router/go-server/server-pre/conf/dubbogo.yaml
diff --git a/polaris/router/go-server/server-prod/cmd/server.go b/compatibility/polaris/router/go-server/server-prod/cmd/server.go
similarity index 100%
rename from polaris/router/go-server/server-prod/cmd/server.go
rename to compatibility/polaris/router/go-server/server-prod/cmd/server.go
diff --git a/polaris/router/go-server/server-prod/conf/dubbogo.yaml b/compatibility/polaris/router/go-server/server-prod/conf/dubbogo.yaml
similarity index 100%
rename from polaris/router/go-server/server-prod/conf/dubbogo.yaml
rename to compatibility/polaris/router/go-server/server-prod/conf/dubbogo.yaml
diff --git a/polaris/router/images/dubbogo-route-rule-dev.png b/compatibility/polaris/router/images/dubbogo-route-rule-dev.png
similarity index 100%
rename from polaris/router/images/dubbogo-route-rule-dev.png
rename to compatibility/polaris/router/images/dubbogo-route-rule-dev.png
diff --git a/polaris/router/images/dubbogo-route-rule-pre.png b/compatibility/polaris/router/images/dubbogo-route-rule-pre.png
similarity index 100%
rename from polaris/router/images/dubbogo-route-rule-pre.png
rename to compatibility/polaris/router/images/dubbogo-route-rule-pre.png
diff --git a/polaris/router/images/dubbogo-route-rule-prod.png b/compatibility/polaris/router/images/dubbogo-route-rule-prod.png
similarity index 100%
rename from polaris/router/images/dubbogo-route-rule-prod.png
rename to compatibility/polaris/router/images/dubbogo-route-rule-prod.png
diff --git a/proxyless/README.md b/compatibility/proxyless/README.md
similarity index 100%
rename from proxyless/README.md
rename to compatibility/proxyless/README.md
diff --git a/proxyless/deploy/Namespace.yml b/compatibility/proxyless/deploy/Namespace.yml
similarity index 100%
rename from proxyless/deploy/Namespace.yml
rename to compatibility/proxyless/deploy/Namespace.yml
diff --git a/proxyless/deploy/consumer/Deployment.yml b/compatibility/proxyless/deploy/consumer/Deployment.yml
similarity index 100%
rename from proxyless/deploy/consumer/Deployment.yml
rename to compatibility/proxyless/deploy/consumer/Deployment.yml
diff --git a/proxyless/deploy/consumer/Service.yml b/compatibility/proxyless/deploy/consumer/Service.yml
similarity index 100%
rename from proxyless/deploy/consumer/Service.yml
rename to compatibility/proxyless/deploy/consumer/Service.yml
diff --git a/proxyless/deploy/provider/Deployment-v2.yml b/compatibility/proxyless/deploy/provider/Deployment-v2.yml
similarity index 100%
rename from proxyless/deploy/provider/Deployment-v2.yml
rename to compatibility/proxyless/deploy/provider/Deployment-v2.yml
diff --git a/proxyless/deploy/provider/Deployment.yml b/compatibility/proxyless/deploy/provider/Deployment.yml
similarity index 100%
rename from proxyless/deploy/provider/Deployment.yml
rename to compatibility/proxyless/deploy/provider/Deployment.yml
diff --git a/proxyless/deploy/provider/Service.yml b/compatibility/proxyless/deploy/provider/Service.yml
similarity index 100%
rename from proxyless/deploy/provider/Service.yml
rename to compatibility/proxyless/deploy/provider/Service.yml
diff --git a/proxyless/deploy/traffic/virtual-service.yml b/compatibility/proxyless/deploy/traffic/virtual-service.yml
similarity index 100%
rename from proxyless/deploy/traffic/virtual-service.yml
rename to compatibility/proxyless/deploy/traffic/virtual-service.yml
diff --git a/proxyless/go-client/Dockerfile b/compatibility/proxyless/go-client/Dockerfile
similarity index 100%
rename from proxyless/go-client/Dockerfile
rename to compatibility/proxyless/go-client/Dockerfile
diff --git a/mesh/go-client/cmd/client.go b/compatibility/proxyless/go-client/cmd/client.go
similarity index 96%
rename from mesh/go-client/cmd/client.go
rename to compatibility/proxyless/go-client/cmd/client.go
index 7e381ee4..7044a2dc 100644
--- a/mesh/go-client/cmd/client.go
+++ b/compatibility/proxyless/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/proxyless/go-client/conf/dubbogo.yml b/compatibility/proxyless/go-client/conf/dubbogo.yml
similarity index 100%
rename from proxyless/go-client/conf/dubbogo.yml
rename to compatibility/proxyless/go-client/conf/dubbogo.yml
diff --git a/proxyless/go-client/go.mod b/compatibility/proxyless/go-client/go.mod
similarity index 100%
rename from proxyless/go-client/go.mod
rename to compatibility/proxyless/go-client/go.mod
diff --git a/proxyless/go-client/go.sum b/compatibility/proxyless/go-client/go.sum
similarity index 100%
rename from proxyless/go-client/go.sum
rename to compatibility/proxyless/go-client/go.sum
diff --git a/proxyless/go-server/Dockerfile b/compatibility/proxyless/go-server/Dockerfile
similarity index 100%
rename from proxyless/go-server/Dockerfile
rename to compatibility/proxyless/go-server/Dockerfile
diff --git a/proxyless/go-server/cmd/server.go b/compatibility/proxyless/go-server/cmd/server.go
similarity index 97%
rename from proxyless/go-server/cmd/server.go
rename to compatibility/proxyless/go-server/cmd/server.go
index 7df2a1d2..0b94e048 100644
--- a/proxyless/go-server/cmd/server.go
+++ b/compatibility/proxyless/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/proxyless/go-server/conf/dubbogo.yml b/compatibility/proxyless/go-server/conf/dubbogo.yml
similarity index 100%
rename from proxyless/go-server/conf/dubbogo.yml
rename to compatibility/proxyless/go-server/conf/dubbogo.yml
diff --git a/proxyless/go-server/go.mod b/compatibility/proxyless/go-server/go.mod
similarity index 100%
rename from proxyless/go-server/go.mod
rename to compatibility/proxyless/go-server/go.mod
diff --git a/proxyless/go-server/go.sum b/compatibility/proxyless/go-server/go.sum
similarity index 100%
rename from proxyless/go-server/go.sum
rename to compatibility/proxyless/go-server/go.sum
diff --git a/compatibility/registry/all/nacos/go-client/cmd/client.go b/compatibility/registry/all/nacos/go-client/cmd/client.go
index e87c584f..b4bf116f 100644
--- a/compatibility/registry/all/nacos/go-client/cmd/client.go
+++ b/compatibility/registry/all/nacos/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = &api.GreeterClientImpl{}
diff --git a/compatibility/registry/all/nacos/go-server/cmd/server.go b/compatibility/registry/all/nacos/go-server/cmd/server.go
index 9f473d98..f069bbd1 100644
--- a/compatibility/registry/all/nacos/go-server/cmd/server.go
+++ b/compatibility/registry/all/nacos/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/compatibility/registry/all/zookeeper/go-client/cmd/client.go b/compatibility/registry/all/zookeeper/go-client/cmd/client.go
index e87c584f..b4bf116f 100644
--- a/compatibility/registry/all/zookeeper/go-client/cmd/client.go
+++ b/compatibility/registry/all/zookeeper/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = &api.GreeterClientImpl{}
diff --git a/compatibility/registry/all/zookeeper/go-server/cmd/server.go b/compatibility/registry/all/zookeeper/go-server/cmd/server.go
index 9f473d98..f069bbd1 100644
--- a/compatibility/registry/all/zookeeper/go-server/cmd/server.go
+++ b/compatibility/registry/all/zookeeper/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/compatibility/registry/servicediscovery/nacos/go-client/cmd/client.go b/compatibility/registry/servicediscovery/nacos/go-client/cmd/client.go
index e87c584f..b4bf116f 100644
--- a/compatibility/registry/servicediscovery/nacos/go-client/cmd/client.go
+++ b/compatibility/registry/servicediscovery/nacos/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = &api.GreeterClientImpl{}
diff --git a/compatibility/registry/servicediscovery/nacos/go-server/cmd/server.go b/compatibility/registry/servicediscovery/nacos/go-server/cmd/server.go
index 9f473d98..f069bbd1 100644
--- a/compatibility/registry/servicediscovery/nacos/go-server/cmd/server.go
+++ b/compatibility/registry/servicediscovery/nacos/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/compatibility/registry/servicediscovery/zookeeper/go-client/cmd/client.go b/compatibility/registry/servicediscovery/zookeeper/go-client/cmd/client.go
index e87c584f..b4bf116f 100644
--- a/compatibility/registry/servicediscovery/zookeeper/go-client/cmd/client.go
+++ b/compatibility/registry/servicediscovery/zookeeper/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = &api.GreeterClientImpl{}
diff --git a/compatibility/registry/servicediscovery/zookeeper/go-server/cmd/server.go b/compatibility/registry/servicediscovery/zookeeper/go-server/cmd/server.go
index 9f473d98..f069bbd1 100644
--- a/compatibility/registry/servicediscovery/zookeeper/go-server/cmd/server.go
+++ b/compatibility/registry/servicediscovery/zookeeper/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/compatibility/registry/zookeeper/go-client/cmd/client.go b/compatibility/registry/zookeeper/go-client/cmd/client.go
index e2a4da1e..68b36d4b 100644
--- a/compatibility/registry/zookeeper/go-client/cmd/client.go
+++ b/compatibility/registry/zookeeper/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImplWithCustomGroupAndVersion = &UserProviderWithCustomGroupAndVersion{GreeterClientImpl: api.GreeterClientImpl{}}
diff --git a/compatibility/registry/zookeeper/go-server/cmd/server.go b/compatibility/registry/zookeeper/go-server/cmd/server.go
index 07469555..cd4a506b 100644
--- a/compatibility/registry/zookeeper/go-server/cmd/server.go
+++ b/compatibility/registry/zookeeper/go-server/cmd/server.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var (
diff --git a/rpc/dubbo/README.md b/compatibility/rpc/dubbo/README.md
similarity index 100%
rename from rpc/dubbo/README.md
rename to compatibility/rpc/dubbo/README.md
diff --git a/rpc/dubbo/README_zh.md b/compatibility/rpc/dubbo/README_zh.md
similarity index 100%
rename from rpc/dubbo/README_zh.md
rename to compatibility/rpc/dubbo/README_zh.md
diff --git a/rpc/dubbo/go-client/cmd/client.go b/compatibility/rpc/dubbo/go-client/cmd/client.go
similarity index 97%
rename from rpc/dubbo/go-client/cmd/client.go
rename to compatibility/rpc/dubbo/go-client/cmd/client.go
index 188b0379..d99bd04b 100644
--- a/rpc/dubbo/go-client/cmd/client.go
+++ b/compatibility/rpc/dubbo/go-client/cmd/client.go
@@ -31,7 +31,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/dubbo/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/dubbo/go-client/pkg"
 )
 
 var (
diff --git a/rpc/dubbo/go-client/conf/dubbogo.yml b/compatibility/rpc/dubbo/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/dubbo/go-client/conf/dubbogo.yml
rename to compatibility/rpc/dubbo/go-client/conf/dubbogo.yml
diff --git a/rpc/dubbo/go-client/pkg/user.go b/compatibility/rpc/dubbo/go-client/pkg/user.go
similarity index 100%
rename from rpc/dubbo/go-client/pkg/user.go
rename to compatibility/rpc/dubbo/go-client/pkg/user.go
diff --git a/tls/dubbo/go-server/cmd/server.go b/compatibility/rpc/dubbo/go-server/cmd/server.go
similarity index 96%
rename from tls/dubbo/go-server/cmd/server.go
rename to compatibility/rpc/dubbo/go-server/cmd/server.go
index 5becd827..65a7dddf 100644
--- a/tls/dubbo/go-server/cmd/server.go
+++ b/compatibility/rpc/dubbo/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tls/dubbo/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/dubbo/go-server/pkg"
 )
 
 var (
diff --git a/rpc/dubbo/go-server/conf/dubbogo.yml b/compatibility/rpc/dubbo/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/dubbo/go-server/conf/dubbogo.yml
rename to compatibility/rpc/dubbo/go-server/conf/dubbogo.yml
diff --git a/rpc/dubbo/go-server/pkg/common_user_provider.go b/compatibility/rpc/dubbo/go-server/pkg/common_user_provider.go
similarity index 100%
rename from rpc/dubbo/go-server/pkg/common_user_provider.go
rename to compatibility/rpc/dubbo/go-server/pkg/common_user_provider.go
diff --git a/rpc/dubbo/go-server/pkg/complex_provider.go b/compatibility/rpc/dubbo/go-server/pkg/complex_provider.go
similarity index 100%
rename from rpc/dubbo/go-server/pkg/complex_provider.go
rename to compatibility/rpc/dubbo/go-server/pkg/complex_provider.go
diff --git a/rpc/dubbo/go-server/pkg/user.go b/compatibility/rpc/dubbo/go-server/pkg/user.go
similarity index 100%
rename from rpc/dubbo/go-server/pkg/user.go
rename to compatibility/rpc/dubbo/go-server/pkg/user.go
diff --git a/rpc/dubbo/go-server/pkg/user_provider.go b/compatibility/rpc/dubbo/go-server/pkg/user_provider.go
similarity index 100%
rename from rpc/dubbo/go-server/pkg/user_provider.go
rename to compatibility/rpc/dubbo/go-server/pkg/user_provider.go
diff --git a/rpc/dubbo/go-server/pkg/wrapper_array_class_provider.go b/compatibility/rpc/dubbo/go-server/pkg/wrapper_array_class_provider.go
similarity index 100%
rename from rpc/dubbo/go-server/pkg/wrapper_array_class_provider.go
rename to compatibility/rpc/dubbo/go-server/pkg/wrapper_array_class_provider.go
diff --git a/rpc/dubbo/java-client/pom.xml b/compatibility/rpc/dubbo/java-client/pom.xml
similarity index 100%
rename from rpc/dubbo/java-client/pom.xml
rename to compatibility/rpc/dubbo/java-client/pom.xml
diff --git a/rpc/dubbo/java-client/run.sh b/compatibility/rpc/dubbo/java-client/run.sh
similarity index 100%
rename from rpc/dubbo/java-client/run.sh
rename to compatibility/rpc/dubbo/java-client/run.sh
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexData.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexData.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexData.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexData.java
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexProvider.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexProvider.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexProvider.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/ComplexProvider.java
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Consumer.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Consumer.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Consumer.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Consumer.java
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Gender.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Gender.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Gender.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/Gender.java
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/User.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/User.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/User.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/User.java
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/UserProvider.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/UserProvider.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/UserProvider.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/UserProvider.java
diff --git a/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java b/compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java
similarity index 100%
rename from rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java
rename to compatibility/rpc/dubbo/java-client/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java
diff --git a/rpc/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml b/compatibility/rpc/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
similarity index 100%
rename from rpc/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
rename to compatibility/rpc/dubbo/java-client/src/main/resources/META-INF/spring/dubbo.consumer.xml
diff --git a/rpc/dubbo/java-client/src/main/resources/log4j.properties b/compatibility/rpc/dubbo/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from rpc/dubbo/java-client/src/main/resources/log4j.properties
rename to compatibility/rpc/dubbo/java-client/src/main/resources/log4j.properties
diff --git a/rpc/dubbo/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/compatibility/rpc/dubbo/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 100%
rename from rpc/dubbo/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
rename to compatibility/rpc/dubbo/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
diff --git a/rpc/dubbo/java-server/pom.xml b/compatibility/rpc/dubbo/java-server/pom.xml
similarity index 100%
rename from rpc/dubbo/java-server/pom.xml
rename to compatibility/rpc/dubbo/java-server/pom.xml
diff --git a/rpc/dubbo/java-server/run.sh b/compatibility/rpc/dubbo/java-server/run.sh
similarity index 100%
rename from rpc/dubbo/java-server/run.sh
rename to compatibility/rpc/dubbo/java-server/run.sh
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexData.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexData.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexData.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexData.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProvider.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProvider.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProvider.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProvider.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProviderImpl.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProviderImpl.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProviderImpl.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/ComplexProviderImpl.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Gender.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Gender.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Gender.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Gender.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Provider.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Provider.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Provider.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Provider.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Response.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Response.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Response.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/Response.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/User.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/User.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/User.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/User.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProvider.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProvider.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProvider.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProvider.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderAnotherImpl.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderAnotherImpl.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderAnotherImpl.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderAnotherImpl.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderImpl.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderImpl.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderImpl.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/UserProviderImpl.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProvider.java
diff --git a/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProviderImpl.java b/compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProviderImpl.java
similarity index 100%
rename from rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProviderImpl.java
rename to compatibility/rpc/dubbo/java-server/src/main/java/org/apache/dubbo/sample/WrapperArrayClassProviderImpl.java
diff --git a/rpc/dubbo/java-server/src/main/proto/helloworld.proto b/compatibility/rpc/dubbo/java-server/src/main/proto/helloworld.proto
similarity index 100%
rename from rpc/dubbo/java-server/src/main/proto/helloworld.proto
rename to compatibility/rpc/dubbo/java-server/src/main/proto/helloworld.proto
diff --git a/rpc/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml b/compatibility/rpc/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
similarity index 100%
rename from rpc/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
rename to compatibility/rpc/dubbo/java-server/src/main/resources/META-INF/spring/dubbo.provider.xml
diff --git a/rpc/dubbo/java-server/src/main/resources/log4j.properties b/compatibility/rpc/dubbo/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from rpc/dubbo/java-server/src/main/resources/log4j.properties
rename to compatibility/rpc/dubbo/java-server/src/main/resources/log4j.properties
diff --git a/rpc/grpc/README.md b/compatibility/rpc/grpc/README.md
similarity index 94%
rename from rpc/grpc/README.md
rename to compatibility/rpc/grpc/README.md
index c448f295..abd3c4bf 100644
--- a/rpc/grpc/README.md
+++ b/compatibility/rpc/grpc/README.md
@@ -1,36 +1,36 @@
-# gRPC example
-
-Dubbo 3.0 provides Triple (Dubbo3) and Dubbo2 protocols, which are native protocols of the Dubbo framework. In addition, Dubbo3 also integrates many third-party protocols and incorporates them into Dubbo's programming and service governance system, including gRPC, Thrift, JSON-RPC, Hessian2, REST, etc.
-
-**This example will introduce how to use the gRPC protocol**.
-
-## Run the example:
-
-Start zk and listen on port 127.0.0.1:2181.
-If zk is not installed, you can also use docker to directly execute the following commands to start all dependent components running samples: zk(2181), nacos(8848), etcd(2379).
-
-`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
-
-### Run via command line
-
-- Server
-
-`cd rpc/grpc/go-server/cmd` # enter the warehouse directory
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# Set configuration file environment variable
-
-`go run .` # Start the service
-
-- client
-
-`cd rpc/grpc/go-client/cmd` # enter the warehouse directory
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# Set configuration file environment variable
-
-`go run .` # Start the client to initiate a call
-
-### The call is successful
-
-After the client calls, you can see that the client prints the following information, and the call is successful:
-
+# gRPC example
+
+Dubbo 3.0 provides Triple (Dubbo3) and Dubbo2 protocols, which are native protocols of the Dubbo framework. In addition, Dubbo3 also integrates many third-party protocols and incorporates them into Dubbo's programming and service governance system, including gRPC, Thrift, JSON-RPC, Hessian2, REST, etc.
+
+**This example will introduce how to use the gRPC protocol**.
+
+## Run the example:
+
+Start zk and listen on port 127.0.0.1:2181.
+If zk is not installed, you can also use docker to directly execute the following commands to start all dependent components running samples: zk(2181), nacos(8848), etcd(2379).
+
+`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
+
+### Run via command line
+
+- Server
+
+`cd rpc/grpc/go-server/cmd` # enter the warehouse directory
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# Set configuration file environment variable
+
+`go run .` # Start the service
+
+- client
+
+`cd rpc/grpc/go-client/cmd` # enter the warehouse directory
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# Set configuration file environment variable
+
+`go run .` # Start the client to initiate a call
+
+### The call is successful
+
+After the client calls, you can see that the client prints the following information, and the call is successful:
+
 `[XXXX-XX-XX/XX:XX:XX main.main: client.go: 55] client response result: {this is message from reply {} [] 0}`
\ No newline at end of file
diff --git a/rpc/grpc/README_zh.md b/compatibility/rpc/grpc/README_zh.md
similarity index 97%
rename from rpc/grpc/README_zh.md
rename to compatibility/rpc/grpc/README_zh.md
index 144af92c..9d37f547 100644
--- a/rpc/grpc/README_zh.md
+++ b/compatibility/rpc/grpc/README_zh.md
@@ -1,36 +1,36 @@
-# gRPC 示例
-
-Dubbo 3.0 提供了 Triple(Dubbo3)、Dubbo2 协议,这两个是 Dubbo 框架的原生协议。 除此之外,Dubbo3 也对众多第三方协议进行了集成,并将它们纳入 Dubbo 的编程与服务治理体系, 包括 gRPC、Thrift、JSON-RPC、Hessian2、REST 等。
-
-**本示例将介绍 gRPC 协议的使用方法**。
-
-## 运行示例:
-
-启动zk,监听127.0.0.1:2181端口。
-若未安装 zk , 也可以借助 docker,直接执行下面的命令来启动所有运行samples的依赖组件:zk(2181), nacos(8848), etcd(2379)。
-
-`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
-
-### 通过命令行运行
-
-- 服务端
-
-`cd rpc/grpc/go-server/cmd` # 进入仓库目录
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# 设置配置文件环境变量
-
-`go run .` # 启动服务
-
-- 客户端
-
-`cd rpc/grpc/go-client/cmd` # 进入仓库目录
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# 设置配置文件环境变量
-
-`go run .` # 启动客户端发起调用
-
-### 调用成功
-
-客户端调用后,可看到客户端打印如下信息,调用成功:
-
-`[XXXX-XX-XX/XX:XX:XX main.main: client.go: 55] client response result: {this is message from reply {} [] 0}`
+# gRPC 示例
+
+Dubbo 3.0 提供了 Triple(Dubbo3)、Dubbo2 协议,这两个是 Dubbo 框架的原生协议。 除此之外,Dubbo3 也对众多第三方协议进行了集成,并将它们纳入 Dubbo 的编程与服务治理体系, 包括 gRPC、Thrift、JSON-RPC、Hessian2、REST 等。
+
+**本示例将介绍 gRPC 协议的使用方法**。
+
+## 运行示例:
+
+启动zk,监听127.0.0.1:2181端口。
+若未安装 zk , 也可以借助 docker,直接执行下面的命令来启动所有运行samples的依赖组件:zk(2181), nacos(8848), etcd(2379)。
+
+`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
+
+### 通过命令行运行
+
+- 服务端
+
+`cd rpc/grpc/go-server/cmd` # 进入仓库目录
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# 设置配置文件环境变量
+
+`go run .` # 启动服务
+
+- 客户端
+
+`cd rpc/grpc/go-client/cmd` # 进入仓库目录
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml"`# 设置配置文件环境变量
+
+`go run .` # 启动客户端发起调用
+
+### 调用成功
+
+客户端调用后,可看到客户端打印如下信息,调用成功:
+
+`[XXXX-XX-XX/XX:XX:XX main.main: client.go: 55] client response result: {this is message from reply {} [] 0}`
diff --git a/rpc/grpc/go-client/cmd/client.go b/compatibility/rpc/grpc/go-client/cmd/client.go
similarity index 95%
rename from rpc/grpc/go-client/cmd/client.go
rename to compatibility/rpc/grpc/go-client/cmd/client.go
index 1cda6ab5..f6dd14be 100644
--- a/rpc/grpc/go-client/cmd/client.go
+++ b/compatibility/rpc/grpc/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/rpc/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/rpc/grpc/protobuf"
 )
 
 var grpcGreeterImpl = new(pb.GreeterClientImpl)
diff --git a/rpc/grpc/go-client/conf/dubbogo.yml b/compatibility/rpc/grpc/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/grpc/go-client/conf/dubbogo.yml
rename to compatibility/rpc/grpc/go-client/conf/dubbogo.yml
diff --git a/rpc/grpc/go-server/cmd/server.go b/compatibility/rpc/grpc/go-server/cmd/server.go
similarity index 96%
rename from rpc/grpc/go-server/cmd/server.go
rename to compatibility/rpc/grpc/go-server/cmd/server.go
index cdb4a52d..3dd64439 100644
--- a/rpc/grpc/go-server/cmd/server.go
+++ b/compatibility/rpc/grpc/go-server/cmd/server.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/rpc/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/rpc/grpc/protobuf"
 )
 
 var (
diff --git a/rpc/grpc/go-server/conf/dubbogo.yml b/compatibility/rpc/grpc/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/grpc/go-server/conf/dubbogo.yml
rename to compatibility/rpc/grpc/go-server/conf/dubbogo.yml
diff --git a/rpc/grpc/protobuf/helloworld.pb.go b/compatibility/rpc/grpc/protobuf/helloworld.pb.go
similarity index 100%
rename from rpc/grpc/protobuf/helloworld.pb.go
rename to compatibility/rpc/grpc/protobuf/helloworld.pb.go
diff --git a/rpc/grpc/protobuf/helloworld.proto b/compatibility/rpc/grpc/protobuf/helloworld.proto
similarity index 100%
rename from rpc/grpc/protobuf/helloworld.proto
rename to compatibility/rpc/grpc/protobuf/helloworld.proto
diff --git a/rpc/grpc/protobuf/protobuf.mk b/compatibility/rpc/grpc/protobuf/protobuf.mk
similarity index 100%
rename from rpc/grpc/protobuf/protobuf.mk
rename to compatibility/rpc/grpc/protobuf/protobuf.mk
diff --git a/rpc/jsonrpc/README.md b/compatibility/rpc/jsonrpc/README.md
similarity index 100%
rename from rpc/jsonrpc/README.md
rename to compatibility/rpc/jsonrpc/README.md
diff --git a/rpc/jsonrpc/README_zh.md b/compatibility/rpc/jsonrpc/README_zh.md
similarity index 100%
rename from rpc/jsonrpc/README_zh.md
rename to compatibility/rpc/jsonrpc/README_zh.md
diff --git a/rpc/jsonrpc/go-client/cmd/client.go b/compatibility/rpc/jsonrpc/go-client/cmd/client.go
similarity index 98%
rename from rpc/jsonrpc/go-client/cmd/client.go
rename to compatibility/rpc/jsonrpc/go-client/cmd/client.go
index d68d8dd8..157ee075 100644
--- a/rpc/jsonrpc/go-client/cmd/client.go
+++ b/compatibility/rpc/jsonrpc/go-client/cmd/client.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/jsonrpc/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/jsonrpc/go-client/pkg"
 )
 
 var (
diff --git a/rpc/jsonrpc/go-client/conf/dubbogo.yml b/compatibility/rpc/jsonrpc/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/jsonrpc/go-client/conf/dubbogo.yml
rename to compatibility/rpc/jsonrpc/go-client/conf/dubbogo.yml
diff --git a/rpc/jsonrpc/go-client/pkg/user.go b/compatibility/rpc/jsonrpc/go-client/pkg/user.go
similarity index 100%
rename from rpc/jsonrpc/go-client/pkg/user.go
rename to compatibility/rpc/jsonrpc/go-client/pkg/user.go
diff --git a/rpc/jsonrpc/go-server/cmd/server.go b/compatibility/rpc/jsonrpc/go-server/cmd/server.go
similarity index 95%
rename from rpc/jsonrpc/go-server/cmd/server.go
rename to compatibility/rpc/jsonrpc/go-server/cmd/server.go
index 55fa3828..aae5d3d3 100644
--- a/rpc/jsonrpc/go-server/cmd/server.go
+++ b/compatibility/rpc/jsonrpc/go-server/cmd/server.go
@@ -33,7 +33,7 @@ import (
 )
 
 import (
-	_ "github.com/apache/dubbo-go-samples/rpc/jsonrpc/go-server/pkg"
+	_ "github.com/apache/dubbo-go-samples/compatibility/rpc/jsonrpc/go-server/pkg"
 )
 
 var (
diff --git a/rpc/jsonrpc/go-server/conf/dubbogo.yml b/compatibility/rpc/jsonrpc/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/jsonrpc/go-server/conf/dubbogo.yml
rename to compatibility/rpc/jsonrpc/go-server/conf/dubbogo.yml
diff --git a/rpc/jsonrpc/go-server/docker/docker-compose.yml b/compatibility/rpc/jsonrpc/go-server/docker/docker-compose.yml
similarity index 100%
rename from rpc/jsonrpc/go-server/docker/docker-compose.yml
rename to compatibility/rpc/jsonrpc/go-server/docker/docker-compose.yml
diff --git a/rpc/jsonrpc/go-server/pkg/user.go b/compatibility/rpc/jsonrpc/go-server/pkg/user.go
similarity index 100%
rename from rpc/jsonrpc/go-server/pkg/user.go
rename to compatibility/rpc/jsonrpc/go-server/pkg/user.go
diff --git a/rpc/jsonrpc/go-server/pkg/user_provider.go b/compatibility/rpc/jsonrpc/go-server/pkg/user_provider.go
similarity index 100%
rename from rpc/jsonrpc/go-server/pkg/user_provider.go
rename to compatibility/rpc/jsonrpc/go-server/pkg/user_provider.go
diff --git a/rpc/jsonrpc/go-server/pkg/user_provider1.go b/compatibility/rpc/jsonrpc/go-server/pkg/user_provider1.go
similarity index 100%
rename from rpc/jsonrpc/go-server/pkg/user_provider1.go
rename to compatibility/rpc/jsonrpc/go-server/pkg/user_provider1.go
diff --git a/rpc/jsonrpc/go-server/pkg/user_provider2.go b/compatibility/rpc/jsonrpc/go-server/pkg/user_provider2.go
similarity index 100%
rename from rpc/jsonrpc/go-server/pkg/user_provider2.go
rename to compatibility/rpc/jsonrpc/go-server/pkg/user_provider2.go
diff --git a/rpc/triple/README.md b/compatibility/rpc/triple/README.md
similarity index 97%
rename from rpc/triple/README.md
rename to compatibility/rpc/triple/README.md
index 08141d63..06940361 100644
--- a/rpc/triple/README.md
+++ b/compatibility/rpc/triple/README.md
@@ -1,89 +1,89 @@
-# Triple Samples
-
-Triple is  dubbo3.0 network protocol. You can refer to [dubbogo/triple](https://github.com/dubbogo/triple) repo for more information. Triple is extended from old Dubbogo framework, it supports pb serilization, and can interact with dubbo-java 3.0 and  gRPC. It also support unary RPC and streaming RPC invocation. Triple is main protocol that  Dubbo echology recommends.
-
-## Samples content
-
-- [codec-extension](./codec-extension): user defined serialization sample
-- [hessian2](./hessian2): Hessian2 serialization sample
-- [msgpack](./msgpack): Msgpack serialization sample
-- [pb](./pb):  ProtoBuf(PB) v3 serialization sample
-  - [dubbogo-grpc](./pb/dubbogo-grpc): Triple and gRPC interactive samples
-  - [dubbogo-java](./pb/dubbogo-java): Triple-java and Triple-go interactive samples
-- [pb2](./pb2):  ProtoBuf(PB) v2 serialization sample
-
-## How to write configuration file
-
-- Server
-
-```yaml
-dubbo:
-  protocols: # dubbogo framework network protocol configuration
-    myProtocol: # user defined protocol Key
-      name: tri # protocol name, suppporting: tri/dubbo/grpc/jsonrpc
-      port: 20000 # port to export service
-
-  provider:
-    services:
-      MyProvider: # service provider type name
-        interface: org.apache.dubbogo.MyProvider # user defined interface name
-      # serialization: hessian2 # serialization that can be choosed:pb/hessian2/custome
-      # pb serialization by default
-```
-
-- Client
-
-```yml
-dubbo:
-consumer:
-  references:
-    ClientImpl: # client struct type name
-      protocol: tri # protocol name,supporting: tri/dubbo/grpc/jsonrpc,compatiable with server
-      interface: org.apache.dubbo.demo.Greeter # user defined interface name
-    # serialization: hessian2 # serialization that can be choosed:pb/hessian2/custome
-    # pb serialization by default
-```
-
-## How to run
-
-We choose pb/dubbogo-grpc as an example, which is dubbogo-client invokes dubbogo-server using triple protocol and pb seriazliation.
-
-Start zk server, listening on 127.0.0.1:2181. If you have installed docker locally, you can choose to exec following commands to start all componnets that dubbogo relies on: zk(2181), nacos(8848), etcd(2379).
-
-`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
-
-### Run with Goland
-
-![](../../.images/samples-rpc-triple-server.png)
-
-You can start client after server started.
-
-![](../../.images/samples-rpc-triple-client.png)
-
-
-
-### Run with terminal
-
-- Server
-
-`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # go to server samples
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml`# set env of dubbogo config
-
-`go run .` # start server
-
-- Server
-
-`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # go to client samples
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml` # set env of dubbogo config
-
-`go run .` # start client
-
-
-
-### Success flag
-
-After you starting with one of above, you can see following info log if success.
-
-`INFO    cmd/client.go:108       Receive user = name:"Hello laurence" id:"12345" age:21`
+# Triple Samples
+
+Triple is  dubbo3.0 network protocol. You can refer to [dubbogo/triple](https://github.com/dubbogo/triple) repo for more information. Triple is extended from old Dubbogo framework, it supports pb serilization, and can interact with dubbo-java 3.0 and  gRPC. It also support unary RPC and streaming RPC invocation. Triple is main protocol that  Dubbo echology recommends.
+
+## Samples content
+
+- [codec-extension](./codec-extension): user defined serialization sample
+- [hessian2](./hessian2): Hessian2 serialization sample
+- [msgpack](./msgpack): Msgpack serialization sample
+- [pb](./pb):  ProtoBuf(PB) v3 serialization sample
+  - [dubbogo-grpc](./pb/dubbogo-grpc): Triple and gRPC interactive samples
+  - [dubbogo-java](./pb/dubbogo-java): Triple-java and Triple-go interactive samples
+- [pb2](./pb2):  ProtoBuf(PB) v2 serialization sample
+
+## How to write configuration file
+
+- Server
+
+```yaml
+dubbo:
+  protocols: # dubbogo framework network protocol configuration
+    myProtocol: # user defined protocol Key
+      name: tri # protocol name, suppporting: tri/dubbo/grpc/jsonrpc
+      port: 20000 # port to export service
+
+  provider:
+    services:
+      MyProvider: # service provider type name
+        interface: org.apache.dubbogo.MyProvider # user defined interface name
+      # serialization: hessian2 # serialization that can be choosed:pb/hessian2/custome
+      # pb serialization by default
+```
+
+- Client
+
+```yml
+dubbo:
+consumer:
+  references:
+    ClientImpl: # client struct type name
+      protocol: tri # protocol name,supporting: tri/dubbo/grpc/jsonrpc,compatiable with server
+      interface: org.apache.dubbo.demo.Greeter # user defined interface name
+    # serialization: hessian2 # serialization that can be choosed:pb/hessian2/custome
+    # pb serialization by default
+```
+
+## How to run
+
+We choose pb/dubbogo-grpc as an example, which is dubbogo-client invokes dubbogo-server using triple protocol and pb seriazliation.
+
+Start zk server, listening on 127.0.0.1:2181. If you have installed docker locally, you can choose to exec following commands to start all componnets that dubbogo relies on: zk(2181), nacos(8848), etcd(2379).
+
+`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
+
+### Run with Goland
+
+![](../../.images/samples-rpc-triple-server.png)
+
+You can start client after server started.
+
+![](../../.images/samples-rpc-triple-client.png)
+
+
+
+### Run with terminal
+
+- Server
+
+`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # go to server samples
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml`# set env of dubbogo config
+
+`go run .` # start server
+
+- Server
+
+`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # go to client samples
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml` # set env of dubbogo config
+
+`go run .` # start client
+
+
+
+### Success flag
+
+After you starting with one of above, you can see following info log if success.
+
+`INFO    cmd/client.go:108       Receive user = name:"Hello laurence" id:"12345" age:21`
diff --git a/rpc/triple/README_zh.md b/compatibility/rpc/triple/README_zh.md
similarity index 97%
rename from rpc/triple/README_zh.md
rename to compatibility/rpc/triple/README_zh.md
index 2827ff68..1446ebf3 100644
--- a/rpc/triple/README_zh.md
+++ b/compatibility/rpc/triple/README_zh.md
@@ -1,88 +1,88 @@
-# Triple 示例
-
-Triple-go 3.0 版本的网络协议库。获取更多信息请查看 [dubbogo/triple](https://github.com/dubbogo/triple) 仓库。Triple 协议是在已有 Dubbogo 框架的基础上的扩展的3.0新网络协议,支持了pb序列化,可与 Dubbo3.0 互通、与 gRPC 互通,支持普通 RPC 调用与流式 RPC 调用等功能,是 Dubbo 生态在云原生时代的主推协议。
-
-## Samples内容
-
-- [codec-extension](./codec-extension): 用户自定义序列化方式例子
-- [hessian2](./hessian2): Hessian2 序列化方式例子
-- [msgpack](./msgpack): Msgpack 序列化方式例子
-- [pb](./pb): 使用 ProtoBuf(PB) v3 序列化方案的例子
-  - [dubbogo-grpc](./pb/dubbogo-grpc): Triple 和 gRPC 互通案例
-  - [dubbogo-java](./pb/dubbogo-java): Triple-java 和 Triple-go 互通案例
-- [pb2](./pb2): 基于 protobuf v2 序列化协议与 triple 通信协议一个简单例子
-
-## 如何配置
-
-- 服务端
-
-```yaml
-dubbo:
-  protocols: # 框架协议配置
-    myProtocol: # 自定义一个协议 Key
-      name: tri # 协议名,支持tri/dubbo/grpc/jsonrpc
-      port: 20000 # 暴露端口
-  provider:
-    services:
-      MyProvider: # 服务提供者结构类名
-        interface: org.apache.dubbogo.MyProvider # 用户自定义的接口名
-      # serialization: hessian2 可选字段,可以指定序列化类型:pb/hessian2/自定义
-      # 默认使用 pb 序列化
-```
-
-- 客户端
-
-```yml
-dubbo:
-  consumer:
-    references:
-      ClientImpl: # 客户端结构类名
-        protocol: tri # 协议名,支持tri/dubbo/grpc/jsonrpc,需与服务端对应
-        interface: org.apache.dubbo.demo.Greeter # 用户自定义的接口名
-      # serialization: hessian2 可选字段,可以指定序列化类型:pb/hessian2/自定义
-      # 默认使用 pb 序列化,需要与服务端对应
-```
-
-## 运行示例:
-
-以 pb/dubbogo-grpc 下的 dubbogo-client 调用 dubbogo-server为例
-
-启动zk,监听127.0.0.1:2181端口。如本机已安装docker,可以直接执行下面的命令来启动所有运行samples的依赖组件:zk(2181), nacos(8848), etcd(2379)。
-
-`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
-
-### 通过 Goland 运行
-
-![](../../.images/samples-rpc-triple-server.png)
-
-服务端启动完毕后,启动客户端
-
-![](../../.images/samples-rpc-triple-client.png)
-
-
-
-### 通过命令行运行
-
-- 服务端
-
-`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # 进入仓库目录
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml`# 设置配置文件环境变量
-
-`go run .` # 启动服务
-
-- 客户端
-
-`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # 进入仓库目录
-
-`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml`# 设置配置文件环境变量
-
-`go run .` # 启动客户端发起调用
-
-
-
-### 调用成功
-
-通过上述任一方式启动,可看到客户端打印如下信息,调用成功:
-
-`INFO    cmd/client.go:108       Receive user = name:"Hello laurence" id:"12345" age:21`
+# Triple 示例
+
+Triple-go 3.0 版本的网络协议库。获取更多信息请查看 [dubbogo/triple](https://github.com/dubbogo/triple) 仓库。Triple 协议是在已有 Dubbogo 框架的基础上的扩展的3.0新网络协议,支持了pb序列化,可与 Dubbo3.0 互通、与 gRPC 互通,支持普通 RPC 调用与流式 RPC 调用等功能,是 Dubbo 生态在云原生时代的主推协议。
+
+## Samples内容
+
+- [codec-extension](./codec-extension): 用户自定义序列化方式例子
+- [hessian2](./hessian2): Hessian2 序列化方式例子
+- [msgpack](./msgpack): Msgpack 序列化方式例子
+- [pb](./pb): 使用 ProtoBuf(PB) v3 序列化方案的例子
+  - [dubbogo-grpc](./pb/dubbogo-grpc): Triple 和 gRPC 互通案例
+  - [dubbogo-java](./pb/dubbogo-java): Triple-java 和 Triple-go 互通案例
+- [pb2](./pb2): 基于 protobuf v2 序列化协议与 triple 通信协议一个简单例子
+
+## 如何配置
+
+- 服务端
+
+```yaml
+dubbo:
+  protocols: # 框架协议配置
+    myProtocol: # 自定义一个协议 Key
+      name: tri # 协议名,支持tri/dubbo/grpc/jsonrpc
+      port: 20000 # 暴露端口
+  provider:
+    services:
+      MyProvider: # 服务提供者结构类名
+        interface: org.apache.dubbogo.MyProvider # 用户自定义的接口名
+      # serialization: hessian2 可选字段,可以指定序列化类型:pb/hessian2/自定义
+      # 默认使用 pb 序列化
+```
+
+- 客户端
+
+```yml
+dubbo:
+  consumer:
+    references:
+      ClientImpl: # 客户端结构类名
+        protocol: tri # 协议名,支持tri/dubbo/grpc/jsonrpc,需与服务端对应
+        interface: org.apache.dubbo.demo.Greeter # 用户自定义的接口名
+      # serialization: hessian2 可选字段,可以指定序列化类型:pb/hessian2/自定义
+      # 默认使用 pb 序列化,需要与服务端对应
+```
+
+## 运行示例:
+
+以 pb/dubbogo-grpc 下的 dubbogo-client 调用 dubbogo-server为例
+
+启动zk,监听127.0.0.1:2181端口。如本机已安装docker,可以直接执行下面的命令来启动所有运行samples的依赖组件:zk(2181), nacos(8848), etcd(2379)。
+
+`docker-compose -f {PATH_TO_SAMPLES_PROJECT}/integrate_test/dockercompose/docker-compose.yml up -d`
+
+### 通过 Goland 运行
+
+![](../../.images/samples-rpc-triple-server.png)
+
+服务端启动完毕后,启动客户端
+
+![](../../.images/samples-rpc-triple-client.png)
+
+
+
+### 通过命令行运行
+
+- 服务端
+
+`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # 进入仓库目录
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml`# 设置配置文件环境变量
+
+`go run .` # 启动服务
+
+- 客户端
+
+`cd rpc/triple/pb/dubbogo-grpc/go-server/cmd` # 进入仓库目录
+
+`export DUBBO_GO_CONFIG_PATH="../conf/dubbogo.yml`# 设置配置文件环境变量
+
+`go run .` # 启动客户端发起调用
+
+
+
+### 调用成功
+
+通过上述任一方式启动,可看到客户端打印如下信息,调用成功:
+
+`INFO    cmd/client.go:108       Receive user = name:"Hello laurence" id:"12345" age:21`
diff --git a/rpc/triple/codec-extension/codec/codec.go b/compatibility/rpc/triple/codec-extension/codec/codec.go
similarity index 100%
rename from rpc/triple/codec-extension/codec/codec.go
rename to compatibility/rpc/triple/codec-extension/codec/codec.go
diff --git a/rpc/triple/codec-extension/go-client/cmd/client.go b/compatibility/rpc/triple/codec-extension/go-client/cmd/client.go
similarity index 94%
rename from rpc/triple/codec-extension/go-client/cmd/client.go
rename to compatibility/rpc/triple/codec-extension/go-client/cmd/client.go
index b02c2beb..7bf66ce3 100644
--- a/rpc/triple/codec-extension/go-client/cmd/client.go
+++ b/compatibility/rpc/triple/codec-extension/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	_ "github.com/apache/dubbo-go-samples/rpc/triple/codec-extension/codec"
+	_ "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/codec-extension/codec"
 )
 
 type User struct {
diff --git a/rpc/triple/codec-extension/go-client/conf/dubbogo.yml b/compatibility/rpc/triple/codec-extension/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/codec-extension/go-client/conf/dubbogo.yml
rename to compatibility/rpc/triple/codec-extension/go-client/conf/dubbogo.yml
diff --git a/rpc/triple/codec-extension/go-server/cmd/server.go b/compatibility/rpc/triple/codec-extension/go-server/cmd/server.go
similarity index 94%
rename from rpc/triple/codec-extension/go-server/cmd/server.go
rename to compatibility/rpc/triple/codec-extension/go-server/cmd/server.go
index 5cdfe9e8..9a46dd14 100644
--- a/rpc/triple/codec-extension/go-server/cmd/server.go
+++ b/compatibility/rpc/triple/codec-extension/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	_ "github.com/apache/dubbo-go-samples/rpc/triple/codec-extension/codec"
+	_ "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/codec-extension/codec"
 )
 
 type User struct {
diff --git a/rpc/triple/codec-extension/go-server/conf/dubbogo.yml b/compatibility/rpc/triple/codec-extension/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/codec-extension/go-server/conf/dubbogo.yml
rename to compatibility/rpc/triple/codec-extension/go-server/conf/dubbogo.yml
diff --git a/rpc/triple/hessian2/README.md b/compatibility/rpc/triple/hessian2/README.md
similarity index 94%
rename from rpc/triple/hessian2/README.md
rename to compatibility/rpc/triple/hessian2/README.md
index 9c79fcb1..323d6559 100644
--- a/rpc/triple/hessian2/README.md
+++ b/compatibility/rpc/triple/hessian2/README.md
@@ -1,24 +1,24 @@
-# Triple protocol Hessian2 (Hessian+PB) serialization scheme
-
-Triple-go supports Pb serialization and Hessian serialization. After Hessian serialization, api serialization is performed again by nesting the following api:
-https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
-
-## Serialization scheme selection
-
-PB serialization is used by default. To use Hessian2+PB, please specify the serialization protocol as Hessian2 in the configuration file
-
-```yaml
-# service config
-services:
-  "UserProvider":
-    serialization: "hessian2" # hessian2 is serialization type
-    interface: "org.apache.dubbo.UserProvider"
-```
-
-And define pojo, provider, and consumer in the same way as dubbo-go1.5.x, then you can initiate the call.
-
-## Start service
-Run with goland
-
-triplego-hessian-client\
+# Triple protocol Hessian2 (Hessian+PB) serialization scheme
+
+Triple-go supports Pb serialization and Hessian serialization. After Hessian serialization, api serialization is performed again by nesting the following api:
+https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
+
+## Serialization scheme selection
+
+PB serialization is used by default. To use Hessian2+PB, please specify the serialization protocol as Hessian2 in the configuration file
+
+```yaml
+# service config
+services:
+  "UserProvider":
+    serialization: "hessian2" # hessian2 is serialization type
+    interface: "org.apache.dubbo.UserProvider"
+```
+
+And define pojo, provider, and consumer in the same way as dubbo-go1.5.x, then you can initiate the call.
+
+## Start service
+Run with goland
+
+triplego-hessian-client\
 triplego-hessian-server
\ No newline at end of file
diff --git a/rpc/triple/hessian2/README_zh.md b/compatibility/rpc/triple/hessian2/README_zh.md
similarity index 94%
rename from rpc/triple/hessian2/README_zh.md
rename to compatibility/rpc/triple/hessian2/README_zh.md
index 3e5a6a3e..6399e156 100644
--- a/rpc/triple/hessian2/README_zh.md
+++ b/compatibility/rpc/triple/hessian2/README_zh.md
@@ -1,24 +1,24 @@
-# Triple协议的Hessian2(Hessian+PB) 序列化方案
-
-Triple-go支持 Pb序列化和Hessian序列化,Hessian序列化后通过嵌套入如下pb,再次进行pb序列化:
-https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
-
-## 序列化方案选择
-
-默认使用PB序列化,如需使用Hessian2+PB,请在配置文件中指定序列化协议为Hessian2
-
-```yaml
-# service config
-services:
-  "UserProvider":
-    serialization: "hessian2" # hessian2 is serialization type
-    interface: "org.apache.dubbo.UserProvider"
-```
-
-并按照与dubbo-go1.5.x相同的方法定义pojo、provider、consumer,即可发起调用。
-
-## 开启服务
-使用 goland 运行
-
-triplego-hessian-client\
+# Triple协议的Hessian2(Hessian+PB) 序列化方案
+
+Triple-go支持 Pb序列化和Hessian序列化,Hessian序列化后通过嵌套入如下pb,再次进行pb序列化:
+https://github.com/dubbogo/triple/blob/master/internal/codec/proto/triple_wrapper.proto
+
+## 序列化方案选择
+
+默认使用PB序列化,如需使用Hessian2+PB,请在配置文件中指定序列化协议为Hessian2
+
+```yaml
+# service config
+services:
+  "UserProvider":
+    serialization: "hessian2" # hessian2 is serialization type
+    interface: "org.apache.dubbo.UserProvider"
+```
+
+并按照与dubbo-go1.5.x相同的方法定义pojo、provider、consumer,即可发起调用。
+
+## 开启服务
+使用 goland 运行
+
+triplego-hessian-client\
 triplego-hessian-server
\ No newline at end of file
diff --git a/rpc/triple/hessian2/go-client/cmd/client.go b/compatibility/rpc/triple/hessian2/go-client/cmd/client.go
similarity index 100%
rename from rpc/triple/hessian2/go-client/cmd/client.go
rename to compatibility/rpc/triple/hessian2/go-client/cmd/client.go
diff --git a/rpc/triple/hessian2/go-client/cmd/complex_service.go b/compatibility/rpc/triple/hessian2/go-client/cmd/complex_service.go
similarity index 100%
rename from rpc/triple/hessian2/go-client/cmd/complex_service.go
rename to compatibility/rpc/triple/hessian2/go-client/cmd/complex_service.go
diff --git a/rpc/triple/hessian2/go-client/cmd/simple_service.go b/compatibility/rpc/triple/hessian2/go-client/cmd/simple_service.go
similarity index 100%
rename from rpc/triple/hessian2/go-client/cmd/simple_service.go
rename to compatibility/rpc/triple/hessian2/go-client/cmd/simple_service.go
diff --git a/rpc/triple/hessian2/go-client/conf/dubbogo.yml b/compatibility/rpc/triple/hessian2/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/hessian2/go-client/conf/dubbogo.yml
rename to compatibility/rpc/triple/hessian2/go-client/conf/dubbogo.yml
diff --git a/rpc/triple/hessian2/go-server/cmd/complex_service.go b/compatibility/rpc/triple/hessian2/go-server/cmd/complex_service.go
similarity index 100%
rename from rpc/triple/hessian2/go-server/cmd/complex_service.go
rename to compatibility/rpc/triple/hessian2/go-server/cmd/complex_service.go
diff --git a/rpc/triple/hessian2/go-server/cmd/server.go b/compatibility/rpc/triple/hessian2/go-server/cmd/server.go
similarity index 100%
rename from rpc/triple/hessian2/go-server/cmd/server.go
rename to compatibility/rpc/triple/hessian2/go-server/cmd/server.go
diff --git a/rpc/triple/hessian2/go-server/cmd/simple_service.go b/compatibility/rpc/triple/hessian2/go-server/cmd/simple_service.go
similarity index 100%
rename from rpc/triple/hessian2/go-server/cmd/simple_service.go
rename to compatibility/rpc/triple/hessian2/go-server/cmd/simple_service.go
diff --git a/rpc/triple/hessian2/go-server/conf/dubbogo.yml b/compatibility/rpc/triple/hessian2/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/hessian2/go-server/conf/dubbogo.yml
rename to compatibility/rpc/triple/hessian2/go-server/conf/dubbogo.yml
diff --git a/rpc/triple/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/compatibility/rpc/triple/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 100%
rename from rpc/triple/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
rename to compatibility/rpc/triple/hessian2/java-client/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
diff --git a/rpc/triple/hessian2/java-client/pom.xml b/compatibility/rpc/triple/hessian2/java-client/pom.xml
similarity index 100%
rename from rpc/triple/hessian2/java-client/pom.xml
rename to compatibility/rpc/triple/hessian2/java-client/pom.xml
diff --git a/rpc/triple/hessian2/java-client/run.sh b/compatibility/rpc/triple/hessian2/java-client/run.sh
similarity index 100%
rename from rpc/triple/hessian2/java-client/run.sh
rename to compatibility/rpc/triple/hessian2/java-client/run.sh
diff --git a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java b/compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
similarity index 100%
rename from rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
rename to compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ApiConsumer.java
diff --git a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java b/compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
similarity index 100%
rename from rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
rename to compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
diff --git a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java b/compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
similarity index 100%
rename from rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
rename to compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
diff --git a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
similarity index 100%
rename from rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
rename to compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
diff --git a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java b/compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
similarity index 97%
rename from rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
rename to compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
index 7a6075ef..25a883d4 100644
--- a/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
+++ b/compatibility/rpc/triple/hessian2/java-client/src/main/java/com/apache/dubbo/sample/basic/User.java
@@ -1,26 +1,26 @@
-/*
- *  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 com.apache.dubbo.sample.basic;
-
-import java.io.Serializable;
-
-public class User implements Serializable {
-    String name;
-    String id;
-    int age;
-}
+/*
+ *  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 com.apache.dubbo.sample.basic;
+
+import java.io.Serializable;
+
+public class User implements Serializable {
+    String name;
+    String id;
+    int age;
+}
diff --git a/rpc/triple/hessian2/java-client/src/main/proto/helloworld.proto b/compatibility/rpc/triple/hessian2/java-client/src/main/proto/helloworld.proto
similarity index 100%
rename from rpc/triple/hessian2/java-client/src/main/proto/helloworld.proto
rename to compatibility/rpc/triple/hessian2/java-client/src/main/proto/helloworld.proto
diff --git a/rpc/triple/hessian2/java-client/src/main/resources/log4j.properties b/compatibility/rpc/triple/hessian2/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from rpc/triple/hessian2/java-client/src/main/resources/log4j.properties
rename to compatibility/rpc/triple/hessian2/java-client/src/main/resources/log4j.properties
diff --git a/rpc/triple/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java b/compatibility/rpc/triple/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
rename to compatibility/rpc/triple/hessian2/java-server/build/generated/source/proto/main/java/org/apache/dubbo/sample/hello/Helloworld.java
diff --git a/rpc/triple/hessian2/java-server/pom.xml b/compatibility/rpc/triple/hessian2/java-server/pom.xml
similarity index 100%
rename from rpc/triple/hessian2/java-server/pom.xml
rename to compatibility/rpc/triple/hessian2/java-server/pom.xml
diff --git a/rpc/triple/hessian2/java-server/run.sh b/compatibility/rpc/triple/hessian2/java-server/run.sh
similarity index 100%
rename from rpc/triple/hessian2/java-server/run.sh
rename to compatibility/rpc/triple/hessian2/java-server/run.sh
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ApiProvider.java
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexData.java
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProvider.java
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/ComplexProviderImpl.java
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeter.java
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/IGreeterImpl.java
diff --git a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
similarity index 94%
rename from rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
rename to compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
index b5a6017c..95e12593 100644
--- a/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
+++ b/compatibility/rpc/triple/hessian2/java-server/src/main/java/com/apache/dubbo/sample/basic/User.java
@@ -1,9 +1,9 @@
-package com.apache.dubbo.sample.basic;
-
-import java.io.Serializable;
-
-public class User implements Serializable {
-    String name;
-    String id;
-    int age;
-}
+package com.apache.dubbo.sample.basic;
+
+import java.io.Serializable;
+
+public class User implements Serializable {
+    String name;
+    String id;
+    int age;
+}
diff --git a/rpc/triple/hessian2/java-server/src/main/proto/helloworld.proto b/compatibility/rpc/triple/hessian2/java-server/src/main/proto/helloworld.proto
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/proto/helloworld.proto
rename to compatibility/rpc/triple/hessian2/java-server/src/main/proto/helloworld.proto
diff --git a/rpc/triple/hessian2/java-server/src/main/resources/log4j.properties b/compatibility/rpc/triple/hessian2/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from rpc/triple/hessian2/java-server/src/main/resources/log4j.properties
rename to compatibility/rpc/triple/hessian2/java-server/src/main/resources/log4j.properties
diff --git a/rpc/triple/msgpack/go-client/cmd/client.go b/compatibility/rpc/triple/msgpack/go-client/cmd/client.go
similarity index 96%
rename from rpc/triple/msgpack/go-client/cmd/client.go
rename to compatibility/rpc/triple/msgpack/go-client/cmd/client.go
index be35bac0..c2eb2bd6 100644
--- a/rpc/triple/msgpack/go-client/cmd/client.go
+++ b/compatibility/rpc/triple/msgpack/go-client/cmd/client.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type UserProvider struct {
diff --git a/rpc/triple/msgpack/go-client/conf/dubbogo.yml b/compatibility/rpc/triple/msgpack/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/msgpack/go-client/conf/dubbogo.yml
rename to compatibility/rpc/triple/msgpack/go-client/conf/dubbogo.yml
diff --git a/rpc/triple/msgpack/go-server/cmd/server.go b/compatibility/rpc/triple/msgpack/go-server/cmd/server.go
similarity index 97%
rename from rpc/triple/msgpack/go-server/cmd/server.go
rename to compatibility/rpc/triple/msgpack/go-server/cmd/server.go
index 418687ab..1ebbbe88 100644
--- a/rpc/triple/msgpack/go-server/cmd/server.go
+++ b/compatibility/rpc/triple/msgpack/go-server/cmd/server.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type UserProvider struct {
diff --git a/rpc/triple/msgpack/go-server/conf/dubbogo.yml b/compatibility/rpc/triple/msgpack/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/msgpack/go-server/conf/dubbogo.yml
rename to compatibility/rpc/triple/msgpack/go-server/conf/dubbogo.yml
diff --git a/rpc/triple/pb/dubbogo-grpc/README.md b/compatibility/rpc/triple/pb/dubbogo-grpc/README.md
similarity index 95%
rename from rpc/triple/pb/dubbogo-grpc/README.md
rename to compatibility/rpc/triple/pb/dubbogo-grpc/README.md
index 0464143d..262cfa93 100644
--- a/rpc/triple/pb/dubbogo-grpc/README.md
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/README.md
@@ -1,55 +1,55 @@
-# dubbogo-grpc
-
-## Contents
-
-- protobuf: proto files for grpc and triple respectively;
-- go-server: Dubbo-go server
-- go-client: Dubbo-go client
-- grpc-server: gRPC server
-- grpc-client: gRPC client
-
-Please note that neither server streaming RPC nor client streaming RPC are not supported by Triple so far.
-
-What combinations we tested are:
-
-- [x] grpcgo-client -> dubbogo-server
-- [x] dubbogo-client -> dubbogo-server
-
-## Getting Started
-
-### Server
-
-1. Edit your own proto file, please refer to [samples_api.proto](/api/samples_api.proto).
-2. Install `protoc` tool, please refer to [ProtoBuf documentation](https://developers.google.com/protocol-buffers/docs/gotutorial).
-3. Install `protoc-gen-dubbo3` which is used to generate a stub suitable for triple.
-
-```shell
-go get -u github.com/dubbogo/tools/cmd/protoc-gen-triple
-```
-
-4. Compile the proto file.
-
-```shell
-protoc -I . helloworld.proto --triple_out=plugins=triple:.
-```
-
-5. Edit the configuration for server, please refer to [dubbogo.yml](go-server/conf/dubbogo.yml).
-6. Launch the server.
-
-### Client
-
-Please note that the start-up process is the same for both the unary RPC and the stream RPC.
-
-1. Register RPC services.
-
-```go
-// Directly introduce the GreeterClientImpl structure, you can enter the structure, and see the Reference as "greeterImpl"
-var greeterProvider = new(triplepb.GreeterClientImpl)
-func init() {
-    config.SetConsumerService(greeterProvider)
-}
-```
-
-2. Edit the configuration for client, please refer to [dubbogo.yml](go-client/conf/dubbogo.yml)
-
+# dubbogo-grpc
+
+## Contents
+
+- protobuf: proto files for grpc and triple respectively;
+- go-server: Dubbo-go server
+- go-client: Dubbo-go client
+- grpc-server: gRPC server
+- grpc-client: gRPC client
+
+Please note that neither server streaming RPC nor client streaming RPC are not supported by Triple so far.
+
+What combinations we tested are:
+
+- [x] grpcgo-client -> dubbogo-server
+- [x] dubbogo-client -> dubbogo-server
+
+## Getting Started
+
+### Server
+
+1. Edit your own proto file, please refer to [samples_api.proto](/api/samples_api.proto).
+2. Install `protoc` tool, please refer to [ProtoBuf documentation](https://developers.google.com/protocol-buffers/docs/gotutorial).
+3. Install `protoc-gen-dubbo3` which is used to generate a stub suitable for triple.
+
+```shell
+go get -u github.com/dubbogo/tools/cmd/protoc-gen-triple
+```
+
+4. Compile the proto file.
+
+```shell
+protoc -I . helloworld.proto --triple_out=plugins=triple:.
+```
+
+5. Edit the configuration for server, please refer to [dubbogo.yml](go-server/conf/dubbogo.yml).
+6. Launch the server.
+
+### Client
+
+Please note that the start-up process is the same for both the unary RPC and the stream RPC.
+
+1. Register RPC services.
+
+```go
+// Directly introduce the GreeterClientImpl structure, you can enter the structure, and see the Reference as "greeterImpl"
+var greeterProvider = new(triplepb.GreeterClientImpl)
+func init() {
+    config.SetConsumerService(greeterProvider)
+}
+```
+
+2. Edit the configuration for client, please refer to [dubbogo.yml](go-client/conf/dubbogo.yml)
+
 3. Launch the client.
\ No newline at end of file
diff --git a/rpc/triple/pb/dubbogo-grpc/README_zh.md b/compatibility/rpc/triple/pb/dubbogo-grpc/README_zh.md
similarity index 95%
rename from rpc/triple/pb/dubbogo-grpc/README_zh.md
rename to compatibility/rpc/triple/pb/dubbogo-grpc/README_zh.md
index 49a85211..c50e2f04 100644
--- a/rpc/triple/pb/dubbogo-grpc/README_zh.md
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/README_zh.md
@@ -1,56 +1,56 @@
-# dubbogo-grpc
-
-## Contents
-
-- protobuf: 使用 proto 文件的结构体定义
-- server
-- stream-client: 使用流式调用的客户端
-- unary-client: 使用普通调用的客户端
-
-请注意,到目前为止,Triple还不支持服务器流式RPC和客户端流式RPC。
-
-我们测试的组合包括:
-
-- [x] grpcgo-client(stream) -> dubbogo-server
-- [x] grpcgo-client(unary) -> dubbogo-server
-- [x] dubbogo-client(stream) -> dubbogo-server
-- [x] dubbogo-client(unary) -> dubbogo-server
-
-## 运行
-
-### 服务端
-
-1. 编辑你自己的 proto 文件,请参考 [helloworld.proto](./protobuf/triple/helloworld.proto)。
-2. 安装 `protoc` 工具,请参考 [ProtoBuf 文档](https://developers.google.com/protocol-buffers/docs/gotutorial)。
-3. 安装 `protoc-gen-dubbo3`,用于生成适用于 triple 的 stub。
-
-```shell
-go get -u github.com/dubbogo/tools/cmd/protoc-gen-triple
-```
-
-4. 编译 proto 文件。
-
-```shell
-protoc -I . helloworld.proto --triple_out=plugins=triple:.
-```
-
-5. 编辑服务端配置文件,请参考 [dubbogo.yml](go-server/conf/dubbogo.yml)。
-6. 启动服务端。
-
-### 客户端
-
-请注意,普通调用的 RPC 和流式 RPC 的启动过程是相同的。
-
-1. 注册 RPC 服务。
-
-```go
-// Directly introduce the GreeterClientImpl structure, you can enter the structure, and see the Reference as "greeterImpl"
-var greeterProvider = new(triplepb.GreeterClientImpl)
-func init() {
-    config.SetConsumerService(greeterProvider)
-}
-```
-
-2. 编辑客户端配置文件,请参考 [dubbogo.yml](go-client/conf/dubbogo.yml)。
-
+# dubbogo-grpc
+
+## Contents
+
+- protobuf: 使用 proto 文件的结构体定义
+- server
+- stream-client: 使用流式调用的客户端
+- unary-client: 使用普通调用的客户端
+
+请注意,到目前为止,Triple还不支持服务器流式RPC和客户端流式RPC。
+
+我们测试的组合包括:
+
+- [x] grpcgo-client(stream) -> dubbogo-server
+- [x] grpcgo-client(unary) -> dubbogo-server
+- [x] dubbogo-client(stream) -> dubbogo-server
+- [x] dubbogo-client(unary) -> dubbogo-server
+
+## 运行
+
+### 服务端
+
+1. 编辑你自己的 proto 文件,请参考 [helloworld.proto](./protobuf/triple/helloworld.proto)。
+2. 安装 `protoc` 工具,请参考 [ProtoBuf 文档](https://developers.google.com/protocol-buffers/docs/gotutorial)。
+3. 安装 `protoc-gen-dubbo3`,用于生成适用于 triple 的 stub。
+
+```shell
+go get -u github.com/dubbogo/tools/cmd/protoc-gen-triple
+```
+
+4. 编译 proto 文件。
+
+```shell
+protoc -I . helloworld.proto --triple_out=plugins=triple:.
+```
+
+5. 编辑服务端配置文件,请参考 [dubbogo.yml](go-server/conf/dubbogo.yml)。
+6. 启动服务端。
+
+### 客户端
+
+请注意,普通调用的 RPC 和流式 RPC 的启动过程是相同的。
+
+1. 注册 RPC 服务。
+
+```go
+// Directly introduce the GreeterClientImpl structure, you can enter the structure, and see the Reference as "greeterImpl"
+var greeterProvider = new(triplepb.GreeterClientImpl)
+func init() {
+    config.SetConsumerService(greeterProvider)
+}
+```
+
+2. 编辑客户端配置文件,请参考 [dubbogo.yml](go-client/conf/dubbogo.yml)。
+
 3. 启动客户端。
\ No newline at end of file
diff --git a/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go b/compatibility/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
similarity index 97%
rename from rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
index 22b440d8..e0926fe2 100644
--- a/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/go-client/cmd/client.go
@@ -31,7 +31,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(triplepb.GreeterClientImpl)
diff --git a/rpc/triple/pb/dubbogo-grpc/go-client/conf/dubbogo.yml b/compatibility/rpc/triple/pb/dubbogo-grpc/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/pb/dubbogo-grpc/go-client/conf/dubbogo.yml
rename to compatibility/rpc/triple/pb/dubbogo-grpc/go-client/conf/dubbogo.yml
diff --git a/rpc/triple/pb/dubbogo-grpc/go-server/cmd/server.go b/compatibility/rpc/triple/pb/dubbogo-grpc/go-server/cmd/server.go
similarity index 95%
rename from rpc/triple/pb/dubbogo-grpc/go-server/cmd/server.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/go-server/cmd/server.go
index 0fcbdcd9..a30242e2 100644
--- a/rpc/triple/pb/dubbogo-grpc/go-server/cmd/server.go
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb/dubbogo-grpc/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb/dubbogo-grpc/go-server/pkg"
 )
 
 var (
diff --git a/rpc/triple/pb/dubbogo-grpc/go-server/conf/dubbogo.yml b/compatibility/rpc/triple/pb/dubbogo-grpc/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/pb/dubbogo-grpc/go-server/conf/dubbogo.yml
rename to compatibility/rpc/triple/pb/dubbogo-grpc/go-server/conf/dubbogo.yml
diff --git a/rpc/triple/pb/dubbogo-grpc/go-server/pkg/greeter.go b/compatibility/rpc/triple/pb/dubbogo-grpc/go-server/pkg/greeter.go
similarity index 97%
rename from rpc/triple/pb/dubbogo-grpc/go-server/pkg/greeter.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/go-server/pkg/greeter.go
index 311dc888..aa816d15 100644
--- a/rpc/triple/pb/dubbogo-grpc/go-server/pkg/greeter.go
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/go-server/pkg/greeter.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/rpc/triple/pb/dubbogo-grpc/grpc-client/main.go b/compatibility/rpc/triple/pb/dubbogo-grpc/grpc-client/main.go
similarity index 95%
rename from rpc/triple/pb/dubbogo-grpc/grpc-client/main.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/grpc-client/main.go
index b2560ee7..b8caf168 100644
--- a/rpc/triple/pb/dubbogo-grpc/grpc-client/main.go
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/grpc-client/main.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/rpc/triple/pb/dubbogo-grpc/protobuf/api"
+	pb "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api"
 )
 
 const (
diff --git a/rpc/triple/pb/dubbogo-grpc/grpc-server/main.go b/compatibility/rpc/triple/pb/dubbogo-grpc/grpc-server/main.go
similarity index 96%
rename from rpc/triple/pb/dubbogo-grpc/grpc-server/main.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/grpc-server/main.go
index 95473051..2a90048a 100644
--- a/rpc/triple/pb/dubbogo-grpc/grpc-server/main.go
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/grpc-server/main.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/rpc/triple/pb/dubbogo-grpc/protobuf/api"
+	pb "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api"
 )
 
 const (
diff --git a/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.pb.go b/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.pb.go
similarity index 100%
rename from rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.pb.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.pb.go
diff --git a/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.proto b/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.proto
similarity index 97%
rename from rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.proto
rename to compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.proto
index ee085c6d..c20e0aa8 100644
--- a/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.proto
+++ b/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld.proto
@@ -1,43 +1,43 @@
-/*
- * 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.
- */
-
-// this file is the same as dubbo-go-samples/api/samples_api.proto
-
-syntax = "proto3";
-package org.apache.dubbogo.samples.api;
-
-option go_package = "./;api";
-
-// The greeting service definition.
-service Greeter {
-  // Sends a greeting
-  rpc SayHello (HelloRequest) returns (User) {}
-  // Sends a greeting via stream
-  rpc SayHelloStream (stream HelloRequest) returns (stream User) {}
-}
-
-// The request message containing the user's name.
-message HelloRequest {
-  string name = 1;
-}
-
-// The response message containing the greetings
-message User {
-  string name = 1;
-  string id = 2;
-  int32 age = 3;
+/*
+ * 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.
+ */
+
+// this file is the same as dubbo-go-samples/api/samples_api.proto
+
+syntax = "proto3";
+package org.apache.dubbogo.samples.api;
+
+option go_package = "./;api";
+
+// The greeting service definition.
+service Greeter {
+  // Sends a greeting
+  rpc SayHello (HelloRequest) returns (User) {}
+  // Sends a greeting via stream
+  rpc SayHelloStream (stream HelloRequest) returns (stream User) {}
+}
+
+// The request message containing the user's name.
+message HelloRequest {
+  string name = 1;
+}
+
+// The response message containing the greetings
+message User {
+  string name = 1;
+  string id = 2;
+  int32 age = 3;
 }
\ No newline at end of file
diff --git a/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld_grpc.pb.go b/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld_grpc.pb.go
similarity index 100%
rename from rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld_grpc.pb.go
rename to compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api/helloworld_grpc.pb.go
diff --git a/rpc/triple/pb/dubbogo-java/README.md b/compatibility/rpc/triple/pb/dubbogo-java/README.md
similarity index 97%
rename from rpc/triple/pb/dubbogo-java/README.md
rename to compatibility/rpc/triple/pb/dubbogo-java/README.md
index f1da3cc4..c4ff7f0c 100644
--- a/rpc/triple/pb/dubbogo-java/README.md
+++ b/compatibility/rpc/triple/pb/dubbogo-java/README.md
@@ -1,13 +1,13 @@
-# dubbogo-java
-
-Most of the procedure are same with [dubbogo-grpc](../dubbogo-grpc), like compiling proto file.
-
-## Getting Started
-
-1. Start the java server:
-    - Use goland to start triple/gojava-go-server
-    - Execute `sh run.sh` in the java-server folder to start the java server
-2. Start the client
-    - Use goland to start triple/gojava-go-client
-    - Execute `sh run.sh` under the java-client folder to start the java client
-
+# dubbogo-java
+
+Most of the procedure are same with [dubbogo-grpc](../dubbogo-grpc), like compiling proto file.
+
+## Getting Started
+
+1. Start the java server:
+    - Use goland to start triple/gojava-go-server
+    - Execute `sh run.sh` in the java-server folder to start the java server
+2. Start the client
+    - Use goland to start triple/gojava-go-client
+    - Execute `sh run.sh` under the java-client folder to start the java client
+
diff --git a/rpc/triple/pb/dubbogo-java/README_zh.md b/compatibility/rpc/triple/pb/dubbogo-java/README_zh.md
similarity index 95%
rename from rpc/triple/pb/dubbogo-java/README_zh.md
rename to compatibility/rpc/triple/pb/dubbogo-java/README_zh.md
index 41a7fcdd..b376bc93 100644
--- a/rpc/triple/pb/dubbogo-java/README_zh.md
+++ b/compatibility/rpc/triple/pb/dubbogo-java/README_zh.md
@@ -1,12 +1,12 @@
-# dubbogo-java
-
-大部分步骤与 [dubbogo-grpc](../dubbogo-grpc) 一样,如编译 proto 文件。
-
-## 开始
-
-1. 启动服务端
-    - 使用 goland 启动 triple/gojava-go-server
-    - 在 java-server 文件夹下执行 `sh run.sh` 启动 java server
-2. 启动客户端
-    - 使用 goland 启动 triple/gojava-go-client
+# dubbogo-java
+
+大部分步骤与 [dubbogo-grpc](../dubbogo-grpc) 一样,如编译 proto 文件。
+
+## 开始
+
+1. 启动服务端
+    - 使用 goland 启动 triple/gojava-go-server
+    - 在 java-server 文件夹下执行 `sh run.sh` 启动 java server
+2. 启动客户端
+    - 使用 goland 启动 triple/gojava-go-client
     - 在 java-client 文件夹下执行 `sh run.sh` 启动 java client
\ No newline at end of file
diff --git a/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go b/compatibility/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
similarity index 96%
rename from rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
rename to compatibility/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
index 3d2beff5..457bed32 100644
--- a/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
+++ b/compatibility/rpc/triple/pb/dubbogo-java/go-client/cmd/client.go
@@ -32,7 +32,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/api"
+	pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(pb.GreeterClientImpl)
diff --git a/rpc/triple/pb/dubbogo-java/go-client/conf/dubbogo.yml b/compatibility/rpc/triple/pb/dubbogo-java/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/go-client/conf/dubbogo.yml
rename to compatibility/rpc/triple/pb/dubbogo-java/go-client/conf/dubbogo.yml
diff --git a/rpc/triple/pb/dubbogo-java/go-server/cmd/server.go b/compatibility/rpc/triple/pb/dubbogo-java/go-server/cmd/server.go
similarity index 95%
rename from rpc/triple/pb/dubbogo-java/go-server/cmd/server.go
rename to compatibility/rpc/triple/pb/dubbogo-java/go-server/cmd/server.go
index 1fbe5e19..36bb16cc 100644
--- a/rpc/triple/pb/dubbogo-java/go-server/cmd/server.go
+++ b/compatibility/rpc/triple/pb/dubbogo-java/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb/dubbogo-java/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb/dubbogo-java/go-server/pkg"
 )
 
 var (
diff --git a/rpc/triple/pb/dubbogo-java/go-server/conf/dubbogo.yml b/compatibility/rpc/triple/pb/dubbogo-java/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/go-server/conf/dubbogo.yml
rename to compatibility/rpc/triple/pb/dubbogo-java/go-server/conf/dubbogo.yml
diff --git a/rpc/triple/pb/dubbogo-java/go-server/pkg/greeter.go b/compatibility/rpc/triple/pb/dubbogo-java/go-server/pkg/greeter.go
similarity index 95%
rename from rpc/triple/pb/dubbogo-java/go-server/pkg/greeter.go
rename to compatibility/rpc/triple/pb/dubbogo-java/go-server/pkg/greeter.go
index ce658e78..b1c44a88 100644
--- a/rpc/triple/pb/dubbogo-java/go-server/pkg/greeter.go
+++ b/compatibility/rpc/triple/pb/dubbogo-java/go-server/pkg/greeter.go
@@ -26,7 +26,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/api"
+	pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/rpc/triple/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java b/compatibility/rpc/triple/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java
diff --git a/rpc/triple/pb/dubbogo-java/java-client/pom.xml b/compatibility/rpc/triple/pb/dubbogo-java/java-client/pom.xml
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/pom.xml
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/pom.xml
diff --git a/rpc/triple/pb/dubbogo-java/java-client/run.sh b/compatibility/rpc/triple/pb/dubbogo-java/java-client/run.sh
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/run.sh
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/run.sh
diff --git a/rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/ApiConsumer.java b/compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/ApiConsumer.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/ApiConsumer.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/ApiConsumer.java
diff --git a/rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/IGreeter.java b/compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/IGreeter.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/IGreeter.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/java/org/apache/dubbo/demo/IGreeter.java
diff --git a/rpc/triple/pb/dubbogo-java/java-client/src/main/proto/HelloWorld.proto b/compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/proto/HelloWorld.proto
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/src/main/proto/HelloWorld.proto
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/proto/HelloWorld.proto
diff --git a/rpc/triple/pb/dubbogo-java/java-client/src/main/resources/log4j.properties b/compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/resources/log4j.properties
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-client/src/main/resources/log4j.properties
rename to compatibility/rpc/triple/pb/dubbogo-java/java-client/src/main/resources/log4j.properties
diff --git a/rpc/triple/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java b/compatibility/rpc/triple/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/build/generated/source/proto/main/java/org/apache/dubbo/demo/HelloWorld.java
diff --git a/rpc/triple/pb/dubbogo-java/java-server/pom.xml b/compatibility/rpc/triple/pb/dubbogo-java/java-server/pom.xml
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/pom.xml
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/pom.xml
diff --git a/rpc/triple/pb/dubbogo-java/java-server/run.sh b/compatibility/rpc/triple/pb/dubbogo-java/java-server/run.sh
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/run.sh
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/run.sh
diff --git a/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/ApiProvider.java b/compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/ApiProvider.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/ApiProvider.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/ApiProvider.java
diff --git a/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeter.java b/compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeter.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeter.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeter.java
diff --git a/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeterImpl.java b/compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeterImpl.java
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeterImpl.java
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/java/org/apache/dubbo/demo/IGreeterImpl.java
diff --git a/rpc/triple/pb/dubbogo-java/java-server/src/main/proto/HelloWorld.proto b/compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/proto/HelloWorld.proto
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/src/main/proto/HelloWorld.proto
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/proto/HelloWorld.proto
diff --git a/rpc/triple/pb/dubbogo-java/java-server/src/main/resources/log4j.properties b/compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/resources/log4j.properties
similarity index 100%
rename from rpc/triple/pb/dubbogo-java/java-server/src/main/resources/log4j.properties
rename to compatibility/rpc/triple/pb/dubbogo-java/java-server/src/main/resources/log4j.properties
diff --git a/rpc/triple/pb2/README.md b/compatibility/rpc/triple/pb2/README.md
similarity index 100%
rename from rpc/triple/pb2/README.md
rename to compatibility/rpc/triple/pb2/README.md
diff --git a/rpc/triple/pb2/README_zh.md b/compatibility/rpc/triple/pb2/README_zh.md
similarity index 100%
rename from rpc/triple/pb2/README_zh.md
rename to compatibility/rpc/triple/pb2/README_zh.md
diff --git a/rpc/triple/pb2/api/helloworld.pb.go b/compatibility/rpc/triple/pb2/api/helloworld.pb.go
similarity index 98%
rename from rpc/triple/pb2/api/helloworld.pb.go
rename to compatibility/rpc/triple/pb2/api/helloworld.pb.go
index c27d7cad..e813aba4 100644
--- a/rpc/triple/pb2/api/helloworld.pb.go
+++ b/compatibility/rpc/triple/pb2/api/helloworld.pb.go
@@ -40,7 +40,7 @@
 package api
 
 import (
-	models "github.com/apache/dubbo-go-samples/rpc/triple/pb2/models"
+	models "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/models"
 	protoreflect "google.golang.org/protobuf/reflect/protoreflect"
 	protoimpl "google.golang.org/protobuf/runtime/protoimpl"
 	reflect "reflect"
diff --git a/rpc/triple/pb2/api/helloworld.proto b/compatibility/rpc/triple/pb2/api/helloworld.proto
similarity index 97%
rename from rpc/triple/pb2/api/helloworld.proto
rename to compatibility/rpc/triple/pb2/api/helloworld.proto
index c9f84aee..29ab3866 100644
--- a/rpc/triple/pb2/api/helloworld.proto
+++ b/compatibility/rpc/triple/pb2/api/helloworld.proto
@@ -1,32 +1,32 @@
-/*
- * 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.
- */
-
-syntax = "proto2";
-
-package org.apache.dubbogo.samples.rpc.triple.pb2.api;
-
-import "github.com/apache/dubbo-go-samples/rpc/triple/pb2/models/generated.proto";
-
-option go_package = "./;api";
-
-// The greeting service definition.
-service Greeter {
-  // Sends a greeting
-  rpc SayHello (github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.HelloRequest) returns (github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.User) {}
-  // Sends a greeting via stream
-  rpc SayHelloStream (stream github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.HelloRequest) returns (stream github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.User) {}
+/*
+ * 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.
+ */
+
+syntax = "proto2";
+
+package org.apache.dubbogo.samples.rpc.triple.pb2.api;
+
+import "github.com/apache/dubbo-go-samples/rpc/triple/pb2/models/generated.proto";
+
+option go_package = "./;api";
+
+// The greeting service definition.
+service Greeter {
+  // Sends a greeting
+  rpc SayHello (github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.HelloRequest) returns (github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.User) {}
+  // Sends a greeting via stream
+  rpc SayHelloStream (stream github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.HelloRequest) returns (stream github.com.apache.dubbo_go_samples.rpc.triple.pb2.models.User) {}
 }
\ No newline at end of file
diff --git a/rpc/triple/pb2/api/helloworld_triple.pb.go b/compatibility/rpc/triple/pb2/api/helloworld_triple.pb.go
similarity index 99%
rename from rpc/triple/pb2/api/helloworld_triple.pb.go
rename to compatibility/rpc/triple/pb2/api/helloworld_triple.pb.go
index a3724391..f1793256 100644
--- a/rpc/triple/pb2/api/helloworld_triple.pb.go
+++ b/compatibility/rpc/triple/pb2/api/helloworld_triple.pb.go
@@ -30,7 +30,7 @@ import (
 	dubbo3 "dubbo.apache.org/dubbo-go/v3/protocol/dubbo3"
 	invocation "dubbo.apache.org/dubbo-go/v3/protocol/invocation"
 	fmt "fmt"
-	models "github.com/apache/dubbo-go-samples/rpc/triple/pb2/models"
+	models "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/models"
 	grpc_go "github.com/dubbogo/grpc-go"
 	codes "github.com/dubbogo/grpc-go/codes"
 	metadata "github.com/dubbogo/grpc-go/metadata"
diff --git a/rpc/triple/pb2/go-client/cmd/client.go b/compatibility/rpc/triple/pb2/go-client/cmd/client.go
similarity index 95%
rename from rpc/triple/pb2/go-client/cmd/client.go
rename to compatibility/rpc/triple/pb2/go-client/cmd/client.go
index 0b260621..bce14ac8 100644
--- a/rpc/triple/pb2/go-client/cmd/client.go
+++ b/compatibility/rpc/triple/pb2/go-client/cmd/client.go
@@ -30,8 +30,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/api"
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/models"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/api"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/models"
 )
 
 var greeterProvider = new(api.GreeterClientImpl)
diff --git a/rpc/triple/pb2/go-client/conf/dubbogo.yml b/compatibility/rpc/triple/pb2/go-client/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/pb2/go-client/conf/dubbogo.yml
rename to compatibility/rpc/triple/pb2/go-client/conf/dubbogo.yml
diff --git a/rpc/triple/pb2/go-server/cmd/server.go b/compatibility/rpc/triple/pb2/go-server/cmd/server.go
similarity index 95%
rename from rpc/triple/pb2/go-server/cmd/server.go
rename to compatibility/rpc/triple/pb2/go-server/cmd/server.go
index 9d032f07..199bd49d 100644
--- a/rpc/triple/pb2/go-server/cmd/server.go
+++ b/compatibility/rpc/triple/pb2/go-server/cmd/server.go
@@ -31,7 +31,7 @@ import (
 
 	"github.com/dubbogo/gost/log/logger"
 
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/go-server/pkg"
 	_ "github.com/dubbogo/triple/pkg/triple"
 )
 
diff --git a/rpc/triple/pb2/go-server/conf/dubbogo.yml b/compatibility/rpc/triple/pb2/go-server/conf/dubbogo.yml
similarity index 100%
rename from rpc/triple/pb2/go-server/conf/dubbogo.yml
rename to compatibility/rpc/triple/pb2/go-server/conf/dubbogo.yml
diff --git a/rpc/triple/pb2/go-server/pkg/greeter.go b/compatibility/rpc/triple/pb2/go-server/pkg/greeter.go
similarity index 94%
rename from rpc/triple/pb2/go-server/pkg/greeter.go
rename to compatibility/rpc/triple/pb2/go-server/pkg/greeter.go
index 7350ee4a..dd200804 100644
--- a/rpc/triple/pb2/go-server/pkg/greeter.go
+++ b/compatibility/rpc/triple/pb2/go-server/pkg/greeter.go
@@ -29,8 +29,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/api"
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/models"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/api"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/models"
 )
 
 type GreeterProvider struct {
diff --git a/rpc/triple/pb2/hack/custom-boilerplate.go.txt b/compatibility/rpc/triple/pb2/hack/custom-boilerplate.go.txt
similarity index 100%
rename from rpc/triple/pb2/hack/custom-boilerplate.go.txt
rename to compatibility/rpc/triple/pb2/hack/custom-boilerplate.go.txt
diff --git a/rpc/triple/pb2/hack/gen-go-to-protobuf.sh b/compatibility/rpc/triple/pb2/hack/gen-go-to-protobuf.sh
similarity index 100%
rename from rpc/triple/pb2/hack/gen-go-to-protobuf.sh
rename to compatibility/rpc/triple/pb2/hack/gen-go-to-protobuf.sh
diff --git a/rpc/triple/pb2/hack/note.txt b/compatibility/rpc/triple/pb2/hack/note.txt
similarity index 100%
rename from rpc/triple/pb2/hack/note.txt
rename to compatibility/rpc/triple/pb2/hack/note.txt
diff --git a/rpc/triple/pb2/models/generated.pb.go b/compatibility/rpc/triple/pb2/models/generated.pb.go
similarity index 100%
rename from rpc/triple/pb2/models/generated.pb.go
rename to compatibility/rpc/triple/pb2/models/generated.pb.go
diff --git a/rpc/triple/pb2/models/generated.proto b/compatibility/rpc/triple/pb2/models/generated.proto
similarity index 100%
rename from rpc/triple/pb2/models/generated.proto
rename to compatibility/rpc/triple/pb2/models/generated.proto
diff --git a/rpc/triple/pb2/models/models.go b/compatibility/rpc/triple/pb2/models/models.go
similarity index 100%
rename from rpc/triple/pb2/models/models.go
rename to compatibility/rpc/triple/pb2/models/models.go
diff --git a/seata-go/README.md b/compatibility/seata-go/README.md
similarity index 100%
rename from seata-go/README.md
rename to compatibility/seata-go/README.md
diff --git a/seata-go/README_zh.md b/compatibility/seata-go/README_zh.md
similarity index 100%
rename from seata-go/README_zh.md
rename to compatibility/seata-go/README_zh.md
diff --git a/seata-go/docker-compose.yml b/compatibility/seata-go/docker-compose.yml
similarity index 100%
rename from seata-go/docker-compose.yml
rename to compatibility/seata-go/docker-compose.yml
diff --git a/seata-go/tcc/README.md b/compatibility/seata-go/tcc/README.md
similarity index 100%
rename from seata-go/tcc/README.md
rename to compatibility/seata-go/tcc/README.md
diff --git a/seata-go/tcc/client/cmd/client.go b/compatibility/seata-go/tcc/client/cmd/client.go
similarity index 96%
rename from seata-go/tcc/client/cmd/client.go
rename to compatibility/seata-go/tcc/client/cmd/client.go
index 1705a39b..cd1ee7b2 100644
--- a/seata-go/tcc/client/cmd/client.go
+++ b/compatibility/seata-go/tcc/client/cmd/client.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/seata-go/tcc/client/service"
+	"github.com/apache/dubbo-go-samples/compatibility/seata-go/tcc/client/service"
 )
 
 // need to setup environment variable "DUBBO_GO_CONFIG_PATH" to "seata-go/tcc/client/conf/dubbogo.yml"
diff --git a/seata-go/tcc/client/conf/dubbogo.yml b/compatibility/seata-go/tcc/client/conf/dubbogo.yml
similarity index 100%
rename from seata-go/tcc/client/conf/dubbogo.yml
rename to compatibility/seata-go/tcc/client/conf/dubbogo.yml
diff --git a/seata-go/tcc/client/service/user_provider.go b/compatibility/seata-go/tcc/client/service/user_provider.go
similarity index 100%
rename from seata-go/tcc/client/service/user_provider.go
rename to compatibility/seata-go/tcc/client/service/user_provider.go
diff --git a/seata-go/tcc/server/cmd/server.go b/compatibility/seata-go/tcc/server/cmd/server.go
similarity index 96%
rename from seata-go/tcc/server/cmd/server.go
rename to compatibility/seata-go/tcc/server/cmd/server.go
index 6ece0843..39e295de 100644
--- a/seata-go/tcc/server/cmd/server.go
+++ b/compatibility/seata-go/tcc/server/cmd/server.go
@@ -37,7 +37,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/seata-go/tcc/server/service"
+	"github.com/apache/dubbo-go-samples/compatibility/seata-go/tcc/server/service"
 )
 
 // need to setup environment variable "DUBBO_GO_CONFIG_PATH" to "seata-go/tcc/server/conf/dubbogo.yml" before run
diff --git a/seata-go/tcc/server/conf/dubbogo.yml b/compatibility/seata-go/tcc/server/conf/dubbogo.yml
similarity index 100%
rename from seata-go/tcc/server/conf/dubbogo.yml
rename to compatibility/seata-go/tcc/server/conf/dubbogo.yml
diff --git a/seata-go/tcc/server/service/user_provider.go b/compatibility/seata-go/tcc/server/service/user_provider.go
similarity index 100%
rename from seata-go/tcc/server/service/user_provider.go
rename to compatibility/seata-go/tcc/server/service/user_provider.go
diff --git a/skywalking/README.md b/compatibility/skywalking/README.md
similarity index 100%
rename from skywalking/README.md
rename to compatibility/skywalking/README.md
diff --git a/skywalking/README_zh.md b/compatibility/skywalking/README_zh.md
similarity index 100%
rename from skywalking/README_zh.md
rename to compatibility/skywalking/README_zh.md
diff --git a/skywalking/go-client/cmd/client.go b/compatibility/skywalking/go-client/cmd/client.go
similarity index 97%
rename from skywalking/go-client/cmd/client.go
rename to compatibility/skywalking/go-client/cmd/client.go
index cf213ec8..eacb5166 100644
--- a/skywalking/go-client/cmd/client.go
+++ b/compatibility/skywalking/go-client/cmd/client.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/skywalking/go-client/conf/dubbogo.yml b/compatibility/skywalking/go-client/conf/dubbogo.yml
similarity index 100%
rename from skywalking/go-client/conf/dubbogo.yml
rename to compatibility/skywalking/go-client/conf/dubbogo.yml
diff --git a/skywalking/go-server/cmd/server.go b/compatibility/skywalking/go-server/cmd/server.go
similarity index 98%
rename from skywalking/go-server/cmd/server.go
rename to compatibility/skywalking/go-server/cmd/server.go
index 2e8df1d7..b5c13d34 100644
--- a/skywalking/go-server/cmd/server.go
+++ b/compatibility/skywalking/go-server/cmd/server.go
@@ -34,7 +34,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type Greeter struct {
diff --git a/skywalking/go-server/conf/dubbogo.yml b/compatibility/skywalking/go-server/conf/dubbogo.yml
similarity index 100%
rename from skywalking/go-server/conf/dubbogo.yml
rename to compatibility/skywalking/go-server/conf/dubbogo.yml
diff --git a/task/shop/.images/shop-arc.png b/compatibility/task/shop/.images/shop-arc.png
similarity index 100%
rename from task/shop/.images/shop-arc.png
rename to compatibility/task/shop/.images/shop-arc.png
diff --git a/task/shop/READEME_CN.md b/compatibility/task/shop/READEME_CN.md
similarity index 100%
rename from task/shop/READEME_CN.md
rename to compatibility/task/shop/READEME_CN.md
diff --git a/task/shop/comment/api/comment_api.pb.go b/compatibility/task/shop/comment/api/comment_api.pb.go
similarity index 100%
rename from task/shop/comment/api/comment_api.pb.go
rename to compatibility/task/shop/comment/api/comment_api.pb.go
diff --git a/task/shop/comment/api/comment_api.proto b/compatibility/task/shop/comment/api/comment_api.proto
similarity index 100%
rename from task/shop/comment/api/comment_api.proto
rename to compatibility/task/shop/comment/api/comment_api.proto
diff --git a/task/shop/comment/api/comment_api_triple.pb.go b/compatibility/task/shop/comment/api/comment_api_triple.pb.go
similarity index 100%
rename from task/shop/comment/api/comment_api_triple.pb.go
rename to compatibility/task/shop/comment/api/comment_api_triple.pb.go
diff --git a/task/shop/comment/server_v1/cmd/server.go b/compatibility/task/shop/comment/server_v1/cmd/server.go
similarity index 100%
rename from task/shop/comment/server_v1/cmd/server.go
rename to compatibility/task/shop/comment/server_v1/cmd/server.go
diff --git a/task/shop/comment/server_v1/conf/dubbogo.yaml b/compatibility/task/shop/comment/server_v1/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/comment/server_v1/conf/dubbogo.yaml
rename to compatibility/task/shop/comment/server_v1/conf/dubbogo.yaml
diff --git a/task/shop/comment/server_v2/cmd/server.go b/compatibility/task/shop/comment/server_v2/cmd/server.go
similarity index 100%
rename from task/shop/comment/server_v2/cmd/server.go
rename to compatibility/task/shop/comment/server_v2/cmd/server.go
diff --git a/task/shop/comment/server_v2/conf/dubbogo.yaml b/compatibility/task/shop/comment/server_v2/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/comment/server_v2/conf/dubbogo.yaml
rename to compatibility/task/shop/comment/server_v2/conf/dubbogo.yaml
diff --git a/task/shop/comment/test/client/client.go b/compatibility/task/shop/comment/test/client/client.go
similarity index 100%
rename from task/shop/comment/test/client/client.go
rename to compatibility/task/shop/comment/test/client/client.go
diff --git a/task/shop/comment/test/conf/dubbogo.yaml b/compatibility/task/shop/comment/test/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/comment/test/conf/dubbogo.yaml
rename to compatibility/task/shop/comment/test/conf/dubbogo.yaml
diff --git a/task/shop/detail/api/detail_api.pb.go b/compatibility/task/shop/detail/api/detail_api.pb.go
similarity index 100%
rename from task/shop/detail/api/detail_api.pb.go
rename to compatibility/task/shop/detail/api/detail_api.pb.go
diff --git a/task/shop/detail/api/detail_api.proto b/compatibility/task/shop/detail/api/detail_api.proto
similarity index 100%
rename from task/shop/detail/api/detail_api.proto
rename to compatibility/task/shop/detail/api/detail_api.proto
diff --git a/task/shop/detail/api/detail_api_triple.pb.go b/compatibility/task/shop/detail/api/detail_api_triple.pb.go
similarity index 100%
rename from task/shop/detail/api/detail_api_triple.pb.go
rename to compatibility/task/shop/detail/api/detail_api_triple.pb.go
diff --git a/task/shop/detail/server_v1/cmd/server.go b/compatibility/task/shop/detail/server_v1/cmd/server.go
similarity index 100%
rename from task/shop/detail/server_v1/cmd/server.go
rename to compatibility/task/shop/detail/server_v1/cmd/server.go
diff --git a/task/shop/detail/server_v1/conf/dubbogo.yaml b/compatibility/task/shop/detail/server_v1/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/detail/server_v1/conf/dubbogo.yaml
rename to compatibility/task/shop/detail/server_v1/conf/dubbogo.yaml
diff --git a/task/shop/detail/server_v2/cmd/server.go b/compatibility/task/shop/detail/server_v2/cmd/server.go
similarity index 100%
rename from task/shop/detail/server_v2/cmd/server.go
rename to compatibility/task/shop/detail/server_v2/cmd/server.go
diff --git a/task/shop/detail/server_v2/conf/dubbogo.yaml b/compatibility/task/shop/detail/server_v2/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/detail/server_v2/conf/dubbogo.yaml
rename to compatibility/task/shop/detail/server_v2/conf/dubbogo.yaml
diff --git a/task/shop/detail/test/client/client.go b/compatibility/task/shop/detail/test/client/client.go
similarity index 100%
rename from task/shop/detail/test/client/client.go
rename to compatibility/task/shop/detail/test/client/client.go
diff --git a/task/shop/detail/test/conf/dubbogo.yaml b/compatibility/task/shop/detail/test/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/detail/test/conf/dubbogo.yaml
rename to compatibility/task/shop/detail/test/conf/dubbogo.yaml
diff --git a/task/shop/frontend/api/frontend_api.go b/compatibility/task/shop/frontend/api/frontend_api.go
similarity index 100%
rename from task/shop/frontend/api/frontend_api.go
rename to compatibility/task/shop/frontend/api/frontend_api.go
diff --git a/task/shop/frontend/cmd/main.go b/compatibility/task/shop/frontend/cmd/main.go
similarity index 100%
rename from task/shop/frontend/cmd/main.go
rename to compatibility/task/shop/frontend/cmd/main.go
diff --git a/task/shop/frontend/conf/dubbogo.yaml b/compatibility/task/shop/frontend/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/frontend/conf/dubbogo.yaml
rename to compatibility/task/shop/frontend/conf/dubbogo.yaml
diff --git a/task/shop/frontend/pages/router.go b/compatibility/task/shop/frontend/pages/router.go
similarity index 100%
rename from task/shop/frontend/pages/router.go
rename to compatibility/task/shop/frontend/pages/router.go
diff --git a/task/shop/frontend/pages/server.go b/compatibility/task/shop/frontend/pages/server.go
similarity index 100%
rename from task/shop/frontend/pages/server.go
rename to compatibility/task/shop/frontend/pages/server.go
diff --git a/task/shop/frontend/pages/static/architecture.png b/compatibility/task/shop/frontend/pages/static/architecture.png
similarity index 100%
rename from task/shop/frontend/pages/static/architecture.png
rename to compatibility/task/shop/frontend/pages/static/architecture.png
diff --git a/task/shop/frontend/pages/static/goods.png b/compatibility/task/shop/frontend/pages/static/goods.png
similarity index 100%
rename from task/shop/frontend/pages/static/goods.png
rename to compatibility/task/shop/frontend/pages/static/goods.png
diff --git a/task/shop/frontend/pages/static/jquery-3.6.3.min.js b/compatibility/task/shop/frontend/pages/static/jquery-3.6.3.min.js
similarity index 100%
rename from task/shop/frontend/pages/static/jquery-3.6.3.min.js
rename to compatibility/task/shop/frontend/pages/static/jquery-3.6.3.min.js
diff --git a/task/shop/frontend/pages/templates/detail.html b/compatibility/task/shop/frontend/pages/templates/detail.html
similarity index 100%
rename from task/shop/frontend/pages/templates/detail.html
rename to compatibility/task/shop/frontend/pages/templates/detail.html
diff --git a/task/shop/frontend/pages/templates/index.html b/compatibility/task/shop/frontend/pages/templates/index.html
similarity index 100%
rename from task/shop/frontend/pages/templates/index.html
rename to compatibility/task/shop/frontend/pages/templates/index.html
diff --git a/task/shop/frontend/server_v1/server.go b/compatibility/task/shop/frontend/server_v1/server.go
similarity index 100%
rename from task/shop/frontend/server_v1/server.go
rename to compatibility/task/shop/frontend/server_v1/server.go
diff --git a/task/shop/go.mod b/compatibility/task/shop/go.mod
similarity index 100%
rename from task/shop/go.mod
rename to compatibility/task/shop/go.mod
diff --git a/task/shop/go.sum b/compatibility/task/shop/go.sum
similarity index 100%
rename from task/shop/go.sum
rename to compatibility/task/shop/go.sum
diff --git a/task/shop/order/api/order_api.pb.go b/compatibility/task/shop/order/api/order_api.pb.go
similarity index 100%
rename from task/shop/order/api/order_api.pb.go
rename to compatibility/task/shop/order/api/order_api.pb.go
diff --git a/task/shop/order/api/order_api.proto b/compatibility/task/shop/order/api/order_api.proto
similarity index 100%
rename from task/shop/order/api/order_api.proto
rename to compatibility/task/shop/order/api/order_api.proto
diff --git a/task/shop/order/api/order_api_triple.pb.go b/compatibility/task/shop/order/api/order_api_triple.pb.go
similarity index 100%
rename from task/shop/order/api/order_api_triple.pb.go
rename to compatibility/task/shop/order/api/order_api_triple.pb.go
diff --git a/task/shop/order/server_v1/cmd/server.go b/compatibility/task/shop/order/server_v1/cmd/server.go
similarity index 100%
rename from task/shop/order/server_v1/cmd/server.go
rename to compatibility/task/shop/order/server_v1/cmd/server.go
diff --git a/task/shop/order/server_v1/conf/dubbogo.yaml b/compatibility/task/shop/order/server_v1/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/order/server_v1/conf/dubbogo.yaml
rename to compatibility/task/shop/order/server_v1/conf/dubbogo.yaml
diff --git a/task/shop/order/server_v2/cmd/server.go b/compatibility/task/shop/order/server_v2/cmd/server.go
similarity index 100%
rename from task/shop/order/server_v2/cmd/server.go
rename to compatibility/task/shop/order/server_v2/cmd/server.go
diff --git a/task/shop/order/server_v2/conf/dubbogo.yaml b/compatibility/task/shop/order/server_v2/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/order/server_v2/conf/dubbogo.yaml
rename to compatibility/task/shop/order/server_v2/conf/dubbogo.yaml
diff --git a/task/shop/order/test/client/client.go b/compatibility/task/shop/order/test/client/client.go
similarity index 100%
rename from task/shop/order/test/client/client.go
rename to compatibility/task/shop/order/test/client/client.go
diff --git a/task/shop/order/test/conf/dubbogo.yaml b/compatibility/task/shop/order/test/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/order/test/conf/dubbogo.yaml
rename to compatibility/task/shop/order/test/conf/dubbogo.yaml
diff --git a/task/shop/user/api/user_api.pb.go b/compatibility/task/shop/user/api/user_api.pb.go
similarity index 100%
rename from task/shop/user/api/user_api.pb.go
rename to compatibility/task/shop/user/api/user_api.pb.go
diff --git a/task/shop/user/api/user_api.proto b/compatibility/task/shop/user/api/user_api.proto
similarity index 100%
rename from task/shop/user/api/user_api.proto
rename to compatibility/task/shop/user/api/user_api.proto
diff --git a/task/shop/user/api/user_api_triple.pb.go b/compatibility/task/shop/user/api/user_api_triple.pb.go
similarity index 100%
rename from task/shop/user/api/user_api_triple.pb.go
rename to compatibility/task/shop/user/api/user_api_triple.pb.go
diff --git a/task/shop/user/server/cmd/server.go b/compatibility/task/shop/user/server/cmd/server.go
similarity index 100%
rename from task/shop/user/server/cmd/server.go
rename to compatibility/task/shop/user/server/cmd/server.go
diff --git a/task/shop/user/server/conf/dubbogo.yaml b/compatibility/task/shop/user/server/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/user/server/conf/dubbogo.yaml
rename to compatibility/task/shop/user/server/conf/dubbogo.yaml
diff --git a/task/shop/user/test/client/client.go b/compatibility/task/shop/user/test/client/client.go
similarity index 100%
rename from task/shop/user/test/client/client.go
rename to compatibility/task/shop/user/test/client/client.go
diff --git a/task/shop/user/test/conf/dubbogo.yaml b/compatibility/task/shop/user/test/conf/dubbogo.yaml
similarity index 100%
rename from task/shop/user/test/conf/dubbogo.yaml
rename to compatibility/task/shop/user/test/conf/dubbogo.yaml
diff --git a/tls/README.md b/compatibility/tls/README.md
similarity index 100%
rename from tls/README.md
rename to compatibility/tls/README.md
diff --git a/tls/README_zh.md b/compatibility/tls/README_zh.md
similarity index 100%
rename from tls/README_zh.md
rename to compatibility/tls/README_zh.md
diff --git a/tls/dubbo/go-client/cmd/client.go b/compatibility/tls/dubbo/go-client/cmd/client.go
similarity index 97%
rename from tls/dubbo/go-client/cmd/client.go
rename to compatibility/tls/dubbo/go-client/cmd/client.go
index 78307d8a..119d31ac 100644
--- a/tls/dubbo/go-client/cmd/client.go
+++ b/compatibility/tls/dubbo/go-client/cmd/client.go
@@ -31,7 +31,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tls/dubbo/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tls/dubbo/go-client/pkg"
 )
 
 var (
diff --git a/tls/dubbo/go-client/conf/dubbogo.yml b/compatibility/tls/dubbo/go-client/conf/dubbogo.yml
similarity index 100%
rename from tls/dubbo/go-client/conf/dubbogo.yml
rename to compatibility/tls/dubbo/go-client/conf/dubbogo.yml
diff --git a/tls/dubbo/go-client/pkg/user.go b/compatibility/tls/dubbo/go-client/pkg/user.go
similarity index 100%
rename from tls/dubbo/go-client/pkg/user.go
rename to compatibility/tls/dubbo/go-client/pkg/user.go
diff --git a/rpc/dubbo/go-server/cmd/server.go b/compatibility/tls/dubbo/go-server/cmd/server.go
similarity index 96%
rename from rpc/dubbo/go-server/cmd/server.go
rename to compatibility/tls/dubbo/go-server/cmd/server.go
index e78ccfee..1cf7241a 100644
--- a/rpc/dubbo/go-server/cmd/server.go
+++ b/compatibility/tls/dubbo/go-server/cmd/server.go
@@ -35,7 +35,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/dubbo/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tls/dubbo/go-server/pkg"
 )
 
 var (
diff --git a/tls/dubbo/go-server/conf/dubbogo.yml b/compatibility/tls/dubbo/go-server/conf/dubbogo.yml
similarity index 100%
rename from tls/dubbo/go-server/conf/dubbogo.yml
rename to compatibility/tls/dubbo/go-server/conf/dubbogo.yml
diff --git a/tls/dubbo/go-server/pkg/common_user_provider.go b/compatibility/tls/dubbo/go-server/pkg/common_user_provider.go
similarity index 100%
rename from tls/dubbo/go-server/pkg/common_user_provider.go
rename to compatibility/tls/dubbo/go-server/pkg/common_user_provider.go
diff --git a/tls/dubbo/go-server/pkg/complex_provider.go b/compatibility/tls/dubbo/go-server/pkg/complex_provider.go
similarity index 100%
rename from tls/dubbo/go-server/pkg/complex_provider.go
rename to compatibility/tls/dubbo/go-server/pkg/complex_provider.go
diff --git a/tls/dubbo/go-server/pkg/user.go b/compatibility/tls/dubbo/go-server/pkg/user.go
similarity index 100%
rename from tls/dubbo/go-server/pkg/user.go
rename to compatibility/tls/dubbo/go-server/pkg/user.go
diff --git a/tls/dubbo/go-server/pkg/user_provider.go b/compatibility/tls/dubbo/go-server/pkg/user_provider.go
similarity index 100%
rename from tls/dubbo/go-server/pkg/user_provider.go
rename to compatibility/tls/dubbo/go-server/pkg/user_provider.go
diff --git a/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go b/compatibility/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
similarity index 100%
rename from tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
rename to compatibility/tls/dubbo/go-server/pkg/wrapper_array_class_provider.go
diff --git a/tls/grpc/go-client/cmd/client.go b/compatibility/tls/grpc/go-client/cmd/client.go
similarity index 95%
rename from tls/grpc/go-client/cmd/client.go
rename to compatibility/tls/grpc/go-client/cmd/client.go
index 08e8ac6e..e2bee8a4 100644
--- a/tls/grpc/go-client/cmd/client.go
+++ b/compatibility/tls/grpc/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/tls/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/tls/grpc/protobuf"
 )
 
 var grpcGreeterImpl = new(pb.GreeterClientImpl)
diff --git a/tls/grpc/go-client/conf/dubbogo.yml b/compatibility/tls/grpc/go-client/conf/dubbogo.yml
similarity index 100%
rename from tls/grpc/go-client/conf/dubbogo.yml
rename to compatibility/tls/grpc/go-client/conf/dubbogo.yml
diff --git a/tls/grpc/go-server/cmd/server.go b/compatibility/tls/grpc/go-server/cmd/server.go
similarity index 96%
rename from tls/grpc/go-server/cmd/server.go
rename to compatibility/tls/grpc/go-server/cmd/server.go
index 8d0ae211..3d8a53ec 100644
--- a/tls/grpc/go-server/cmd/server.go
+++ b/compatibility/tls/grpc/go-server/cmd/server.go
@@ -32,7 +32,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/tls/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/tls/grpc/protobuf"
 )
 
 var (
diff --git a/tls/grpc/go-server/conf/dubbogo.yml b/compatibility/tls/grpc/go-server/conf/dubbogo.yml
similarity index 100%
rename from tls/grpc/go-server/conf/dubbogo.yml
rename to compatibility/tls/grpc/go-server/conf/dubbogo.yml
diff --git a/tls/grpc/protobuf/helloworld.pb.go b/compatibility/tls/grpc/protobuf/helloworld.pb.go
similarity index 100%
rename from tls/grpc/protobuf/helloworld.pb.go
rename to compatibility/tls/grpc/protobuf/helloworld.pb.go
diff --git a/tls/grpc/protobuf/helloworld.proto b/compatibility/tls/grpc/protobuf/helloworld.proto
similarity index 100%
rename from tls/grpc/protobuf/helloworld.proto
rename to compatibility/tls/grpc/protobuf/helloworld.proto
diff --git a/tls/grpc/protobuf/protobuf.mk b/compatibility/tls/grpc/protobuf/protobuf.mk
similarity index 100%
rename from tls/grpc/protobuf/protobuf.mk
rename to compatibility/tls/grpc/protobuf/protobuf.mk
diff --git a/tls/triple/codec/codec.go b/compatibility/tls/triple/codec/codec.go
similarity index 100%
rename from tls/triple/codec/codec.go
rename to compatibility/tls/triple/codec/codec.go
diff --git a/tls/triple/go-client/cmd/client.go b/compatibility/tls/triple/go-client/cmd/client.go
similarity index 95%
rename from tls/triple/go-client/cmd/client.go
rename to compatibility/tls/triple/go-client/cmd/client.go
index 1a986b1f..283a185c 100644
--- a/tls/triple/go-client/cmd/client.go
+++ b/compatibility/tls/triple/go-client/cmd/client.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	_ "github.com/apache/dubbo-go-samples/tls/triple/codec"
+	_ "github.com/apache/dubbo-go-samples/compatibility/tls/triple/codec"
 )
 
 type User struct {
diff --git a/tls/triple/go-client/conf/dubbogo.yml b/compatibility/tls/triple/go-client/conf/dubbogo.yml
similarity index 100%
rename from tls/triple/go-client/conf/dubbogo.yml
rename to compatibility/tls/triple/go-client/conf/dubbogo.yml
diff --git a/tls/triple/go-server/cmd/server.go b/compatibility/tls/triple/go-server/cmd/server.go
similarity index 95%
rename from tls/triple/go-server/cmd/server.go
rename to compatibility/tls/triple/go-server/cmd/server.go
index 96694319..74bc238f 100644
--- a/tls/triple/go-server/cmd/server.go
+++ b/compatibility/tls/triple/go-server/cmd/server.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	_ "github.com/apache/dubbo-go-samples/tls/triple/codec"
+	_ "github.com/apache/dubbo-go-samples/compatibility/tls/triple/codec"
 )
 
 type User struct {
diff --git a/tls/triple/go-server/conf/dubbogo.yml b/compatibility/tls/triple/go-server/conf/dubbogo.yml
similarity index 100%
rename from tls/triple/go-server/conf/dubbogo.yml
rename to compatibility/tls/triple/go-server/conf/dubbogo.yml
diff --git a/tls/x509/README.md b/compatibility/tls/x509/README.md
similarity index 100%
rename from tls/x509/README.md
rename to compatibility/tls/x509/README.md
diff --git a/tls/x509/client1_cert.pem b/compatibility/tls/x509/client1_cert.pem
similarity index 100%
rename from tls/x509/client1_cert.pem
rename to compatibility/tls/x509/client1_cert.pem
diff --git a/tls/x509/client1_key.pem b/compatibility/tls/x509/client1_key.pem
similarity index 100%
rename from tls/x509/client1_key.pem
rename to compatibility/tls/x509/client1_key.pem
diff --git a/tls/x509/client2_cert.pem b/compatibility/tls/x509/client2_cert.pem
similarity index 100%
rename from tls/x509/client2_cert.pem
rename to compatibility/tls/x509/client2_cert.pem
diff --git a/tls/x509/client2_key.pem b/compatibility/tls/x509/client2_key.pem
similarity index 100%
rename from tls/x509/client2_key.pem
rename to compatibility/tls/x509/client2_key.pem
diff --git a/tls/x509/client_ca_cert.pem b/compatibility/tls/x509/client_ca_cert.pem
similarity index 100%
rename from tls/x509/client_ca_cert.pem
rename to compatibility/tls/x509/client_ca_cert.pem
diff --git a/tls/x509/client_ca_key.pem b/compatibility/tls/x509/client_ca_key.pem
similarity index 100%
rename from tls/x509/client_ca_key.pem
rename to compatibility/tls/x509/client_ca_key.pem
diff --git a/tls/x509/create.sh b/compatibility/tls/x509/create.sh
similarity index 100%
rename from tls/x509/create.sh
rename to compatibility/tls/x509/create.sh
diff --git a/tls/x509/multiple_uri_cert.pem b/compatibility/tls/x509/multiple_uri_cert.pem
similarity index 100%
rename from tls/x509/multiple_uri_cert.pem
rename to compatibility/tls/x509/multiple_uri_cert.pem
diff --git a/tls/x509/multiple_uri_key.pem b/compatibility/tls/x509/multiple_uri_key.pem
similarity index 100%
rename from tls/x509/multiple_uri_key.pem
rename to compatibility/tls/x509/multiple_uri_key.pem
diff --git a/tls/x509/openssl.cnf b/compatibility/tls/x509/openssl.cnf
similarity index 100%
rename from tls/x509/openssl.cnf
rename to compatibility/tls/x509/openssl.cnf
diff --git a/tls/x509/server1_cert.pem b/compatibility/tls/x509/server1_cert.pem
similarity index 100%
rename from tls/x509/server1_cert.pem
rename to compatibility/tls/x509/server1_cert.pem
diff --git a/tls/x509/server1_key.pem b/compatibility/tls/x509/server1_key.pem
similarity index 100%
rename from tls/x509/server1_key.pem
rename to compatibility/tls/x509/server1_key.pem
diff --git a/tls/x509/server2_cert.pem b/compatibility/tls/x509/server2_cert.pem
similarity index 100%
rename from tls/x509/server2_cert.pem
rename to compatibility/tls/x509/server2_cert.pem
diff --git a/tls/x509/server2_key.pem b/compatibility/tls/x509/server2_key.pem
similarity index 100%
rename from tls/x509/server2_key.pem
rename to compatibility/tls/x509/server2_key.pem
diff --git a/tls/x509/server_ca_cert.pem b/compatibility/tls/x509/server_ca_cert.pem
similarity index 100%
rename from tls/x509/server_ca_cert.pem
rename to compatibility/tls/x509/server_ca_cert.pem
diff --git a/tls/x509/server_ca_key.pem b/compatibility/tls/x509/server_ca_key.pem
similarity index 100%
rename from tls/x509/server_ca_key.pem
rename to compatibility/tls/x509/server_ca_key.pem
diff --git a/tls/x509/spiffe_cert.pem b/compatibility/tls/x509/spiffe_cert.pem
similarity index 100%
rename from tls/x509/spiffe_cert.pem
rename to compatibility/tls/x509/spiffe_cert.pem
diff --git a/tls/x509/spiffe_key.pem b/compatibility/tls/x509/spiffe_key.pem
similarity index 100%
rename from tls/x509/spiffe_key.pem
rename to compatibility/tls/x509/spiffe_key.pem
diff --git a/tracing/dubbo/go-client/cmd/client.go b/compatibility/tracing/dubbo/go-client/cmd/client.go
similarity index 97%
rename from tracing/dubbo/go-client/cmd/client.go
rename to compatibility/tracing/dubbo/go-client/cmd/client.go
index 8a4c6d19..fd7d5ecf 100644
--- a/tracing/dubbo/go-client/cmd/client.go
+++ b/compatibility/tracing/dubbo/go-client/cmd/client.go
@@ -46,7 +46,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tracing/dubbo/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tracing/dubbo/go-client/pkg"
 )
 
 var (
diff --git a/tracing/dubbo/go-client/conf/dubbogo.yml b/compatibility/tracing/dubbo/go-client/conf/dubbogo.yml
similarity index 100%
rename from tracing/dubbo/go-client/conf/dubbogo.yml
rename to compatibility/tracing/dubbo/go-client/conf/dubbogo.yml
diff --git a/tracing/dubbo/go-client/docker/docker-compose.yml b/compatibility/tracing/dubbo/go-client/docker/docker-compose.yml
similarity index 100%
rename from tracing/dubbo/go-client/docker/docker-compose.yml
rename to compatibility/tracing/dubbo/go-client/docker/docker-compose.yml
diff --git a/tracing/dubbo/go-client/pkg/user.go b/compatibility/tracing/dubbo/go-client/pkg/user.go
similarity index 100%
rename from tracing/dubbo/go-client/pkg/user.go
rename to compatibility/tracing/dubbo/go-client/pkg/user.go
diff --git a/tracing/dubbo/go-server/cmd/server.go b/compatibility/tracing/dubbo/go-server/cmd/server.go
similarity index 97%
rename from tracing/dubbo/go-server/cmd/server.go
rename to compatibility/tracing/dubbo/go-server/cmd/server.go
index 69932b43..3fbfe8d4 100644
--- a/tracing/dubbo/go-server/cmd/server.go
+++ b/compatibility/tracing/dubbo/go-server/cmd/server.go
@@ -45,7 +45,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tracing/dubbo/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tracing/dubbo/go-server/pkg"
 )
 
 var (
diff --git a/tracing/dubbo/go-server/conf/dubbogo.yml b/compatibility/tracing/dubbo/go-server/conf/dubbogo.yml
similarity index 100%
rename from tracing/dubbo/go-server/conf/dubbogo.yml
rename to compatibility/tracing/dubbo/go-server/conf/dubbogo.yml
diff --git a/tracing/dubbo/go-server/docker/docker-compose.yml b/compatibility/tracing/dubbo/go-server/docker/docker-compose.yml
similarity index 100%
rename from tracing/dubbo/go-server/docker/docker-compose.yml
rename to compatibility/tracing/dubbo/go-server/docker/docker-compose.yml
diff --git a/tracing/dubbo/go-server/pkg/user.go b/compatibility/tracing/dubbo/go-server/pkg/user.go
similarity index 100%
rename from tracing/dubbo/go-server/pkg/user.go
rename to compatibility/tracing/dubbo/go-server/pkg/user.go
diff --git a/tracing/grpc/go-client/cmd/client.go b/compatibility/tracing/grpc/go-client/cmd/client.go
similarity index 97%
rename from tracing/grpc/go-client/cmd/client.go
rename to compatibility/tracing/grpc/go-client/cmd/client.go
index aa9576d5..fca4e77e 100644
--- a/tracing/grpc/go-client/cmd/client.go
+++ b/compatibility/tracing/grpc/go-client/cmd/client.go
@@ -44,7 +44,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/tracing/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/tracing/grpc/protobuf"
 )
 
 var (
diff --git a/tracing/grpc/go-client/conf/dubbogo.yml b/compatibility/tracing/grpc/go-client/conf/dubbogo.yml
similarity index 100%
rename from tracing/grpc/go-client/conf/dubbogo.yml
rename to compatibility/tracing/grpc/go-client/conf/dubbogo.yml
diff --git a/tracing/grpc/go-client/docker/docker-compose.yml b/compatibility/tracing/grpc/go-client/docker/docker-compose.yml
similarity index 100%
rename from tracing/grpc/go-client/docker/docker-compose.yml
rename to compatibility/tracing/grpc/go-client/docker/docker-compose.yml
diff --git a/tracing/grpc/go-server/cmd/server.go b/compatibility/tracing/grpc/go-server/cmd/server.go
similarity index 97%
rename from tracing/grpc/go-server/cmd/server.go
rename to compatibility/tracing/grpc/go-server/cmd/server.go
index c08cf277..9e57881b 100644
--- a/tracing/grpc/go-server/cmd/server.go
+++ b/compatibility/tracing/grpc/go-server/cmd/server.go
@@ -44,7 +44,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/tracing/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/tracing/grpc/protobuf"
 )
 
 var (
diff --git a/tracing/grpc/go-server/conf/dubbogo.yml b/compatibility/tracing/grpc/go-server/conf/dubbogo.yml
similarity index 100%
rename from tracing/grpc/go-server/conf/dubbogo.yml
rename to compatibility/tracing/grpc/go-server/conf/dubbogo.yml
diff --git a/tracing/grpc/go-server/docker/docker-compose.yml b/compatibility/tracing/grpc/go-server/docker/docker-compose.yml
similarity index 100%
rename from tracing/grpc/go-server/docker/docker-compose.yml
rename to compatibility/tracing/grpc/go-server/docker/docker-compose.yml
diff --git a/tracing/grpc/protobuf/helloworld.pb.go b/compatibility/tracing/grpc/protobuf/helloworld.pb.go
similarity index 100%
rename from tracing/grpc/protobuf/helloworld.pb.go
rename to compatibility/tracing/grpc/protobuf/helloworld.pb.go
diff --git a/tracing/grpc/protobuf/helloworld.proto b/compatibility/tracing/grpc/protobuf/helloworld.proto
similarity index 100%
rename from tracing/grpc/protobuf/helloworld.proto
rename to compatibility/tracing/grpc/protobuf/helloworld.proto
diff --git a/tracing/grpc/protobuf/protobuf.mk b/compatibility/tracing/grpc/protobuf/protobuf.mk
similarity index 100%
rename from tracing/grpc/protobuf/protobuf.mk
rename to compatibility/tracing/grpc/protobuf/protobuf.mk
diff --git a/tracing/jsonrpc/go-client/cmd/client.go b/compatibility/tracing/jsonrpc/go-client/cmd/client.go
similarity index 97%
rename from tracing/jsonrpc/go-client/cmd/client.go
rename to compatibility/tracing/jsonrpc/go-client/cmd/client.go
index 9245a3ce..12631e91 100644
--- a/tracing/jsonrpc/go-client/cmd/client.go
+++ b/compatibility/tracing/jsonrpc/go-client/cmd/client.go
@@ -45,7 +45,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tracing/jsonrpc/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tracing/jsonrpc/go-client/pkg"
 )
 
 var (
diff --git a/tracing/jsonrpc/go-client/conf/dubbogo.yml b/compatibility/tracing/jsonrpc/go-client/conf/dubbogo.yml
similarity index 100%
rename from tracing/jsonrpc/go-client/conf/dubbogo.yml
rename to compatibility/tracing/jsonrpc/go-client/conf/dubbogo.yml
diff --git a/tracing/jsonrpc/go-client/docker/docker-compose.yml b/compatibility/tracing/jsonrpc/go-client/docker/docker-compose.yml
similarity index 100%
rename from tracing/jsonrpc/go-client/docker/docker-compose.yml
rename to compatibility/tracing/jsonrpc/go-client/docker/docker-compose.yml
diff --git a/tracing/jsonrpc/go-client/pkg/user.go b/compatibility/tracing/jsonrpc/go-client/pkg/user.go
similarity index 100%
rename from tracing/jsonrpc/go-client/pkg/user.go
rename to compatibility/tracing/jsonrpc/go-client/pkg/user.go
diff --git a/tracing/jsonrpc/go-server/cmd/server.go b/compatibility/tracing/jsonrpc/go-server/cmd/server.go
similarity index 97%
rename from tracing/jsonrpc/go-server/cmd/server.go
rename to compatibility/tracing/jsonrpc/go-server/cmd/server.go
index 8a0952df..f309e9f0 100644
--- a/tracing/jsonrpc/go-server/cmd/server.go
+++ b/compatibility/tracing/jsonrpc/go-server/cmd/server.go
@@ -43,7 +43,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tracing/jsonrpc/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tracing/jsonrpc/go-server/pkg"
 )
 
 var (
diff --git a/tracing/jsonrpc/go-server/conf/dubbogo.yml b/compatibility/tracing/jsonrpc/go-server/conf/dubbogo.yml
similarity index 100%
rename from tracing/jsonrpc/go-server/conf/dubbogo.yml
rename to compatibility/tracing/jsonrpc/go-server/conf/dubbogo.yml
diff --git a/tracing/jsonrpc/go-server/docker/docker-compose.yml b/compatibility/tracing/jsonrpc/go-server/docker/docker-compose.yml
similarity index 100%
rename from tracing/jsonrpc/go-server/docker/docker-compose.yml
rename to compatibility/tracing/jsonrpc/go-server/docker/docker-compose.yml
diff --git a/tracing/jsonrpc/go-server/pkg/user.go b/compatibility/tracing/jsonrpc/go-server/pkg/user.go
similarity index 100%
rename from tracing/jsonrpc/go-server/pkg/user.go
rename to compatibility/tracing/jsonrpc/go-server/pkg/user.go
diff --git a/tracing/triple/go-client/cmd/client.go b/compatibility/tracing/triple/go-client/cmd/client.go
similarity index 97%
rename from tracing/triple/go-client/cmd/client.go
rename to compatibility/tracing/triple/go-client/cmd/client.go
index 0d9159e4..e51378a3 100644
--- a/tracing/triple/go-client/cmd/client.go
+++ b/compatibility/tracing/triple/go-client/cmd/client.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = new(api.GreeterClientImpl)
diff --git a/tracing/triple/go-client/conf/dubbogo.yml b/compatibility/tracing/triple/go-client/conf/dubbogo.yml
similarity index 100%
rename from tracing/triple/go-client/conf/dubbogo.yml
rename to compatibility/tracing/triple/go-client/conf/dubbogo.yml
diff --git a/tracing/triple/go-server/cmd/server.go b/compatibility/tracing/triple/go-server/cmd/server.go
similarity index 97%
rename from tracing/triple/go-server/cmd/server.go
rename to compatibility/tracing/triple/go-server/cmd/server.go
index fe6ce427..b7170379 100644
--- a/tracing/triple/go-server/cmd/server.go
+++ b/compatibility/tracing/triple/go-server/cmd/server.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 type GreeterProvider struct {
diff --git a/tracing/triple/go-server/conf/dubbogo.yml b/compatibility/tracing/triple/go-server/conf/dubbogo.yml
similarity index 100%
rename from tracing/triple/go-server/conf/dubbogo.yml
rename to compatibility/tracing/triple/go-server/conf/dubbogo.yml
diff --git a/go.mod b/go.mod
index 019b420d..4acf912d 100644
--- a/go.mod
+++ b/go.mod
@@ -1,7 +1,7 @@
 module github.com/apache/dubbo-go-samples
 
 require (
-	dubbo.apache.org/dubbo-go/v3 v3.1.1-0.20231208074335-546548617b16
+	dubbo.apache.org/dubbo-go/v3 v3.1.1-0.20240111064552-d21e6995a3c7
 	github.com/SkyAPM/go2sky v1.5.0
 	github.com/SkyAPM/go2sky-plugins/dubbo-go v0.0.0-20220718123631-cb8f743b16cf
 	github.com/apache/dubbo-go-hessian2 v1.12.2
@@ -24,6 +24,4 @@ require (
 	google.golang.org/protobuf v1.31.0
 )
 
-replace dubbo.apache.org/dubbo-go/v3 v3.1.1-0.20231208074335-546548617b16 => github.com/DMwangnima/dubbo-go/v3 v3.0.6-0.20231230065329-a5ab8d816c48
-
 go 1.15
diff --git a/go.sum b/go.sum
index 84f453b3..72bd1271 100644
--- a/go.sum
+++ b/go.sum
@@ -600,14 +600,14 @@ contrib.go.opencensus.io/exporter/prometheus v0.4.1/go.mod h1:t9wvfitlUjGXG2IXAZ
 dmitri.shuralyov.com/gpu/mtl v0.0.0-20190408044501-666a987793e9/go.mod h1:H6x//7gZCb22OMCxBHrMx7a5I7Hp++hsVxbQ4BYO7hU=
 dubbo.apache.org/dubbo-go/v3 v3.0.2-0.20220508105316-b27ec53b7bab/go.mod h1:Ytn9MtmsFYkpa1bzW/3loUFBgm7eJ3M3+XWRurhbBZc=
 dubbo.apache.org/dubbo-go/v3 v3.0.2/go.mod h1:bODgByAf72kzG/5YIfZIODXx81pY3gaAdIQ8B4mN/Yk=
+dubbo.apache.org/dubbo-go/v3 v3.1.1-0.20240111064552-d21e6995a3c7 h1:1b/vXgmVWuXNq236VMrMP/heS1FLLP7LaY1ctEemQA8=
+dubbo.apache.org/dubbo-go/v3 v3.1.1-0.20240111064552-d21e6995a3c7/go.mod h1:Aq4YRQHYH5rF6NpeYzPfjTdwhVTOBd5BhdXXstl7EZE=
 gioui.org v0.0.0-20210308172011-57750fc8a0a6/go.mod h1:RSH6KIUZ0p2xy5zHDxgAM4zumjgTw83q2ge/PI+yyw8=
 git.sr.ht/~sbinet/gg v0.3.1/go.mod h1:KGYtlADtqsqANL9ueOFkWymvzUvLMQllU5Ixo+8v3pc=
 github.com/BurntSushi/toml v0.3.1/go.mod h1:xHWCNGjB5oqiDr8zfno3MHue2Ht5sIBksp03qcyfWMU=
 github.com/BurntSushi/toml v1.1.0 h1:ksErzDEI1khOiGPgpwuI7x2ebx/uXQNw7xJpn9Eq1+I=
 github.com/BurntSushi/toml v1.1.0/go.mod h1:CxXYINrC8qIiEnFrOxCa7Jy5BFHlXnUU2pbicEuybxQ=
 github.com/BurntSushi/xgb v0.0.0-20160522181843-27f122750802/go.mod h1:IVnqGOEym/WlBOVXweHU+Q+/VP0lqqI8lqeDx9IjBqo=
-github.com/DMwangnima/dubbo-go/v3 v3.0.6-0.20231230065329-a5ab8d816c48 h1:TXZaBoSh9qPWhLQiteTf0L3SAD7+HK+DlBsZlUNOjCA=
-github.com/DMwangnima/dubbo-go/v3 v3.0.6-0.20231230065329-a5ab8d816c48/go.mod h1:Aq4YRQHYH5rF6NpeYzPfjTdwhVTOBd5BhdXXstl7EZE=
 github.com/DataDog/datadog-go v3.2.0+incompatible/go.mod h1:LButxg5PwREeZtORoXG3tL4fMGNddJ+vMq1mwgfaqoQ=
 github.com/HdrHistogram/hdrhistogram-go v1.1.2 h1:5IcZpTvzydCQeHzK4Ef/D5rrSqwxob0t8PQPMybUNFM=
 github.com/HdrHistogram/hdrhistogram-go v1.1.2/go.mod h1:yDgFjdqOqDEKOvasDdhWNXYg9BVp4O+o5f6V/ehm6Oo=
diff --git a/integrate_test/async/tests/integration/async_test.go b/integrate_test/compatibility/async/tests/integration/async_test.go
similarity index 94%
rename from integrate_test/async/tests/integration/async_test.go
rename to integrate_test/compatibility/async/tests/integration/async_test.go
index aff6b9e1..32928074 100644
--- a/integrate_test/async/tests/integration/async_test.go
+++ b/integrate_test/compatibility/async/tests/integration/async_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/async/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/async/go-client/pkg"
 )
 
 func TestAsync(t *testing.T) {
diff --git a/integrate_test/async/tests/integration/main_test.go b/integrate_test/compatibility/async/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/async/tests/integration/main_test.go
rename to integrate_test/compatibility/async/tests/integration/main_test.go
index 591a53d5..5139a0c8 100644
--- a/integrate_test/async/tests/integration/main_test.go
+++ b/integrate_test/compatibility/async/tests/integration/main_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/async/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/async/go-client/pkg"
 )
 
 var (
diff --git a/integrate_test/filter/token/tests/integration/main_test.go b/integrate_test/compatibility/config-api/config-merge/tests/integration/main_test.go
similarity index 95%
rename from integrate_test/filter/token/tests/integration/main_test.go
rename to integrate_test/compatibility/config-api/config-merge/tests/integration/main_test.go
index fb272bf4..c4387073 100644
--- a/integrate_test/filter/token/tests/integration/main_test.go
+++ b/integrate_test/compatibility/config-api/config-merge/tests/integration/main_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var userProvider = &api.GreeterClientImpl{}
diff --git a/integrate_test/config-api/config-merge/tests/integration/merge_test.go b/integrate_test/compatibility/config-api/config-merge/tests/integration/merge_test.go
similarity index 95%
rename from integrate_test/config-api/config-merge/tests/integration/merge_test.go
rename to integrate_test/compatibility/config-api/config-merge/tests/integration/merge_test.go
index 505c21b1..97663715 100644
--- a/integrate_test/config-api/config-merge/tests/integration/merge_test.go
+++ b/integrate_test/compatibility/config-api/config-merge/tests/integration/merge_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestToken(t *testing.T) {
diff --git a/integrate_test/config-api/configcenter/nacos/tests/integration/config-api-center-nacos_test.go b/integrate_test/compatibility/config-api/configcenter/nacos/tests/integration/config-api-center-nacos_test.go
similarity index 95%
rename from integrate_test/config-api/configcenter/nacos/tests/integration/config-api-center-nacos_test.go
rename to integrate_test/compatibility/config-api/configcenter/nacos/tests/integration/config-api-center-nacos_test.go
index 0a186a48..d86c1c52 100644
--- a/integrate_test/config-api/configcenter/nacos/tests/integration/config-api-center-nacos_test.go
+++ b/integrate_test/compatibility/config-api/configcenter/nacos/tests/integration/config-api-center-nacos_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/config-api/configcenter/nacos/tests/integration/main_test.go b/integrate_test/compatibility/config-api/configcenter/nacos/tests/integration/main_test.go
similarity index 97%
rename from integrate_test/config-api/configcenter/nacos/tests/integration/main_test.go
rename to integrate_test/compatibility/config-api/configcenter/nacos/tests/integration/main_test.go
index db9d34eb..c4ed1dd0 100644
--- a/integrate_test/config-api/configcenter/nacos/tests/integration/main_test.go
+++ b/integrate_test/compatibility/config-api/configcenter/nacos/tests/integration/main_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 const configCenterNacosTestClientConfig = `## set in config center, group is 'dubbo', dataid is 'dubbo-go-samples-configcenter-nacos-client', namespace is default
diff --git a/integrate_test/config-api/configcenter/zookeeper/tests/integration/config-api-center-zk_test.go b/integrate_test/compatibility/config-api/configcenter/zookeeper/tests/integration/config-api-center-zk_test.go
similarity index 95%
rename from integrate_test/config-api/configcenter/zookeeper/tests/integration/config-api-center-zk_test.go
rename to integrate_test/compatibility/config-api/configcenter/zookeeper/tests/integration/config-api-center-zk_test.go
index 0a186a48..d86c1c52 100644
--- a/integrate_test/config-api/configcenter/zookeeper/tests/integration/config-api-center-zk_test.go
+++ b/integrate_test/compatibility/config-api/configcenter/zookeeper/tests/integration/config-api-center-zk_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/config-api/configcenter/zookeeper/tests/integration/main_test.go b/integrate_test/compatibility/config-api/configcenter/zookeeper/tests/integration/main_test.go
similarity index 97%
rename from integrate_test/config-api/configcenter/zookeeper/tests/integration/main_test.go
rename to integrate_test/compatibility/config-api/configcenter/zookeeper/tests/integration/main_test.go
index 96041d4f..9f27024f 100644
--- a/integrate_test/config-api/configcenter/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/compatibility/config-api/configcenter/zookeeper/tests/integration/main_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 const configCenterZKTestClientConfig = `## set in config center, group is 'dubbogo', dataid is 'dubbo-go-samples-configcenter-zookeeper-client', namespace is default
diff --git a/integrate_test/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go b/integrate_test/compatibility/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
similarity index 95%
rename from integrate_test/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
rename to integrate_test/compatibility/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
index 0e7123f1..5a127785 100644
--- a/integrate_test/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
+++ b/integrate_test/compatibility/config-api/rpc/triple/tests/integration/configapi_rpc_triple_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/config-api/rpc/triple/tests/integration/main_test.go b/integrate_test/compatibility/config-api/rpc/triple/tests/integration/main_test.go
similarity index 96%
rename from integrate_test/config-api/rpc/triple/tests/integration/main_test.go
rename to integrate_test/compatibility/config-api/rpc/triple/tests/integration/main_test.go
index 30fbc894..818b0e6b 100644
--- a/integrate_test/config-api/rpc/triple/tests/integration/main_test.go
+++ b/integrate_test/compatibility/config-api/rpc/triple/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(api.GreeterClientImpl)
diff --git a/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go b/integrate_test/compatibility/configcenter/apollo/tests/integration/greeterProvider_test.go
similarity index 94%
rename from integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
rename to integrate_test/compatibility/configcenter/apollo/tests/integration/greeterProvider_test.go
index 2d177f58..b4b59391 100644
--- a/integrate_test/configcenter/apollo/tests/integration/greeterProvider_test.go
+++ b/integrate_test/compatibility/configcenter/apollo/tests/integration/greeterProvider_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/direct/tests/integration/main_test.go b/integrate_test/compatibility/configcenter/apollo/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/direct/tests/integration/main_test.go
rename to integrate_test/compatibility/configcenter/apollo/tests/integration/main_test.go
index d031191f..4f81a75d 100644
--- a/integrate_test/direct/tests/integration/main_test.go
+++ b/integrate_test/compatibility/configcenter/apollo/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(dubbo3pb.GreeterClientImpl)
diff --git a/integrate_test/configcenter/nacos/tests/integration/main_test.go b/integrate_test/compatibility/configcenter/nacos/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/configcenter/nacos/tests/integration/main_test.go
rename to integrate_test/compatibility/configcenter/nacos/tests/integration/main_test.go
diff --git a/integrate_test/configcenter/nacos/tests/integration/userprovider_test.go b/integrate_test/compatibility/configcenter/nacos/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/configcenter/nacos/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/configcenter/nacos/tests/integration/userprovider_test.go
diff --git a/integrate_test/context/dubbo/tests/integration/main_test.go b/integrate_test/compatibility/context/dubbo/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/context/dubbo/tests/integration/main_test.go
rename to integrate_test/compatibility/context/dubbo/tests/integration/main_test.go
diff --git a/integrate_test/context/dubbo/tests/integration/userprovider_test.go b/integrate_test/compatibility/context/dubbo/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/context/dubbo/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/context/dubbo/tests/integration/userprovider_test.go
diff --git a/integrate_test/error/triple/pb/tests/integration/main_test.go b/integrate_test/compatibility/context/triple/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/error/triple/pb/tests/integration/main_test.go
rename to integrate_test/compatibility/context/triple/tests/integration/main_test.go
index b19c54e1..e778c0a3 100644
--- a/integrate_test/error/triple/pb/tests/integration/main_test.go
+++ b/integrate_test/compatibility/context/triple/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(triplepb.GreeterClientImpl)
diff --git a/integrate_test/context/triple/tests/integration/userprovider_test.go b/integrate_test/compatibility/context/triple/tests/integration/userprovider_test.go
similarity index 96%
rename from integrate_test/context/triple/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/context/triple/tests/integration/userprovider_test.go
index 647e240d..809bde1c 100644
--- a/integrate_test/context/triple/tests/integration/userprovider_test.go
+++ b/integrate_test/compatibility/context/triple/tests/integration/userprovider_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/configcenter/apollo/tests/integration/main_test.go b/integrate_test/compatibility/direct/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/configcenter/apollo/tests/integration/main_test.go
rename to integrate_test/compatibility/direct/tests/integration/main_test.go
index d031191f..4f81a75d 100644
--- a/integrate_test/configcenter/apollo/tests/integration/main_test.go
+++ b/integrate_test/compatibility/direct/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(dubbo3pb.GreeterClientImpl)
diff --git a/integrate_test/direct/tests/integration/userprovider_test.go b/integrate_test/compatibility/direct/tests/integration/userprovider_test.go
similarity index 95%
rename from integrate_test/direct/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/direct/tests/integration/userprovider_test.go
index 0a186a48..d86c1c52 100644
--- a/integrate_test/direct/tests/integration/userprovider_test.go
+++ b/integrate_test/compatibility/direct/tests/integration/userprovider_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/error/triple/hessian2/tests/integration/main_test.go b/integrate_test/compatibility/error/triple/hessian2/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/error/triple/hessian2/tests/integration/main_test.go
rename to integrate_test/compatibility/error/triple/hessian2/tests/integration/main_test.go
diff --git a/integrate_test/error/triple/hessian2/tests/integration/userprovider_test.go b/integrate_test/compatibility/error/triple/hessian2/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/error/triple/hessian2/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/error/triple/hessian2/tests/integration/userprovider_test.go
diff --git a/integrate_test/context/triple/tests/integration/main_test.go b/integrate_test/compatibility/error/triple/pb/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/context/triple/tests/integration/main_test.go
rename to integrate_test/compatibility/error/triple/pb/tests/integration/main_test.go
index b19c54e1..e778c0a3 100644
--- a/integrate_test/context/triple/tests/integration/main_test.go
+++ b/integrate_test/compatibility/error/triple/pb/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(triplepb.GreeterClientImpl)
diff --git a/integrate_test/error/triple/pb/tests/integration/userprovider_test.go b/integrate_test/compatibility/error/triple/pb/tests/integration/userprovider_test.go
similarity index 95%
rename from integrate_test/error/triple/pb/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/error/triple/pb/tests/integration/userprovider_test.go
index b338468b..dcd01d2b 100644
--- a/integrate_test/error/triple/pb/tests/integration/userprovider_test.go
+++ b/integrate_test/compatibility/error/triple/pb/tests/integration/userprovider_test.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	triplepb "github.com/apache/dubbo-go-samples/api"
+	triplepb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/filter/custom/tests/integration/main_test.go b/integrate_test/compatibility/filter/custom/tests/integration/main_test.go
similarity index 95%
rename from integrate_test/filter/custom/tests/integration/main_test.go
rename to integrate_test/compatibility/filter/custom/tests/integration/main_test.go
index 2a7a2f4c..05f0ed7a 100644
--- a/integrate_test/filter/custom/tests/integration/main_test.go
+++ b/integrate_test/compatibility/filter/custom/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var userProvider = &api.GreeterClientImpl{}
diff --git a/integrate_test/filter/custom/tests/integration/myfilter.go b/integrate_test/compatibility/filter/custom/tests/integration/myfilter.go
similarity index 100%
rename from integrate_test/filter/custom/tests/integration/myfilter.go
rename to integrate_test/compatibility/filter/custom/tests/integration/myfilter.go
diff --git a/integrate_test/filter/custom/tests/integration/userprovider_test.go b/integrate_test/compatibility/filter/custom/tests/integration/userprovider_test.go
similarity index 95%
rename from integrate_test/filter/custom/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/filter/custom/tests/integration/userprovider_test.go
index 5d4eff9c..9efe85a9 100644
--- a/integrate_test/filter/custom/tests/integration/userprovider_test.go
+++ b/integrate_test/compatibility/filter/custom/tests/integration/userprovider_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestGetUser(t *testing.T) {
diff --git a/integrate_test/config-api/config-merge/tests/integration/main_test.go b/integrate_test/compatibility/filter/token/tests/integration/main_test.go
similarity index 95%
rename from integrate_test/config-api/config-merge/tests/integration/main_test.go
rename to integrate_test/compatibility/filter/token/tests/integration/main_test.go
index fb272bf4..c4387073 100644
--- a/integrate_test/config-api/config-merge/tests/integration/main_test.go
+++ b/integrate_test/compatibility/filter/token/tests/integration/main_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var userProvider = &api.GreeterClientImpl{}
diff --git a/integrate_test/filter/token/tests/integration/token_test.go b/integrate_test/compatibility/filter/token/tests/integration/token_test.go
similarity index 95%
rename from integrate_test/filter/token/tests/integration/token_test.go
rename to integrate_test/compatibility/filter/token/tests/integration/token_test.go
index 505c21b1..97663715 100644
--- a/integrate_test/filter/token/tests/integration/token_test.go
+++ b/integrate_test/compatibility/filter/token/tests/integration/token_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestToken(t *testing.T) {
diff --git a/integrate_test/game/go-server-game/tests/integration/main_test.go b/integrate_test/compatibility/game/go-server-game/tests/integration/main_test.go
similarity index 89%
rename from integrate_test/game/go-server-game/tests/integration/main_test.go
rename to integrate_test/compatibility/game/go-server-game/tests/integration/main_test.go
index 5ff6c874..14c98300 100644
--- a/integrate_test/game/go-server-game/tests/integration/main_test.go
+++ b/integrate_test/compatibility/game/go-server-game/tests/integration/main_test.go
@@ -30,8 +30,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/go-server-game/pkg"
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/go-server-game/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 var gameProvider = pkg.BasketballService{}
diff --git a/integrate_test/game/go-server-game/tests/integration/provider_test.go b/integrate_test/compatibility/game/go-server-game/tests/integration/provider_test.go
similarity index 100%
rename from integrate_test/game/go-server-game/tests/integration/provider_test.go
rename to integrate_test/compatibility/game/go-server-game/tests/integration/provider_test.go
diff --git a/integrate_test/game/go-server-gate/tests/integration/main_test.go b/integrate_test/compatibility/game/go-server-gate/tests/integration/main_test.go
similarity index 89%
rename from integrate_test/game/go-server-gate/tests/integration/main_test.go
rename to integrate_test/compatibility/game/go-server-gate/tests/integration/main_test.go
index b720e21f..6241ab08 100644
--- a/integrate_test/game/go-server-gate/tests/integration/main_test.go
+++ b/integrate_test/compatibility/game/go-server-gate/tests/integration/main_test.go
@@ -30,8 +30,8 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/game/go-server-gate/pkg"
-	"github.com/apache/dubbo-go-samples/game/pkg/pojo"
+	"github.com/apache/dubbo-go-samples/compatibility/game/go-server-gate/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/game/pkg/pojo"
 )
 
 var gateProvider = pkg.BasketballService{}
diff --git a/integrate_test/game/go-server-gate/tests/integration/provider_test.go b/integrate_test/compatibility/game/go-server-gate/tests/integration/provider_test.go
similarity index 100%
rename from integrate_test/game/go-server-gate/tests/integration/provider_test.go
rename to integrate_test/compatibility/game/go-server-gate/tests/integration/provider_test.go
diff --git a/integrate_test/generic/default/docker/docker-compose.yml b/integrate_test/compatibility/generic/default/docker/docker-compose.yml
similarity index 100%
rename from integrate_test/generic/default/docker/docker-compose.yml
rename to integrate_test/compatibility/generic/default/docker/docker-compose.yml
diff --git a/integrate_test/generic/default/docker/docker-health-check.sh b/integrate_test/compatibility/generic/default/docker/docker-health-check.sh
similarity index 100%
rename from integrate_test/generic/default/docker/docker-health-check.sh
rename to integrate_test/compatibility/generic/default/docker/docker-health-check.sh
diff --git a/integrate_test/generic/default/tests/integration/main_test.go b/integrate_test/compatibility/generic/default/tests/integration/main_test.go
similarity index 96%
rename from integrate_test/generic/default/tests/integration/main_test.go
rename to integrate_test/compatibility/generic/default/tests/integration/main_test.go
index c41d5431..8c62a9d6 100644
--- a/integrate_test/generic/default/tests/integration/main_test.go
+++ b/integrate_test/compatibility/generic/default/tests/integration/main_test.go
@@ -33,7 +33,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/generic/default/go-server/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/generic/default/go-server/pkg"
 )
 
 const appName = "dubbo.io"
diff --git a/integrate_test/generic/default/tests/integration/userprovider_test.go b/integrate_test/compatibility/generic/default/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/generic/default/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/generic/default/tests/integration/userprovider_test.go
diff --git a/integrate_test/metrics/tests/integration/helloworld_test.go b/integrate_test/compatibility/metrics/tests/integration/helloworld_test.go
similarity index 95%
rename from integrate_test/metrics/tests/integration/helloworld_test.go
rename to integrate_test/compatibility/metrics/tests/integration/helloworld_test.go
index 0a186a48..d86c1c52 100644
--- a/integrate_test/metrics/tests/integration/helloworld_test.go
+++ b/integrate_test/compatibility/metrics/tests/integration/helloworld_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/metrics/tests/integration/main_test.go b/integrate_test/compatibility/metrics/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/metrics/tests/integration/main_test.go
rename to integrate_test/compatibility/metrics/tests/integration/main_test.go
index d031191f..4f81a75d 100644
--- a/integrate_test/metrics/tests/integration/main_test.go
+++ b/integrate_test/compatibility/metrics/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = new(dubbo3pb.GreeterClientImpl)
diff --git a/integrate_test/polaris/limit/tests/integration/limit_test.go b/integrate_test/compatibility/polaris/limit/tests/integration/limit_test.go
similarity index 100%
rename from integrate_test/polaris/limit/tests/integration/limit_test.go
rename to integrate_test/compatibility/polaris/limit/tests/integration/limit_test.go
diff --git a/integrate_test/polaris/limit/tests/integration/main_test.go b/integrate_test/compatibility/polaris/limit/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/polaris/limit/tests/integration/main_test.go
rename to integrate_test/compatibility/polaris/limit/tests/integration/main_test.go
diff --git a/integrate_test/polaris/registry/tests/integration/main_test.go b/integrate_test/compatibility/polaris/registry/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/polaris/registry/tests/integration/main_test.go
rename to integrate_test/compatibility/polaris/registry/tests/integration/main_test.go
diff --git a/integrate_test/polaris/registry/tests/integration/registry_test.go b/integrate_test/compatibility/polaris/registry/tests/integration/registry_test.go
similarity index 100%
rename from integrate_test/polaris/registry/tests/integration/registry_test.go
rename to integrate_test/compatibility/polaris/registry/tests/integration/registry_test.go
diff --git a/integrate_test/compatibility/registry/all/nacos/tests/integration/greeter_test.go b/integrate_test/compatibility/registry/all/nacos/tests/integration/greeter_test.go
index d038df85..5f0484ac 100644
--- a/integrate_test/compatibility/registry/all/nacos/tests/integration/greeter_test.go
+++ b/integrate_test/compatibility/registry/all/nacos/tests/integration/greeter_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestGreeter(t *testing.T) {
diff --git a/integrate_test/compatibility/registry/all/nacos/tests/integration/main_test.go b/integrate_test/compatibility/registry/all/nacos/tests/integration/main_test.go
index 8d35db6b..f30850b2 100644
--- a/integrate_test/compatibility/registry/all/nacos/tests/integration/main_test.go
+++ b/integrate_test/compatibility/registry/all/nacos/tests/integration/main_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = &api.GreeterClientImpl{}
diff --git a/integrate_test/compatibility/registry/all/zookeeper/tests/integration/greeter_test.go b/integrate_test/compatibility/registry/all/zookeeper/tests/integration/greeter_test.go
index d038df85..5f0484ac 100644
--- a/integrate_test/compatibility/registry/all/zookeeper/tests/integration/greeter_test.go
+++ b/integrate_test/compatibility/registry/all/zookeeper/tests/integration/greeter_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestGreeter(t *testing.T) {
diff --git a/integrate_test/compatibility/registry/all/zookeeper/tests/integration/main_test.go b/integrate_test/compatibility/registry/all/zookeeper/tests/integration/main_test.go
index 8d35db6b..f30850b2 100644
--- a/integrate_test/compatibility/registry/all/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/compatibility/registry/all/zookeeper/tests/integration/main_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var grpcGreeterImpl = &api.GreeterClientImpl{}
diff --git a/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/helloworld_test.go b/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/helloworld_test.go
index 0a186a48..d86c1c52 100644
--- a/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/helloworld_test.go
+++ b/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/helloworld_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/main_test.go b/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/main_test.go
index b2ce2949..bf2ef6b2 100644
--- a/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/main_test.go
+++ b/integrate_test/compatibility/registry/servicediscovery/nacos/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = &dubbo3pb.GreeterClientImpl{}
diff --git a/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/helloworld_test.go b/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/helloworld_test.go
index 0a186a48..d86c1c52 100644
--- a/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/helloworld_test.go
+++ b/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/helloworld_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/main_test.go b/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/main_test.go
index b2ce2949..bf2ef6b2 100644
--- a/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/compatibility/registry/servicediscovery/zookeeper/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = &dubbo3pb.GreeterClientImpl{}
diff --git a/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go b/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go
index 7d06b993..9c916d9d 100644
--- a/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go
+++ b/integrate_test/compatibility/registry/zookeeper/tests/integration/helloworld_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestSayHello(t *testing.T) {
diff --git a/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go b/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go
index f6fdfc44..22b3fed3 100644
--- a/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go
+++ b/integrate_test/compatibility/registry/zookeeper/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	dubbo3pb "github.com/apache/dubbo-go-samples/api"
+	dubbo3pb "github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var greeterProvider = &dubbo3pb.GreeterClientImpl{}
diff --git a/integrate_test/rpc/dubbo/tests/integration/main_test.go b/integrate_test/compatibility/rpc/dubbo/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/rpc/dubbo/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/dubbo/tests/integration/main_test.go
diff --git a/integrate_test/rpc/dubbo/tests/integration/userprovider_test.go b/integrate_test/compatibility/rpc/dubbo/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/rpc/dubbo/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/rpc/dubbo/tests/integration/userprovider_test.go
diff --git a/integrate_test/rpc/grpc/tests/integration/greeter_test.go b/integrate_test/compatibility/rpc/grpc/tests/integration/greeter_test.go
similarity index 94%
rename from integrate_test/rpc/grpc/tests/integration/greeter_test.go
rename to integrate_test/compatibility/rpc/grpc/tests/integration/greeter_test.go
index 290366a0..3dcf1d79 100644
--- a/integrate_test/rpc/grpc/tests/integration/greeter_test.go
+++ b/integrate_test/compatibility/rpc/grpc/tests/integration/greeter_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/rpc/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/rpc/grpc/protobuf"
 )
 
 func TestGreeter(t *testing.T) {
diff --git a/integrate_test/rpc/grpc/tests/integration/main_test.go b/integrate_test/compatibility/rpc/grpc/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/rpc/grpc/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/grpc/tests/integration/main_test.go
index b4c63d88..626369b4 100644
--- a/integrate_test/rpc/grpc/tests/integration/main_test.go
+++ b/integrate_test/compatibility/rpc/grpc/tests/integration/main_test.go
@@ -28,7 +28,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/rpc/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/rpc/grpc/protobuf"
 )
 
 var grpcGreeterImpl = new(pb.GreeterClientImpl)
diff --git a/integrate_test/rpc/jsonrpc/tests/integration/main_test.go b/integrate_test/compatibility/rpc/jsonrpc/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/rpc/jsonrpc/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/jsonrpc/tests/integration/main_test.go
index 1dbff201..7f41c906 100644
--- a/integrate_test/rpc/jsonrpc/tests/integration/main_test.go
+++ b/integrate_test/compatibility/rpc/jsonrpc/tests/integration/main_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/jsonrpc/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/jsonrpc/go-client/pkg"
 )
 
 var (
diff --git a/integrate_test/rpc/jsonrpc/tests/integration/userprovider_test.go b/integrate_test/compatibility/rpc/jsonrpc/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/rpc/jsonrpc/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/rpc/jsonrpc/tests/integration/userprovider_test.go
diff --git a/integrate_test/rpc/triple/codec-extension/tests/integration/codec.go b/integrate_test/compatibility/rpc/triple/codec-extension/tests/integration/codec.go
similarity index 100%
rename from integrate_test/rpc/triple/codec-extension/tests/integration/codec.go
rename to integrate_test/compatibility/rpc/triple/codec-extension/tests/integration/codec.go
diff --git a/integrate_test/rpc/triple/codec-extension/tests/integration/main_test.go b/integrate_test/compatibility/rpc/triple/codec-extension/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/rpc/triple/codec-extension/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/triple/codec-extension/tests/integration/main_test.go
diff --git a/integrate_test/rpc/triple/codec-extension/tests/integration/userprovider_test.go b/integrate_test/compatibility/rpc/triple/codec-extension/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/rpc/triple/codec-extension/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/rpc/triple/codec-extension/tests/integration/userprovider_test.go
diff --git a/integrate_test/rpc/triple/hessian2/tests/integration/main_test.go b/integrate_test/compatibility/rpc/triple/hessian2/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/rpc/triple/hessian2/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/triple/hessian2/tests/integration/main_test.go
diff --git a/integrate_test/rpc/triple/hessian2/tests/integration/userprovider_test.go b/integrate_test/compatibility/rpc/triple/hessian2/tests/integration/userprovider_test.go
similarity index 100%
rename from integrate_test/rpc/triple/hessian2/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/rpc/triple/hessian2/tests/integration/userprovider_test.go
diff --git a/integrate_test/rpc/triple/msgpack/tests/integration/main_test.go b/integrate_test/compatibility/rpc/triple/msgpack/tests/integration/main_test.go
similarity index 95%
rename from integrate_test/rpc/triple/msgpack/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/triple/msgpack/tests/integration/main_test.go
index b14a7ebb..12e492c2 100644
--- a/integrate_test/rpc/triple/msgpack/tests/integration/main_test.go
+++ b/integrate_test/compatibility/rpc/triple/msgpack/tests/integration/main_test.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 var userProvider = new(UserProvider)
diff --git a/integrate_test/rpc/triple/msgpack/tests/integration/userprovider_test.go b/integrate_test/compatibility/rpc/triple/msgpack/tests/integration/userprovider_test.go
similarity index 95%
rename from integrate_test/rpc/triple/msgpack/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/rpc/triple/msgpack/tests/integration/userprovider_test.go
index 0db70800..c0d8e6de 100644
--- a/integrate_test/rpc/triple/msgpack/tests/integration/userprovider_test.go
+++ b/integrate_test/compatibility/rpc/triple/msgpack/tests/integration/userprovider_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/api"
+	"github.com/apache/dubbo-go-samples/compatibility/api"
 )
 
 func TestGetUser(t *testing.T) {
diff --git a/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go b/integrate_test/compatibility/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/triple/pb/dubbogo-grpc/tests/integration/main_test.go
diff --git a/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/userprovider_test.go b/integrate_test/compatibility/rpc/triple/pb/dubbogo-grpc/tests/integration/userprovider_test.go
similarity index 96%
rename from integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/userprovider_test.go
rename to integrate_test/compatibility/rpc/triple/pb/dubbogo-grpc/tests/integration/userprovider_test.go
index ea15ce25..dfaeda80 100644
--- a/integrate_test/rpc/triple/pb/dubbogo-grpc/tests/integration/userprovider_test.go
+++ b/integrate_test/compatibility/rpc/triple/pb/dubbogo-grpc/tests/integration/userprovider_test.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	grpcpb "github.com/apache/dubbo-go-samples/rpc/triple/pb/dubbogo-grpc/protobuf/api"
+	grpcpb "github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb/dubbogo-grpc/protobuf/api"
 )
 
 func TestGRPCClientHello(t *testing.T) {
diff --git a/integrate_test/rpc/triple/pb2/tests/integration/greeter_test.go b/integrate_test/compatibility/rpc/triple/pb2/tests/integration/greeter_test.go
similarity index 96%
rename from integrate_test/rpc/triple/pb2/tests/integration/greeter_test.go
rename to integrate_test/compatibility/rpc/triple/pb2/tests/integration/greeter_test.go
index 950f0392..ac14a78e 100644
--- a/integrate_test/rpc/triple/pb2/tests/integration/greeter_test.go
+++ b/integrate_test/compatibility/rpc/triple/pb2/tests/integration/greeter_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/models"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/models"
 )
 
 func TestStream(t *testing.T) {
diff --git a/integrate_test/rpc/triple/pb2/tests/integration/main_test.go b/integrate_test/compatibility/rpc/triple/pb2/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/rpc/triple/pb2/tests/integration/main_test.go
rename to integrate_test/compatibility/rpc/triple/pb2/tests/integration/main_test.go
index c36666e6..d32aa88b 100644
--- a/integrate_test/rpc/triple/pb2/tests/integration/main_test.go
+++ b/integrate_test/compatibility/rpc/triple/pb2/tests/integration/main_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/rpc/triple/pb2/api"
+	"github.com/apache/dubbo-go-samples/compatibility/rpc/triple/pb2/api"
 )
 
 var greeterProvider = new(api.GreeterClientImpl)
diff --git a/integrate_test/tls/dubbo/tests/integration/main_test.go b/integrate_test/compatibility/tls/dubbo/tests/integration/main_test.go
similarity index 94%
rename from integrate_test/tls/dubbo/tests/integration/main_test.go
rename to integrate_test/compatibility/tls/dubbo/tests/integration/main_test.go
index 33c92c40..43851b89 100644
--- a/integrate_test/tls/dubbo/tests/integration/main_test.go
+++ b/integrate_test/compatibility/tls/dubbo/tests/integration/main_test.go
@@ -30,7 +30,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tls/dubbo/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tls/dubbo/go-client/pkg"
 )
 
 var userProvider = &pkg.UserProvider{}
diff --git a/integrate_test/tls/dubbo/tests/integration/user_test.go b/integrate_test/compatibility/tls/dubbo/tests/integration/user_test.go
similarity index 95%
rename from integrate_test/tls/dubbo/tests/integration/user_test.go
rename to integrate_test/compatibility/tls/dubbo/tests/integration/user_test.go
index f2225e9e..27a401c4 100644
--- a/integrate_test/tls/dubbo/tests/integration/user_test.go
+++ b/integrate_test/compatibility/tls/dubbo/tests/integration/user_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	"github.com/apache/dubbo-go-samples/tls/dubbo/go-client/pkg"
+	"github.com/apache/dubbo-go-samples/compatibility/tls/dubbo/go-client/pkg"
 )
 
 func TestUser(t *testing.T) {
diff --git a/integrate_test/tls/grpc/tests/integration/greeter_test.go b/integrate_test/compatibility/tls/grpc/tests/integration/greeter_test.go
similarity index 94%
rename from integrate_test/tls/grpc/tests/integration/greeter_test.go
rename to integrate_test/compatibility/tls/grpc/tests/integration/greeter_test.go
index 8d76d141..c96bfe5b 100644
--- a/integrate_test/tls/grpc/tests/integration/greeter_test.go
+++ b/integrate_test/compatibility/tls/grpc/tests/integration/greeter_test.go
@@ -29,7 +29,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/tls/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/tls/grpc/protobuf"
 )
 
 func TestGreeter(t *testing.T) {
diff --git a/integrate_test/tls/grpc/tests/integration/main_test.go b/integrate_test/compatibility/tls/grpc/tests/integration/main_test.go
similarity index 93%
rename from integrate_test/tls/grpc/tests/integration/main_test.go
rename to integrate_test/compatibility/tls/grpc/tests/integration/main_test.go
index a9de7266..91999d2f 100644
--- a/integrate_test/tls/grpc/tests/integration/main_test.go
+++ b/integrate_test/compatibility/tls/grpc/tests/integration/main_test.go
@@ -27,7 +27,7 @@ import (
 )
 
 import (
-	pb "github.com/apache/dubbo-go-samples/tls/grpc/protobuf"
+	pb "github.com/apache/dubbo-go-samples/compatibility/tls/grpc/protobuf"
 )
 
 var grpcGreeterImpl = new(pb.GreeterClientImpl)
diff --git a/integrate_test/tls/triple/tests/integration/main_test.go b/integrate_test/compatibility/tls/triple/tests/integration/main_test.go
similarity index 100%
rename from integrate_test/tls/triple/tests/integration/main_test.go
rename to integrate_test/compatibility/tls/triple/tests/integration/main_test.go
diff --git a/integrate_test/tls/triple/tests/integration/user_test.go b/integrate_test/compatibility/tls/triple/tests/integration/user_test.go
similarity index 100%
rename from integrate_test/tls/triple/tests/integration/user_test.go
rename to integrate_test/compatibility/tls/triple/tests/integration/user_test.go
diff --git a/start_integrate_test.sh b/start_integrate_test.sh
index dc49e361..70900951 100755
--- a/start_integrate_test.sh
+++ b/start_integrate_test.sh
@@ -23,57 +23,57 @@ array+=("helloworld")
 #array+=("game/go-server-gate")
 
 # config-api
-array+=("config-api/rpc/triple")
-array+=("config-api/configcenter/nacos")
-array+=("config-api/configcenter/zookeeper")
-array+=("config-api/config-merge")
+array+=("compatibility/config-api/rpc/triple")
+array+=("compatibility/config-api/configcenter/nacos")
+array+=("compatibility/config-api/configcenter/zookeeper")
+array+=("compatibility/config-api/config-merge")
 
 # error
-array+=("error/triple/hessian2")
-array+=("error/triple/pb")
+array+=("compatibility/error/triple/hessian2")
+array+=("compatibility/error/triple/pb")
 
 # metrics
-array+=("metrics")
+array+=("compatibility/metrics")
 
 # direct
-array+=("direct")
+array+=("compatibility/direct")
 
 # filer
-array+=("filter/custom")
-array+=("filter/token")
+array+=("compatibility/filter/custom")
+array+=("compatibility/filter/token")
 
 # context
-array+=("context/dubbo")
-array+=("context/triple")
+array+=("compatibility/context/dubbo")
+array+=("compatibility/context/triple")
 
 # registry
 array+=("registry/zookeeper")
 array+=("registry/nacos")
 
 # generic
-#array+=("generic/default") # illegal service type registered
+#array+=("compatibility/generic/default") # illegal service type registered
 
 # rpc
-array+=("rpc/dubbo")
-#array+=("rpc/triple/codec-extension")
-array+=("rpc/triple/hessian2")
-array+=("rpc/triple/msgpack")
-array+=("rpc/triple/pb/dubbogo-grpc")
-#array+=("rpc/grpc")
-array+=("rpc/jsonrpc")
-array+=("rpc/triple/pb2")
+array+=("compatibility/rpc/dubbo")
+#array+=("compatibility/rpc/triple/codec-extension")
+array+=("compatibility/rpc/triple/hessian2")
+array+=("compatibility/rpc/triple/msgpack")
+array+=("compatibility/rpc/triple/pb/dubbogo-grpc")
+#array+=("compatibility/rpc/grpc")
+array+=("compatibility/rpc/jsonrpc")
+array+=("compatibility/rpc/triple/pb2")
 
 # tls
-#array+=("tls/dubbo")# tls.LoadX509KeyPair(certs{../../../x509/server1_cert.pem}, privateKey{../../../x509/server1_key.pem}) = err:open ../../../x509/server1_cert.pem: no such file or directory
-#array+=("tls/triple")# tls.LoadX509KeyPair(certs{../../../x509/server1_cert.pem}, privateKey{../../../x509/server1_key.pem}) = err:open ../../../x509/server1_cert.pem: no such file or directory
-#array+=("tls/grpc")# tls.LoadX509KeyPair(certs{../../../x509/server1_cert.pem}, privateKey{../../../x509/server1_key.pem}) = err:open ../../../x509/server1_cert.pem: no such file or directory
+#array+=("compatibility/tls/dubbo")# tls.LoadX509KeyPair(certs{../../../x509/server1_cert.pem}, privateKey{../../../x509/server1_key.pem}) = err:open ../../../x509/server1_cert.pem: no such file or directory
+#array+=("compatibility/tls/triple")# tls.LoadX509KeyPair(certs{../../../x509/server1_cert.pem}, privateKey{../../../x509/server1_key.pem}) = err:open ../../../x509/server1_cert.pem: no such file or directory
+#array+=("compatibility/tls/grpc")# tls.LoadX509KeyPair(certs{../../../x509/server1_cert.pem}, privateKey{../../../x509/server1_key.pem}) = err:open ../../../x509/server1_cert.pem: no such file or directory
 
 # async
-array+=("async")
+array+=("compatibility/async")
 
 # polaris
-array+=("polaris/registry")
-array+=("polaris/limit")
+array+=("compatibility/polaris/registry")
+array+=("compatibility/polaris/limit")
 
 # compatibility
 ## registry