NestJS – gRPC với Protocol Buffers
gRPC là framework RPC hiệu năng cao của Google — dùng Protocol Buffers (binary format) thay vì JSON, tốt hơn REST cho internal microservices communication: nhanh hơn (~7x), type-safe hơn, hỗ trợ streaming hai chiều.
1. gRPC vs REST vs GraphQL
Tiêu chí
gRPC
REST
GraphQL
Protocol
HTTP/...
Kafka – Message Broker cho hệ thống phân tán với NodeJS
Apache Kafka là distributed event streaming platform — xử lý hàng triệu message/giây, đảm bảo thứ tự, replay được message cũ. Phù hợp cho microservices lớn, real-time analytics, event sourcing.
1. Kafka vs Redis Pub/Sub vs RabbitMQ
Tiêu chí
Kafka
Redis Pub/Sub
RabbitMQ
Throughput
Rất...
Elasticsearch – Full-text Search mạnh mẽ cho NodeJS
Elasticsearch là search engine phân tán, cực nhanh cho full-text search, analytics, và log aggregation. Khi PostgreSQL full-text search không đủ (tiếng Việt, fuzzy search, faceted search), Elasticsearch là lựa chọn tiêu chuẩn.
1. Cài đặt với Docker
# docker-compose.yml
services:
elasticsearch:
image: docker.elastic.co/elasticsearch/elast...
AWS RDS – Managed Database cho NodeJS production
AWS RDS (Relational Database Service) là managed database — AWS lo toàn bộ: backup tự động, failover, patching, monitoring. Bài này hướng dẫn setup RDS PostgreSQL và kết nối từ NestJS.
1. RDS vs Self-managed
Tiêu chí
AWS RDS
Self-managed EC2
Setup
Vài click
Phức tạp
B...
NestJS – Health Check & Monitoring với Terminus
Health Check là endpoint /health mà load balancer, Kubernetes, và monitoring tools dùng để kiểm tra xem app có đang hoạt động không. NestJS cung cấp @nestjs/terminus để implement dễ dàng.
1. Cài đặt
npm install @nestjs/terminus @nestjs/axios
2. Cấu hình cơ bản
// src/health/health.module.ts
import { Module } from '@nestjs/common';
import { ...
Prisma ORM – Database toolkit hiện đại cho NodeJS
Prisma là ORM thế hệ mới với type-safety tuyệt vời — schema định nghĩa một lần, Prisma Client tự generate với đầy đủ TypeScript types. So với TypeORM, Prisma DX (developer experience) tốt hơn đáng kể.
1. Cài đặt
npm install prisma @prisma/client
npx prisma init --datasource-provider postgresql
Tạo ra:
prisma/schema.prisma — schema file
...
69 post articles, 12 pages.