Working on setting up a new cluster for a client in a k8s env. What is the vmq_generic_msg_store, what features does it provide?
What is stored in the levels db? I’m wondering where LWT, retained msgs, offline (>qos 0) messages are stored.
Working on setting up a new cluster for a client in a k8s env. What is the vmq_generic_msg_store, what features does it provide?
What is stored in the levels db? I’m wondering where LWT, retained msgs, offline (>qos 0) messages are stored.
Hi Ashton,
vmq_generic_msg_store
serves as a plugin to store offline messages. It can have various DB backends, we call those ‘engines’. The default is to use LevelDB. Persistent messages will be written to the message store. At the same time, the message store will back the offline queues which hold references to binary messages in the message store. The message store has 12 partitions as a default. We sometimes call this the data
layer in Verne.
Verne has more to store than just messages (data
). We consider all the rest to be metadata
. This is typically things that have to be replicated in a cluster, like subscriptions or retained messages. This is handled by a metadata plugin (which implements a sync protocol). The default here is vmq_swc
. This is also backed by LevelDB stores (10 partitions).
I hope this helps as a first quick description.