Make aggregate actor responsible for it shutdown on inactivity, or create separate actor for it.
Get rid of persistnce hubs as they track all existing aggregates in-memory, it is bottleneck.
Make command pipe responsible for lookup for aggregate actor and create it if not found.
Think about caching actor refs for recently used aggreagates and aggregate preload on special message,
it can be done when user just logs into system.
Make aggregate actor responsible for it shutdown on inactivity, or create separate actor for it. Get rid of persistnce hubs as they track all existing aggregates in-memory, it is bottleneck. Make command pipe responsible for lookup for aggregate actor and create it if not found. Think about caching actor refs for recently used aggreagates and aggregate preload on special message, it can be done when user just logs into system.