@visualbravo/zenstack-replicas
v1.0.0
Published
Distribute read operations across different database replicas with the ZenStack ORM.
Maintainers
Readme
Distribute read operations across different database replicas with the ZenStack ORM.
Requirements
- ZenStack (version >=
3.3.0) - Node.js (version >=
20.0.0)
Installation
npm install @visualbravo/zenstack-replicas
pnpm add @visualbravo/zenstack-replicas
bun add @visualbravo/zenstack-replicasSample Usage
import { schema } from './zenstack/schema'
import { ZenStackClient } from '@zenstackhq/orm'
import { defineReplicasPlugin } from '@visualbravo/zenstack-replicas'
const replica1 = new ZenStackClient(schema, {
...
})
const replica2 = new ZenStackClient(schema, {
...
})
const primary = new ZenStackClient(schema, {
...
})
const client = primary.$use(
defineReplicasPlugin({
replicas: [replica1, replica2],
}),
)
// replica1
await client.user.findMany()
// replica2
await client.user.findMany()
// replica1
await client.user.findMany()
// primary (write operation)
await client.user.create({
data: {
email: '[email protected]',
},
})[!NOTE] Replicas are queried in a round-robin pattern.
License
MIT
