gRPC Service Descriptor
syntax = "proto3";
package fusion.discoveryx.grpc;
import "fusion/discoveryx/model/discoveryx.proto";
// #ConfigService
service ConfigService {
// #ServerStatus
// 查询服务状态
rpc ServerStatus (fusion.discoveryx.model.ServerStatusQuery) returns (fusion.discoveryx.model.ServerStatusBO) {
}
// #ServerStatus
// #GetConfig
// 查询配置
rpc GetConfig (fusion.discoveryx.model.ConfigGet) returns (fusion.discoveryx.model.ConfigReply) {
}
// #GetConfig
// #PublishConfig
// 发布配置
rpc PublishConfig (fusion.discoveryx.model.ConfigItem) returns (fusion.discoveryx.model.ConfigReply) {
}
// #PublishConfig
// #RemoveConfig
// 删除配置
rpc RemoveConfig (fusion.discoveryx.model.ConfigRemove) returns (fusion.discoveryx.model.ConfigReply) {
}
// #RemoveConfig
// #ListenerConfig
// 监听配置变化
rpc ListenerConfig (fusion.discoveryx.model.ConfigChangeListen) returns (stream fusion.discoveryx.model.ConfigChanged) {
}
// #ListenerConfig
}
// #ConfigService
// #NamingService
service NamingService {
// #QueryInstance
// 查询实例
rpc QueryInstance (fusion.discoveryx.model.InstanceQuery) returns (fusion.discoveryx.model.NamingReply) {
}
// #QueryInstance
// #RegisterInstance
// 注册实例
rpc RegisterInstance (fusion.discoveryx.model.InstanceRegister) returns (fusion.discoveryx.model.NamingReply) {
}
// #RegisterInstance
// #ModifyInstance
// 修改实例
rpc ModifyInstance (fusion.discoveryx.model.InstanceModify) returns (fusion.discoveryx.model.NamingReply) {
}
// #ModifyInstance
// #RemoveInstance
// 删除实例
rpc RemoveInstance (fusion.discoveryx.model.InstanceRemove) returns (fusion.discoveryx.model.NamingReply) {
}
// #RemoveInstance
// #ListenerService
// 监听服务事件
rpc ListenerService (fusion.discoveryx.model.ServiceListener) returns (stream fusion.discoveryx.model.ServiceEvent) {}
// #ListenerService
// #Heartbeat
// 实例心跳消息。namespace, serviceName, ip, port, instanceId等使用metadata(HTTP Header发送)
//- `x-discoveryx-namespace`:命名空间
//- `x-discoveryx-service-name`:服务名
//- `x-discoveryx-ip`:服务监听IP地址
//- `x-discoveryx-port`:服务监听网络端口
//- `x-discoveryx-instance-id`:实例ID
rpc Heartbeat (stream fusion.discoveryx.model.InstanceHeartbeat) returns (stream fusion.discoveryx.model.ServerStatusBO) {
}
// #Heartbeat
// #ServerStatus
// 查询服务状态
rpc ServerStatus (fusion.discoveryx.model.ServerStatusQuery) returns (fusion.discoveryx.model.ServerStatusBO) {
}
// #ServerStatus
}
// #NamingService