Distribution lightly queue stream collect service.
Pre-requisite
Nats cluster needs to enable JetStream
MongoDB recommends version >= 5.0 so that time series collections can be used
Services and applications should work together the same nats tenant
Deploy
A collector service that subscribes to stream queues and then writes to data.
If you use the time series collection, you need to manually create a database and then add a data stream. Set the time series collection time field to timestamp and metadata field to metaField. Nats Stream naming COLLECT_${key} is consistent with database name ${key}.
The client for managing collector configuration, data transmission, and dispatching, installed in the application:
go get github.com/weplanx/collector
Initialize
// Create the nats client and then create the jetstream context
if js, err = nc.JetStream(nats.PublishAsyncMaxPending(256)); err != nil {
panic(err)
}
// Create the transfer client
if x, err = client.New(js); err != nil {
panic(err)
}