MCPcopy
hub / github.com/q191201771/lal / DataManger

Interface DataManger

app/demo/dispatch/datamanager/data_interface.go:14–22  ·  view source on GitHub ↗

本demo的数据存储在内存中(只实现了DataManagerMemory),所以存在单点风险(指的是dispatch永久性发生故障,短暂故障或重启是ok的), 生产环境可以把数据存储在redis、mysql等数据库中(实现DataManager interface即可)。

Source from the content-addressed store, hash-verified

12// 生产环境可以把数据存储在redis、mysql等数据库中(实现DataManager interface即可)。
13
14type DataManger interface {
15 AddPub(streamName, serverId string)
16 DelPub(streamName, serverId string)
17 QueryPub(streamName string) (serverId string, exist bool)
18
19 // 1. 全量校正。比如自身服务重启了,lal节点重启了,或其他原因Add、Del消息丢失了
20 // 2. 心跳保活
21 UpdatePub(serverId string, streamNameList []string)
22}
23
24type DataManagerType int
25

Callers 4

OnPubStartHandlerFunction · 0.65
OnPubStopHandlerFunction · 0.65
OnSubStartHandlerFunction · 0.65
OnUpdateHandlerFunction · 0.65

Implementers 1

DataManagerMemoryapp/demo/dispatch/datamanager/data.go

Calls

no outgoing calls

Tested by

no test coverage detected