The current repo belongs to Paused status, and some functions are restricted. For details, please refer to the description of repo status
55 Star 268 Fork 100

fagongzi/gateway
Paused

Create your Gitee Account
Explore and code with more than 13.5 million developers,Free private repositories !:)
Sign up
文件
cmd
docs-cn
images
api.md
apiserver.md
benchmark.md
build.md
cluster.md
plugin.md
plugin_js.md
proxy.md
restful.md
routing.md
server.md
user-guide.md
docs
examples
grafana
images
pkg
vendor
.gitignore
.travis.yml
Dockerfile
LICENSE
Makefile
README.md
README_CN.md
ROADMAP.md
entrypoint.sh
go.mod
go.sum
Clone or Download
apiserver.md 2.08 KB
Copy Edit Raw Blame History

ApiServer

ApiServer对外提供GRPC接口,用来管理Gateway的元信息(Cluster、Server、Routing以及API)。

对外开放的接口:

// MetaService is a interface for meta manager
service MetaService {
    rpc PutCluster        (PutClusterReq)        returns (PutClusterRsp)         {}
    rpc RemoveCluster     (RemoveClusterReq)     returns (RemoveClusterRsp)      {}
    rpc GetCluster        (GetClusterReq)        returns (GetClusterRsp)         {}
    rpc GetClusterList    (GetClusterListReq)    returns (stream metapb.Cluster) {}
      
    rpc PutServer         (PutServerReq)         returns (PutServerRsp)          {}
    rpc RemoveServer      (RemoveServerReq)      returns (RemoveServerRsp)       {}
    rpc GetServer         (GetServerReq)         returns (GetServerRsp)          {}
    rpc GetServerList     (GetServerListReq)     returns (stream metapb.Server)  {}
      
    rpc PutAPI            (PutAPIReq)            returns (PutAPIRsp)             {}
    rpc RemoveAPI         (RemoveAPIReq)         returns (RemoveAPIRsp)          {}
    rpc GetAPI            (GetAPIReq)            returns (GetAPIRsp)             {}
    rpc GetAPIList        (GetAPIListReq)        returns (stream metapb.API)     {}
      
    rpc PutRouting        (PutRoutingReq)        returns (PutRoutingRsp)         {}
    rpc RemoveRouting     (RemoveRoutingReq)     returns (RemoveRoutingRsp)      {}
    rpc GetRouting        (GetRoutingReq)        returns (GetRoutingRsp)         {}
    rpc GetRoutingList    (GetRoutingListReq)    returns (stream metapb.Routing) {}
      
    rpc AddBind           (AddBindReq)           returns (AddBindRsp)            {}
    rpc RemoveBind        (RemoveBindReq)        returns (RemoveBindRsp)         {}
    rpc RemoveClusterBind (RemoveClusterBindReq) returns (RemoveClusterBindRsp)  {}
    rpc GetBindServers    (GetBindServersReq)    returns (GetBindServersRsp)     {}
}

具体的PB在项目的pkg/pb/rpcpb目录下

客户端

目前Gateway支持GO的客户端,这里以Gateway的GO客户端管理元信息的例子,参见examples

Loading...
马建仓 AI 助手
尝试更多
代码解读
代码找茬
代码优化
Go
1
https://gitee.com/fagongzi/gateway.git
git@gitee.com:fagongzi/gateway.git
fagongzi
gateway
gateway
master

Search