brainy/src/distributed/index.ts
David Snelling 728933f859 feat: add distributed scaling and enterprise features for v3
- Implement distributed coordination with Raft consensus for leader election
- Add horizontal sharding with consistent hashing for data distribution
- Implement read/write separation for scalable primary-replica architecture
- Add cross-instance cache synchronization with version vectors
- Implement intelligent type mapper to prevent semantic degradation
- Add rate limiting augmentation with configurable per-operation limits
- Add comprehensive audit logging for compliance and debugging
- Support for strong and eventual consistency models
- Automatic failover and replication lag monitoring

These features enable true enterprise-scale deployment across multiple nodes
2025-09-08 14:26:09 -07:00

54 lines
No EOL
1.2 KiB
TypeScript

/**
* Distributed module exports
*/
export { DistributedConfigManager } from './configManager.js'
export { HashPartitioner, AffinityPartitioner } from './hashPartitioner.js'
export {
BaseOperationalMode,
ReaderMode,
WriterMode,
HybridMode,
OperationalModeFactory
} from './operationalModes.js'
export { DomainDetector } from './domainDetector.js'
export { HealthMonitor } from './healthMonitor.js'
// New distributed scaling components
export { DistributedCoordinator, createCoordinator } from './coordinator.js'
export { ShardManager, createShardManager } from './shardManager.js'
export { CacheSync, createCacheSync } from './cacheSync.js'
export { ReadWriteSeparation, createReadWriteSeparation } from './readWriteSeparation.js'
export type {
HealthMetrics,
HealthStatus
} from './healthMonitor.js'
export type {
DomainPattern
} from './domainDetector.js'
export type {
NodeInfo,
CoordinatorConfig,
ConsensusState
} from './coordinator.js'
export type {
ShardConfig,
Shard,
ShardAssignment
} from './shardManager.js'
export type {
CacheSyncConfig,
CacheEntry,
SyncMessage
} from './cacheSync.js'
export type {
ReplicationConfig,
WriteOperation,
ReplicationLog
} from './readWriteSeparation.js'