Skip to content
This repository has been archived by the owner on Sep 21, 2023. It is now read-only.

[Meta] disk queue journey to GA #118

Open
6 of 13 tasks
leehinman opened this issue Sep 22, 2022 · 2 comments
Open
6 of 13 tasks

[Meta] disk queue journey to GA #118

leehinman opened this issue Sep 22, 2022 · 2 comments
Assignees
Labels

Comments

@mbudge
Copy link

mbudge commented Aug 15, 2023

Wouldn't it be more efficient to use in-memory queues which temporarily fall back to on-disk queues if there's a network issue?

When the connectivity issue is resolved, push the events from the on-disk queue back to the output integration. I've built software which did this using channels in Go to add redundancy by caching data to disk. This was done when there was a problem writing to elastic using the go-elasticsearch bulk indexer and it worked well. The software would periodically check connectivity to the cluster and send the events when there was no longer an issue.

This could be done by having an option to flush the in-memory queue to the on-disk queue instead of dropping the events. This would reduce the resources required to run on-disk queues on busy production servers 24/7. It sounds like on disk queues on busy domain controllers or other critical systems might use more resource which could trigger out IT teams to complain. It's too complicated to have separate policies in large multi-regional deployments to have in-memory queues on a subset of endpoints.

@cmacknz
Copy link
Member

cmacknz commented Aug 17, 2023

It's a good idea, but exploring that needs to come after making the disk queue available at all. Today there is definitely a performance penalty to write to disk as it requires serializing the event twice (once to disk, once to the output) but we haven't thoroughly quantified what it is. We may also be able to improve that cost.

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
Projects
None yet
Development

No branches or pull requests

4 participants