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
- การออกแบบ 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