
Microservices
Monolith vs modular monolith vs microservices, message patterns, transporters (TCP, Redis, NATS, RabbitMQ, Kafka), giao tiếp (sync/async, event-driven), CQRS, event sourcing, client/server
1Modular monolith là gì?
Modular monolith là gì?
Câu trả lời
Modular monolith là một ứng dụng được deploy như một đơn vị duy nhất nhưng được cấu trúc thành các module được tách rời mạnh mẽ với các boundaries rõ ràng. Khác với monolith cổ điển nơi mọi thứ trộn lẫn, modular monolith tổ chức code thành các module độc lập giao tiếp qua các interface được định nghĩa rõ ràng. Cách tiếp cận này kết hợp sự đơn giản của monolith (deploy duy nhất, transaction ACID đơn giản) với khả năng bảo trì của microservices (tách biệt trách nhiệm, boundaries rõ ràng).
2Sự khác biệt chính giữa monolith và microservices là gì?
Sự khác biệt chính giữa monolith và microservices là gì?
Câu trả lời
Sự khác biệt chính nằm ở deployment và tính độc lập: monolith được deploy như một đơn vị duy nhất nơi tất cả thành phần chia sẻ cùng một process và database, trong khi microservices là các service độc lập được deploy riêng biệt với database riêng. Monolith mang lại sự đơn giản và transaction ACID dễ dàng nhưng gặp vấn đề về khả năng mở rộng và bảo trì ở quy mô lớn. Microservices cho phép mở rộng độc lập và deploy tự chủ nhưng đưa vào sự phức tạp phân tán.
3Message pattern trong NestJS Microservices là gì?
Message pattern trong NestJS Microservices là gì?
Câu trả lời
Message pattern trong NestJS định nghĩa chế độ giao tiếp giữa các microservices. Có hai loại chính: request-response (đồng bộ với phản hồi được mong đợi) và event-based (bất đồng bộ không chờ phản hồi). Decorator @MessagePattern() định nghĩa handler cho request-response, trong khi @EventPattern() xử lý các event bất đồng bộ. Việc chọn pattern phụ thuộc vào trường hợp sử dụng: request-response cho các thao tác cần phản hồi tức thì, event-based cho thông báo và eventual consistency.
Vai trò của transporter trong NestJS Microservices là gì?
Sự khác biệt giữa @MessagePattern() và @EventPattern() là gì?
+27 câu hỏi phỏng vấn
Các chủ đề phỏng vấn Node.js / NestJS khác
Kiến thức cơ bản về Node.js
API lõi Node.js
Lập trình bất đồng bộ
Cơ bản về Express.js
Nền tảng NestJS
Thiết kế REST API
Validation và DTO
Tài liệu API & Hợp đồng
Xử lý lỗi
Kiểm thử đơn vị
Lập lịch tác vụ
Module và DI trong NestJS
Cấu hình & Quản lý môi trường
Xác thực JWT
Phân quyền và RBAC
Cơ sở dữ liệu với TypeORM
Prisma ORM
Middleware và Interceptor
Tải lên tệp
WebSockets
GraphQL với NestJS
Kiểm thử End-to-End
Caching với Redis
Hàng đợi với Bull
DevOps, Logging & CI/CD
Docker & Đóng gói container
Các phương pháp bảo mật tốt nhất
Hiệu năng và triển khai Cloud
Nắm vững Node.js / NestJS cho lần phỏng vấn tiếp theo
Truy cập tất cả câu hỏi, flashcards, bài kiểm tra kỹ thuật, bài tập code review và mô phỏng phỏng vấn.
Bắt đầu miễn phí