Service metadata reported through opensergo. API. V1. MetadataService. ReportMetadata
method. The input type is ReportMetadataRequest
, the output type is ReportMetadataReply
.
Service contract information is defined in 'protobuf' format service_contract.proto.
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | app_name | string | required | name of application |
2 | node | Node | required | infomation of the node |
3 | service_metadata | ServiceMetadata array | required | service metadata of application |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Currently ReportMetadataReply does not have any field.
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | listening_addresses | SocketAddress array | required | listening address of service |
2 | protocols | string array | required | supported communication protocols |
3 | service_contract | ServiceContract | required | service contract |
In order to clearly express the access mode supported by the service, the overall service access mode is represented by <communication-protocol>://<ip>:<port>
.
Currently, reserved communication protocols include http
, dubbo
, tri
, grpc
, and thrift
.
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | services | ServiceDescriptor array | required | Included service definitions |
2 | types | TypeDescriptor array | required | message type definitions used by services |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | name | string | required | service name, must be unique in the application |
2 | methods | MethodDescriptor array | required | |
3 | description | string | optional | service Description |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | name | string | required | method name, must be unique in the service |
2 | input_types | string array | required | The input type name of the method, the type definition can be found in Servicecontract.types |
3 | output_types | string array | required | The type name of the method's output argument can be found in servicecontract.types |
5 | client_streaming | bool | optional | Identifies if client streams multiple client messages |
6 | server_streaming | bool | optional | Identifies if server streams multiple server messages |
7 | description | string | optional | description of method |
8 | http_paths | string array | optional | paths of http |
9 | http_methods | string array | optional | methos of http |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | name | string | required | type name, must be unique in ServiceContract |
2 | fields | FieldDescriptor array | required | definitions of fields |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | name | string | required | field name, must be unique in the type |
3 | number | int32 | required | field number of the field, used for serialization |
5 | type | FieldDescriptor.Type | required | type of field |
6 | type_name | string | optional | when type is TYPE_MESSAGE, type_name is message name |
7 | description | string | optional | description of field |
Field number 1-256 are reserved for future expansion of the OpenSergo protocol
This type is enum, and represents the type of the field.
Field number | Field name | Description |
---|---|---|
0 | TYPE_UNSPECIFIED | default value, indicating that no type is specified |
1 | TYPE_DOUBLE | double |
2 | TYPE_FLOAT | float |
3 | TYPE_INT64 | int64 |
4 | TYPE_UINT64 | uint64 |
5 | TYPE_INT32 | int32 |
6 | TYPE_FIXED64 | fixed64 |
7 | TYPE_FIXED32 | fixed32 |
8 | TYPE_BOOL | bool |
9 | TYPE_STRING | string |
11 | TYPE_MESSAGE | message, custom compound type |
12 | TYPE_BYTES | bytes |
13 | TYPE_UINT32 | uint32 |
14 | TYPE_ENUM | enum |
15 | TYPE_SFIXED32 | sfixed32 |
16 | TYPE_SFIXED64 | sfixed64 |
17 | TYPE_SINT32 | sint32 |
18 | TYPE_SINT64 | sint64 |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | identifier | NodeIdentifier | required | identify the node |
4 | locality | Locality | optional | identify the region where a node deployed |
5 | tag | string | optional | service tag of a node |
6 | cluster | string | optional | cluster where the node deployed |
7 | env | string | optional | environment where the node deployed |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | host_name | string | required | hostname of machine/pod |
2 | pid | uint32 | required | process id |
3 | start_timestamp | google.protobuf.Timestamp | required | start time of the process, the process ID may be reused |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
1 | address | string | required | IP address of the listener, must be IP addresses that are visible outside the machine. 0.0.0.0 and 127.0.0.1 cannot be accessed externally |
2 | port_value | uint32 | required | port number |
Field number 1-32 are reserved for future expansion of the OpenSergo protocol
Field number | Field name | Type | Optional | Description |
---|---|---|---|---|
2 | region | string | required | region where the node is deployed |
3 | zone | string | required | zone where the node is deployed |