Backend Developer — High-Performance • HA • Concurrency

Mình là Trần Văn Đạt (2001, Đà Nẵng). 3 năm kinh nghiệm (Rainscales, FPT). Tập trung thiết kế & vận hành dịch vụ hiệu năng cao, zero-downtime, tối ưu chi phí hạ tầng.

Python · Go · Java FastAPI · Django · Gin · Spring Boot PostgreSQL · MySQL · Oracle · SQL Server MongoDB · Redis · Kafka · RabbitMQ Observability · CI/CD · Cloud/On‑prem
p95 ↓ ~60%
Sau tối ưu query/index
Throughput ↑ 2–3x
Worker/pipeline & cache
Cost/TPS ↓ ~40%
Pooling + backpressure
Trần Văn Đạt

Giới thiệu

Ưu tiên thiết kế đơn giản, đo đạc bằng số liệu, mở rộng theo nhu cầu thực.

Tóm tắt

  • Thiết kế API & microservices; chuẩn hóa contract, versioning, rate-limit.
  • Tối ưu DB chuyên sâu: indexing, partitioning, plan analysis, connection pooling.
  • Concurrency/throughput: worker pool, backpressure, idempotency, retry/circuit-breaker.
  • HA/Scaling: read-replica, sharding, blue-green/rolling, autoscaling.
  • Observability: log/metric/trace (SLO/SLA), canary + feature flag.

Mục tiêu

Xây hệ thống ổn định, đo được: mỗi thay đổi đều có chỉ số về latency, throughput, error rate, chi phí/TPS.

Kỹ năng & Công nghệ

Stack chính và phạm vi thực chiến.

Ngôn ngữ

Python (async/io) Golang (goroutine, channel) Java (Spring)

Ưu tiên code rõ ràng, testable, benchmark bằng ab/vegeta hoặc k6.

Framework

FastAPIDjango GinSpring Boot
  • Thực hành: DI, middleware, rate-limit, tracing.
  • Auth: JWT, session, OAuth2.

Database & MQ

PostgreSQLMySQL SQL ServerOracle MongoDBRedis KafkaRabbitMQ
  • Plan/Index: EXPLAIN/ANALYZE, partial/index-only, GIN/JSONB, BRIN, covering.
  • Schema: partitioning, migration zero-downtime, lock strategy.
  • Pool: pgbouncer, max_connections, queue wait.

Tối ưu Database & Hiệu năng

Một vài mẫu công việc tiêu biểu (có số liệu đo lường).

Partition + Index chiến lược

  • Phân vùng theo time-range + hash giảm size index nóng.
  • Dùng partial index cho trạng thái truy vấn phổ biến.
  • Kết quả: p95 query ↓ ~65%, heap hit ↑, VACUUM ổn định.

Connection Pooling & Backpressure

  • Giới hạn concurrency, tách read/write pool, timeout hợp lý.
  • Backpressure ở layer service để tránh thâm hụt tài nguyên.
  • Kết quả: error rate dưới tải cao ↓ ~80%.

Query Plan & Caching

  • Refactor N+1, dùng index-only scan, materialized view cho báo cáo.
  • Redis cache theo key pattern + TTL động.
  • Kết quả: throughput ↑ ~2–3x cho endpoint nóng.

Observability & SLO

  • Tracing (traceID) xuyên suốt gateway→service→DB→MQ.
  • Alert theo SLO (p95 latency, saturation, error budget).
  • Kết quả: MTTR ↓, phát hiện sớm regression sau deploy.

Kinh nghiệm

3 năm Backend — tập trung đo đạc và tối ưu.

Backend Developer — Rainscales

  • Tối ưu các truy vấn báo cáo: p95 ↓ ~60%, CPU DB ↓ ~30% giờ cao điểm.
  • Thiết kế worker Go (pipeline, batch) → throughput ↑ ~2x, đảm bảo idempotency.
  • Thiết lập read-replica + pgbouncer, rollout không downtime.

Backend Developer — FPT

  • Xây dịch vụ FastAPI/Gin, chuẩn hóa logging/metrics/tracing.
  • Kafka + DLQ + retry policy → giảm message loss, tối ưu consumer lag.
  • CI/CD: blue-green + canary, auto-rollback theo error budget.

Dự án nổi bật

Tập trung AI trợ năng + tự động hoá, có số liệu kết quả.

EmagicEyes

Hệ thống tích hợp AI hỗ trợ thao tác, trích xuất thông tin tự động.

  • Backend: FastAPI (Python async), Redis cache, PostgreSQL (JSONB + GIN), Kafka event bus.
  • Thiết kế pipeline xử lý bất đồng bộ, backpressure, idempotent consumer.
  • Kết quả: thời gian xử lý trung bình ↓ ~55%; tỉ lệ lỗi do race condition gần 0.

Master Tool

Công cụ nhập liệu tự động, tích hợp AI cho các workflow phức tạp.

  • Go (Gin), worker pool multi-stage; MongoDB + PostgreSQL; Redis rate-limit.
  • Queue: Kafka/RabbitMQ với retry, DLQ, deduplication.
  • Kết quả: throughput ↑ ~2.5x; chi phí CPU/record ↓ ~40%.

Blog kỹ thuật

Ghi chú thực chiến: DB, concurrency, scaling.

PostgreSQL: từ EXPLAIN đến plan ổn định

Giải thích plan, tránh seq scan ngoài ý muốn, partial/index-only, partition pruning.

Concurrency pattern trong Go ở quy mô thật

Worker pool, pipeline, context, backpressure, giới hạn FD/CPU, đo p95/p99.

Tip: mở file và tìm <section id="blog"> → thêm các <div class="item">.

CV

Tải xuống CV của mình.

Đặt file cv.pdf cạnh file này để nút hoạt động.

⬇️ Tải CV (PDF)

Liên hệ

Rất vui nếu được kết nối.

Thông tin

Email: vandat.tech.info@gmail.com

Facebook: fb.com/vandat-dev

Gửi email

Gửi lời nhắn

Form này là demo UI. Kết nối backend bằng fetch đến endpoint của bạn.

Ghi chú sửa nhanh

  • Đổi tiêu đề/SEO trong thẻ <head>.
  • Avatar: thay URL ảnh trong mục HERO.
  • Thêm dự án: tìm id="projects" và thêm <article class="item project">.
  • Triển khai: GitHub Pages / Vercel / Netlify (chỉ cần file này và cv.pdf nếu có).