Skip to content

Document that primary instance scale-out is limited to error ingestion - #5970

Open
johnsimons wants to merge 1 commit into
masterfrom
john/primary_ha_docs
Open

johnsimons wants to merge 1 commit into
masterfrom
john/primary_ha_docs

Conversation

@johnsimons

Copy link
Copy Markdown
Member

An audit of every hosted service, handler, controller and persister path in the primary found five places in the retry pipeline, heartbeat monitoring, integration event dispatch and throughput collection that assume a single process. Add a decision record concluding that exactly one full primary instance may run against a database, with --error-ingestion-only workers providing horizontal scale and active-passive failover providing HA, plus a topic page listing what each component would need to become deployment-global.

An audit of every hosted service, handler, controller and persister path
in the primary found five places in the retry pipeline, heartbeat
monitoring, integration event dispatch and throughput collection that
assume a single process. Add a decision record concluding that exactly
one full primary instance may run against a database, with
`--error-ingestion-only` workers providing horizontal scale and
active-passive failover providing HA, plus a topic page listing what
each component would need to become deployment-global.

@rbev rbev left a comment

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I think it's worth having some more discussion about this PR before we merge it

- Subscription rows on SQL Server and PostgreSQL, settings rows, custom check rows and known endpoint rows are written through upserts that handle the insert race.
- Azure Blob and S3 body storage, and file system body storage on a shared mount. Bodies are immutable and keyed by message id.

## What assumes one process

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This section seems to go into a lot of detail about a potential future solution, given there are no plans at this stage to implement that I'm not sure that it is right to document that here

Copy link
Copy Markdown
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The document as a whole could be consolidated a bit as well. Its a bit too verbose.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants