Backend performance enhancement with NodeJS - up1/training-courses GitHub Wiki

Course :: Backend performance enhancement with NodeJS

เป้าหมาย

  • ทำการปรับปรุงโครงสร้างของระบบงานให้ดียิ่งขึ้น
  • สามารถวิเคราะห์การทำงานของระบบงาน เพื่อให้สามารถทำการปรับปรุงได้อย่างถูกต้อง
  • ทำการขยายระบบเพื่องรองรับจำนวนผู้ใช้งานจำนวนมากได้อย่างดี

Outline

  • โครงสร้างของระบบงาน RESTful API ที่พัฒนาด้วย NodeJS
    • Routing and routing
    • Controller
    • Service or business
    • Repository
    • Gateway
  • การพัฒนาระบบงาน RESTful API
    • Express library
    • การเชื่อมต่อ MySQL database ด้วย mysql2
    • การเชื่อมต่อ external service ผ่าน HTTP protocol ด้วย fetch หรือ axios library
    • การใช้งาน caching data เพื่อลดการเข้าถึง database ด้วย Redis
  • API Testing with NodeJS
    • Postman
    • Supertest, Nock and Jest
  • Caching for Performance
    • Introduction to caching and its benefits.
    • Tools and techniques (Redis, in-memory caching).
    • Caching strategies (e.g., time-based, query-based).
  • Database Integration and Optimization
    • Database models
      • Relational
      • NoSQL
    • การออกแบบ database
      • Design for write
      • Design for read
      • Normalization vs Denormalization
    • Tuning performance and load testing
    • จัดการ database connection pool
    • Database query optimization
    • Working with index and caching
  • Working with API gateway => Kong
    • Manage API traffic
    • Manage API security
  • Develop Observability/Monitoring for RESTful API with NodeJS
    • Centralized logging
    • Application metric
    • Distributed tracing
  • Performance testing
    • Type of performance testing
    • How to Performance test?
    • Working with K6