Skip to content

Implement high performance Single-Instance-Mode #50

@mlidbom

Description

@mlidbom

A highly performant mode where most reads from the database can be eliminated thus greatly increasing performance and lessening the risk of locking issues in the storage providers.

An endpoint, via configuration, promises that it is the only instance that will use the EventStore, DocumentDb and ServiceBus. This will be enforced by some sort of persistence layer data/locks so that no other instance can start. Given this guarantee we can serve any read that has a cache hit directly from the cache since we can know that no update has happened in the storage. Concurrency will be managed in the style of the TransactionWideLock class used by the InMemory storage provider.

This mean that we eliminate the storage round-trip, storage load and serialization. Given sufficient memory to keep most hot data in the cache this mode should offer at least an order of magnitude increased performance. Given one or more hot-spares we also get availability.

Metadata

Metadata

Assignees

No one assigned

    Projects

    No projects

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions