@hazejs/microservices
v1.0.0
Published
Message-pattern microservices for hazejs: request / reply and events over Redis, NATS, gRPC or in-memory transports
Maintainers
Readme
@hazejs/microservices
Message-pattern microservices for hazejs: request / reply (send) and events (emit) over Redis, NATS, gRPC or an in-memory transport, with handlers discovered from app/message/*.ts and optional Standard Schema validation.
Install
pnpm add @hazejs/microservices
pnpm add ioredis # redis transport
pnpm add @nats-io/transport-node # nats transport
pnpm add @grpc/grpc-js @grpc/proto-loader # grpc transportUsage
// app/message/orders.ts
import { defineMessageHandler } from '@hazejs/microservices'
export default defineMessageHandler('orders.find', async ({ id }: { id: number }) => ({ id, status: 'paid' }))// anywhere in another service
import { Microservice } from '@hazejs/microservices'
const order = await Microservice.client('orders').send('orders.find', { id: 1 }, { timeout: 3000 })
await Microservice.client('orders').emit('orders.created', order)Run the listener with haze microservice:listen.
Part of hazejs — see the main README for documentation.
