mirror of
https://gitee.com/milvus-io/milvus.git
synced 2024-11-29 18:38:44 +08:00
Update doc: service api
Signed-off-by: GuoRentong <rentong.guo@zilliz.com>
This commit is contained in:
parent
03b5d32569
commit
c82565bd5c
@ -70,111 +70,6 @@ etcd:
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### A.3 Message Stream
|
|
||||||
|
|
||||||
``` go
|
|
||||||
type MsgType uint32
|
|
||||||
const {
|
|
||||||
kInsert MsgType = 400
|
|
||||||
kDelete MsgType = 401
|
|
||||||
kSearch MsgType = 500
|
|
||||||
KSearchResult MsgType = 1000
|
|
||||||
|
|
||||||
kSegStatistics MsgType = 1100
|
|
||||||
|
|
||||||
kTimeTick MsgType = 1200
|
|
||||||
kTimeSync MsgType = 1201
|
|
||||||
}
|
|
||||||
|
|
||||||
type TsMsg interface {
|
|
||||||
SetTs(ts Timestamp)
|
|
||||||
BeginTs() Timestamp
|
|
||||||
EndTs() Timestamp
|
|
||||||
Type() MsgType
|
|
||||||
Marshal(*TsMsg) []byte
|
|
||||||
Unmarshal([]byte) *TsMsg
|
|
||||||
}
|
|
||||||
|
|
||||||
type MsgPack struct {
|
|
||||||
BeginTs Timestamp
|
|
||||||
EndTs Timestamp
|
|
||||||
Msgs []TsMsg
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
type MsgStream interface {
|
|
||||||
Produce(*MsgPack) error
|
|
||||||
Broadcast(*MsgPack) error
|
|
||||||
Consume() *MsgPack // message can be consumed exactly once
|
|
||||||
}
|
|
||||||
|
|
||||||
type RepackFunc(msgs []* TsMsg, hashKeys [][]int32) map[int32] *MsgPack
|
|
||||||
|
|
||||||
type PulsarMsgStream struct {
|
|
||||||
client *pulsar.Client
|
|
||||||
repackFunc RepackFunc
|
|
||||||
producers []*pulsar.Producer
|
|
||||||
consumers []*pulsar.Consumer
|
|
||||||
unmarshal *UnmarshalDispatcher
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ms *PulsarMsgStream) CreatePulsarProducers(topics []string)
|
|
||||||
func (ms *PulsarMsgStream) CreatePulsarConsumers(subname string, topics []string, unmarshal *UnmarshalDispatcher)
|
|
||||||
func (ms *PulsarMsgStream) SetRepackFunc(repackFunc RepackFunc)
|
|
||||||
func (ms *PulsarMsgStream) Produce(msgs *MsgPack) error
|
|
||||||
func (ms *PulsarMsgStream) Broadcast(msgs *MsgPack) error
|
|
||||||
func (ms *PulsarMsgStream) Consume() (*MsgPack, error)
|
|
||||||
func (ms *PulsarMsgStream) Start() error
|
|
||||||
func (ms *PulsarMsgStream) Close() error
|
|
||||||
|
|
||||||
func NewPulsarMsgStream(ctx context.Context, pulsarAddr string) *PulsarMsgStream
|
|
||||||
|
|
||||||
|
|
||||||
type PulsarTtMsgStream struct {
|
|
||||||
client *pulsar.Client
|
|
||||||
repackFunc RepackFunc
|
|
||||||
producers []*pulsar.Producer
|
|
||||||
consumers []*pulsar.Consumer
|
|
||||||
unmarshal *UnmarshalDispatcher
|
|
||||||
inputBuf []*TsMsg
|
|
||||||
unsolvedBuf []*TsMsg
|
|
||||||
msgPacks []*MsgPack
|
|
||||||
}
|
|
||||||
|
|
||||||
func (ms *PulsarTtMsgStream) CreatePulsarProducers(topics []string)
|
|
||||||
func (ms *PulsarTtMsgStream) CreatePulsarConsumers(subname string, topics []string, unmarshal *UnmarshalDispatcher)
|
|
||||||
func (ms *PulsarTtMsgStream) SetRepackFunc(repackFunc RepackFunc)
|
|
||||||
func (ms *PulsarTtMsgStream) Produce(msgs *MsgPack) error
|
|
||||||
func (ms *PulsarTtMsgStream) Broadcast(msgs *MsgPack) error
|
|
||||||
func (ms *PulsarTtMsgStream) Consume() *MsgPack //return messages in one time tick
|
|
||||||
func (ms *PulsarTtMsgStream) Start() error
|
|
||||||
func (ms *PulsarTtMsgStream) Close() error
|
|
||||||
|
|
||||||
func NewPulsarTtMsgStream(ctx context.Context, pulsarAddr string) *PulsarTtMsgStream
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
```go
|
|
||||||
type MarshalFunc func(*TsMsg) []byte
|
|
||||||
type UnmarshalFunc func([]byte) *TsMsg
|
|
||||||
|
|
||||||
|
|
||||||
type UnmarshalDispatcher struct {
|
|
||||||
tempMap map[ReqType]UnmarshalFunc
|
|
||||||
}
|
|
||||||
|
|
||||||
func (dispatcher *MarshalDispatcher) Unmarshal([]byte) *TsMsg
|
|
||||||
func (dispatcher *MarshalDispatcher) AddMsgTemplate(msgType MsgType, marshal MarshalFunc)
|
|
||||||
func (dispatcher *MarshalDispatcher) addDefaultMsgTemplates()
|
|
||||||
|
|
||||||
func NewUnmarshalDispatcher() *UnmarshalDispatcher
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### A.4 Time Ticked Flow Graph
|
#### A.4 Time Ticked Flow Graph
|
||||||
|
|
||||||
###### A.4.1 Flow Graph States
|
###### A.4.1 Flow Graph States
|
||||||
|
@ -6,7 +6,7 @@
|
|||||||
|
|
||||||
#### 8.1 Overview
|
#### 8.1 Overview
|
||||||
|
|
||||||
|
<img src="./figs/index_service.jpeg" width=700>
|
||||||
|
|
||||||
#### 8.2 API
|
#### 8.2 API
|
||||||
|
|
||||||
|
@ -18,8 +18,6 @@ type Client interface {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
* *CreateChannels*
|
* *CreateChannels*
|
||||||
|
|
||||||
```go
|
```go
|
||||||
@ -50,3 +48,109 @@ type ChannelDescriptions struct {
|
|||||||
}
|
}
|
||||||
```
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### A.3 Message Stream
|
||||||
|
|
||||||
|
``` go
|
||||||
|
type MsgType uint32
|
||||||
|
const {
|
||||||
|
kInsert MsgType = 400
|
||||||
|
kDelete MsgType = 401
|
||||||
|
kSearch MsgType = 500
|
||||||
|
KSearchResult MsgType = 1000
|
||||||
|
|
||||||
|
kSegStatistics MsgType = 1100
|
||||||
|
|
||||||
|
kTimeTick MsgType = 1200
|
||||||
|
kTimeSync MsgType = 1201
|
||||||
|
}
|
||||||
|
|
||||||
|
type TsMsg interface {
|
||||||
|
SetTs(ts Timestamp)
|
||||||
|
BeginTs() Timestamp
|
||||||
|
EndTs() Timestamp
|
||||||
|
Type() MsgType
|
||||||
|
Marshal(*TsMsg) []byte
|
||||||
|
Unmarshal([]byte) *TsMsg
|
||||||
|
}
|
||||||
|
|
||||||
|
type MsgPack struct {
|
||||||
|
BeginTs Timestamp
|
||||||
|
EndTs Timestamp
|
||||||
|
Msgs []TsMsg
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
|
type MsgStream interface {
|
||||||
|
Produce(*MsgPack) error
|
||||||
|
Broadcast(*MsgPack) error
|
||||||
|
Consume() *MsgPack // message can be consumed exactly once
|
||||||
|
}
|
||||||
|
|
||||||
|
type RepackFunc(msgs []* TsMsg, hashKeys [][]int32) map[int32] *MsgPack
|
||||||
|
|
||||||
|
type PulsarMsgStream struct {
|
||||||
|
client *pulsar.Client
|
||||||
|
repackFunc RepackFunc
|
||||||
|
producers []*pulsar.Producer
|
||||||
|
consumers []*pulsar.Consumer
|
||||||
|
unmarshal *UnmarshalDispatcher
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ms *PulsarMsgStream) CreatePulsarProducers(topics []string)
|
||||||
|
func (ms *PulsarMsgStream) CreatePulsarConsumers(subname string, topics []string, unmarshal *UnmarshalDispatcher)
|
||||||
|
func (ms *PulsarMsgStream) SetRepackFunc(repackFunc RepackFunc)
|
||||||
|
func (ms *PulsarMsgStream) Produce(msgs *MsgPack) error
|
||||||
|
func (ms *PulsarMsgStream) Broadcast(msgs *MsgPack) error
|
||||||
|
func (ms *PulsarMsgStream) Consume() (*MsgPack, error)
|
||||||
|
func (ms *PulsarMsgStream) Start() error
|
||||||
|
func (ms *PulsarMsgStream) Close() error
|
||||||
|
|
||||||
|
func NewPulsarMsgStream(ctx context.Context, pulsarAddr string) *PulsarMsgStream
|
||||||
|
|
||||||
|
|
||||||
|
type PulsarTtMsgStream struct {
|
||||||
|
client *pulsar.Client
|
||||||
|
repackFunc RepackFunc
|
||||||
|
producers []*pulsar.Producer
|
||||||
|
consumers []*pulsar.Consumer
|
||||||
|
unmarshal *UnmarshalDispatcher
|
||||||
|
inputBuf []*TsMsg
|
||||||
|
unsolvedBuf []*TsMsg
|
||||||
|
msgPacks []*MsgPack
|
||||||
|
}
|
||||||
|
|
||||||
|
func (ms *PulsarTtMsgStream) CreatePulsarProducers(topics []string)
|
||||||
|
func (ms *PulsarTtMsgStream) CreatePulsarConsumers(subname string, topics []string, unmarshal *UnmarshalDispatcher)
|
||||||
|
func (ms *PulsarTtMsgStream) SetRepackFunc(repackFunc RepackFunc)
|
||||||
|
func (ms *PulsarTtMsgStream) Produce(msgs *MsgPack) error
|
||||||
|
func (ms *PulsarTtMsgStream) Broadcast(msgs *MsgPack) error
|
||||||
|
func (ms *PulsarTtMsgStream) Consume() *MsgPack //return messages in one time tick
|
||||||
|
func (ms *PulsarTtMsgStream) Start() error
|
||||||
|
func (ms *PulsarTtMsgStream) Close() error
|
||||||
|
|
||||||
|
func NewPulsarTtMsgStream(ctx context.Context, pulsarAddr string) *PulsarTtMsgStream
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
```go
|
||||||
|
type MarshalFunc func(*TsMsg) []byte
|
||||||
|
type UnmarshalFunc func([]byte) *TsMsg
|
||||||
|
|
||||||
|
|
||||||
|
type UnmarshalDispatcher struct {
|
||||||
|
tempMap map[ReqType]UnmarshalFunc
|
||||||
|
}
|
||||||
|
|
||||||
|
func (dispatcher *MarshalDispatcher) Unmarshal([]byte) *TsMsg
|
||||||
|
func (dispatcher *MarshalDispatcher) AddMsgTemplate(msgType MsgType, marshal MarshalFunc)
|
||||||
|
func (dispatcher *MarshalDispatcher) addDefaultMsgTemplates()
|
||||||
|
|
||||||
|
func NewUnmarshalDispatcher() *UnmarshalDispatcher
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
@ -2,6 +2,12 @@
|
|||||||
|
|
||||||
## 6. Proxy
|
## 6. Proxy
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
<img src="./figs/proxy.jpeg" width=700>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 6.0 Proxy Service API
|
#### 6.0 Proxy Service API
|
||||||
|
|
||||||
```go
|
```go
|
||||||
@ -28,8 +34,6 @@ type Client interface {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 6.1 Proxy Instance
|
#### 6.1 Proxy Instance
|
||||||
|
|
||||||
```go
|
```go
|
||||||
|
@ -2,7 +2,8 @@
|
|||||||
|
|
||||||
## 10. Master
|
## 10. Master
|
||||||
|
|
||||||
,
|
<img src="./figs/master.jpeg" width=700>
|
||||||
|
|
||||||
|
|
||||||
#### 10.1 API
|
#### 10.1 API
|
||||||
|
|
||||||
@ -28,8 +29,6 @@ type Client interface {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 10.1 Interfaces (RPC)
|
#### 10.1 Interfaces (RPC)
|
||||||
|
|
||||||
| RPC | description |
|
| RPC | description |
|
||||||
|
@ -6,6 +6,8 @@
|
|||||||
|
|
||||||
#### 8.1 Overview
|
#### 8.1 Overview
|
||||||
|
|
||||||
|
<img src="./figs/query_service.jpeg" width=700>
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 8.2 API
|
#### 8.2 API
|
||||||
@ -120,6 +122,28 @@ type ReleasePartitionRequest struct {
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
#### 8.2 Query Node
|
||||||
|
|
||||||
|
```go
|
||||||
|
type QueryNode interface {
|
||||||
|
Start() error
|
||||||
|
Close() error
|
||||||
|
|
||||||
|
AddQueryStream(requestStream MsgStream, resultStream MsgStream) error
|
||||||
|
RemoveQueryStream(requestStreamID string) error
|
||||||
|
WatchDmStreams(insertStreams MsgStream) error
|
||||||
|
WatchDdStream(stream MsgStream) error
|
||||||
|
SetTimeTickStream(stream MsgStream) error
|
||||||
|
SetStatsStream(stream MsgStream) error
|
||||||
|
|
||||||
|
LoadSegments(DbID UniqueID, CollID UniqueID, PartitionID UniqueID, SegIDs []UniqueID, FieldIDs []int64) error
|
||||||
|
ReleaseSegments(DbID UniqueID, CollID UniqueID, PartitionID UniqueID, SegIDs []UniqueID) error
|
||||||
|
DescribeParition(DbID UniqueID, CollID UniqueID, PartitionID UniqueID) (PartitionDescription, error)
|
||||||
|
}
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
#### 8.2 Collection Replica
|
#### 8.2 Collection Replica
|
||||||
|
@ -6,6 +6,7 @@
|
|||||||
|
|
||||||
#### 8.1 Overview
|
#### 8.1 Overview
|
||||||
|
|
||||||
|
<img src="./figs/data_service.jpeg" width=700>
|
||||||
|
|
||||||
|
|
||||||
#### 8.2 API
|
#### 8.2 API
|
||||||
|
BIN
docs/developer_guides/figs/data_service.jpeg
Normal file
BIN
docs/developer_guides/figs/data_service.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
BIN
docs/developer_guides/figs/index_service.jpeg
Normal file
BIN
docs/developer_guides/figs/index_service.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
BIN
docs/developer_guides/figs/local_distributed_cloud.jpeg
Normal file
BIN
docs/developer_guides/figs/local_distributed_cloud.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
BIN
docs/developer_guides/figs/master.jpeg
Normal file
BIN
docs/developer_guides/figs/master.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.7 MiB |
BIN
docs/developer_guides/figs/proxy.jpeg
Normal file
BIN
docs/developer_guides/figs/proxy.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.6 MiB |
BIN
docs/developer_guides/figs/query_service.jpeg
Normal file
BIN
docs/developer_guides/figs/query_service.jpeg
Normal file
Binary file not shown.
After Width: | Height: | Size: 1.5 MiB |
Loading…
Reference in New Issue
Block a user