Tech TutorBangla Web Documentation
Portfolio
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • NestJS Documentation21টি অধ্যায়
প্রযুক্তি নির্বাচন
HomeHTMLCSSTailwind CSSJavaScriptTypeScriptReactNext.jsNode.jsExpressSocket.IOExpoWordPressPostgreSQLPrismaPostgresNestJSMongoDBDockerTanStackTanStack TableRTK QueryGitGitHub
  • Introduction
  • Installation
  • Modules
  • Controllers
  • Providers & DI
  • Pipes
  • Guards
  • Interceptors
  • Exception Handling
  • Middleware
  • Database
  • Authentication
  • Config & Env
  • File Upload
  • WebSockets
  • Microservices
  • Swagger
  • Testing
  • Best Practices
  • Project
  • Interview
  1. Docs
  2. NestJS
  3. NestJS Microservices
NestJSAdvanced

NestJS Microservices

Transport strategies, TCP/RMQ, client proxy, service communication — বাংলায়।

11টি অংশবাংলা ভাষায়

Microservices দিয়ে আপনার application-কে আলাদা আলাদা services-এ ভাগ করা যায় — প্রতিটি নিজের port/transport-এ চলবে।

Transport Strategies

Transportব্যবহার
TCPডিফল্ট, typical microservice
Redispub/sub pattern
NATScloud-native messaging
gRPCType-safe RPC
Kafkastreaming/event
RabbitMQmessage queue enterprise

MicroService App তৈরি

math-service/main.tstypescript
typescript
import { NestFactory } from "@nestjs/core";
import { MicroserviceOptions, Transport } from "@nestjs/microservices";
import { MathModule } from "./math.module";

async function bootstrap() {
  const app = await NestFactory.createMicroservice<MicroserviceOptions>(
    MathModule,
    {
      transport: Transport.TCP,
      options: { host: "127.0.0.1", port: 3001 },
    },
  );
  await app.listen();
}
bootstrap();
math-service/math.controller.tstypescript
typescript
import { Controller } from "@nestjs/common";
import { MessagePattern, Payload } from "@nestjs/microservices";

@Controller()
export class MathController {
  @MessagePattern({ cmd: "add" })
  add(@Payload() data: { a: number; b: number }): number {
    return data.a + data.b;
  }
}

Client Proxy — Main App থেকে call

main-app/app.module.tstypescript
typescript
import { Module } from "@nestjs/common";
import { ClientsModule, Transport } from "@nestjs/microservices";
import { AppController } from "./app.controller";

@Module({
  imports: [
    ClientsModule.register([
      {
        name: "MATH_SERVICE",
        transport: Transport.TCP,
        options: { host: "127.0.0.1", port: 3001 },
      },
    ]),
  ],
  controllers: [AppController],
})
export class AppModule {}
main-app/app.controller.tstypescript
typescript
import { Controller, Get, Inject } from "@nestjs/common";
import { ClientProxy } from "@nestjs/microservices";
import { lastValueFrom } from "rxjs";

@Controller("math")
export class AppController {
  constructor(
    @Inject("MATH_SERVICE") private readonly client: ClientProxy,
  ) {}

  @Get()
  async add() {
    const result = await lastValueFrom(
      this.client.send({ cmd: "add" }, { a: 5, b: 3 }),
    );
    return { result }; // 8
  }
}
# run service প্রথমে
node dist/main.js   # or npm run start:prod

# তারপর main app
npm run start:dev
# GET http://localhost:3000/math → { result: 8 }
কখন Microservices?

ছোট project-এ monolith sufficient — দল/অ্যাপ বড় হলে, scaling-এ services split করুন। শুরু থেকেই modular monolith (module separation) রাখুন।

শেষ প্যারায় নিজে practice করুন — কোড কপি করে নিজের এডিটরে চালিয়ে দেখুন।
আগেরNestJS WebSockets (Gateway)পরেরNestJS Swagger (OpenAPI)
এই পেজে
Tech Tutor

বাংলায় ওয়েব ডেভেলপমেন্ট ডকুমেন্টেশন শিখুন — ধাপে ধাপে।

Homeসব ডকুমেন্টেশনQuick Startআমার নোটস

© 2026 Tech Tutor. বাংলায় শিখুন, বাংলায় গড়ুন।

mdanamolhasan1998@gmail.com