Skip to content

@galaxy-stack/orbit-microservices-nats

Giao thức NATS với nhóm hàng đợi và đăng ký ký tự đại diện.

Cài đặt

bash
bun add @galaxy-stack/orbit-microservices @galaxy-stack/orbit-microservices-nats

Tính năng

  • Giao thức văn bản NATS hoàn chỉnh
  • Nhóm hàng đợi để cân bằng tải
  • Khớp chủ đề ký tự đại diện (*, >)
  • Mẫu yêu cầu/phản hồi

Máy chủ

typescript
import { BunFactory } from '@galaxy-stack/orbit-core';
import { Transport } from '@galaxy-stack/orbit-microservices';

const app = await BunFactory.createMicroservice(AppModule, {
  transport: Transport.NATS,
  options: {
    servers: ['nats://localhost:4222'],
    queue: 'my-service',
  },
});

await app.listen();

Khách hàng

typescript
@Module({
  imports: [
    ClientsModule.register([
      {
        name: 'NATS_SERVICE',
        transport: Transport.NATS,
        options: {
          servers: ['nats://localhost:4222'],
        },
      },
    ]),
  ],
})
export class AppModule {}

Đăng ký ký tự đại diện

typescript
@MessagePattern('orders.*')
handleOrderEvents(@Payload() data: any) {
  // Khớp: orders.created, orders.updated, orders.deleted
}

@MessagePattern('events.>')
handleAllEvents(@Payload() data: any) {
  // Khớp: events.user.created, events.order.shipped, v.v.
}

Tùy chọn

Tùy chọnLoạiMặc địnhMô tả
serversstring[]['nats://localhost:4222']Máy chủ NATS
queuestring-Tên nhóm hàng đợi
maxReconnectAttemptsnumber10Số lần tái kết nối tối đa
reconnectTimeWaitnumber2000Thời gian chờ giữa các lần tái kết nối

Released under the MIT License.