Lộ Trình Học Golang Cho Scalable BackEnd
17 tháng 9
Published
09 tháng 2
Golang đang ngày càng được các công ty công nghệ ưu chuộng, đặc biệt là những nơi đang sử dụng Cloud Native, Microservices. Với đặc điểm syntax đơn giản nhưng lại có hiệu năng như ngôn ngữ C giúp Golang trở thành một lựa chọn sáng giá.
- Xây dựng hệ thống tải cao lên đến 100k CCU.
- Sử dụng gRPC tăng tải service.
- Kiến trúc dễ mở rộng và chuyển lên Microservices.
- DevOps: Docker, Logging, Monitoring, Tracing.
- Nắm vững Golang và các thư viện API thường dùng.
Nội dung khóa học
Buổi 00 – Khai giảng (giới thiệu và làm quen) 2hr 2m
Buổi 01 – Syntax Golang 2hr 6m
Buổi 02 – Concurrency Golang 2hr 8m
Buổi 03 – MySQL, Index, Primary Key và HTTP server với GIN 2hr 16m
Buổi 04 – REST API có sử dụng MySQL 2hr 11m
Buổi 05 – Kiến trúc service với Clean Architecture 2hr 15m
Buổi 06 – Cơ chế panicking, recover và chuẩn hoá error response 2hr 1m
Buổi 07 – Authentication với JWT 2hr 7m
Buổi 08 – Chia sẻ 200Lab Go SDK 2hr 23m
Buổi 09 – Context & Module User Like-Unlike Item 2hr 10m
Buổi 10 – Seek Paging và Repository 1hr 55m
Buổi 11 – Job, Job Group và Local PubSub 2hr 13m
Buổi 12 – Chia sẻ Blockchain và 2 service giao tiếp REST 1hr 54m
Buổi 13 – Dockerize service 1hr 42m
Buổi 14 – Microservices và API Gateway cơ bản 2hr 3m
Buổi 15 – Jaeger Tracing & Caching Redis 2hr 16m
Buổi 16 – gRPC và ứng dụng giao tiếp services 2hr 8m
Buổi 17 – Pub/Sub với NATS & chia sẻ career path 1hr 51m
Re-upload: Upload Image to S3, CDN with CloudFront 1hr 29m
Phân tích một số JD và chia sẻ nâng cao 2hr 17m
CHƯƠNG TRÌNH HỌC
TOPIC 1: NGÔN NGỮ GOLANG - KEY FEATURE
- Go effective, các quy ước để có source go đẹp và chuẩn.
- Go channel: Giao tiếp giữa các Goroutines (concurrent).
- Buffer Channel trong Golang.
- Cơ chế Defer, Recover trong Golang.
- Sử dụng Interface trong Golang.
- Slice, buffer, json decode / encode trong Golang.
TOPIC 2: PHÂN TÍCH DỰ ÁN
- Thiết lập requirement, user story từ giao diện.
- Phân tích chức năng, flow và các APIs cần có.
- Phân tích modules cần có trong service.
- Bonus: phân chia modules cho microservices.
TOPIC 3: THIẾT LẬP DATABASE
- Cài đặt và kết nối database service: MySQL / PostgreSQL.
- Từ kết quả phân tích, thiết lập các bảng dữ liệu.
- Thiết lập các mối quan hệ giữa các bảng dữ liệu.
- Kỹ thuật đánh khoá chính và index để có kết quả truy xuất tốt nhất.
- Bonus: kinh nghiệm thiết kế database đảm bảo hiệu năng cao.
TOPIC 4: VIẾT API (CƠ BẢN) TRONG GOLANG
- Tìm hiểu REST API convention.
- Các API cơ bản: Create-Read-Update-Delete (CRUD) cơ bản.
- Các API CRUD trên nhiều bảng và transaction.
- Authen với JWT, cách sử dụng JWT để xác thực người dùng.
TOPIC 5: VIẾT API (MỞ RỘNG) TRONG GOLANG
- Sử dụng middleware: tiền xử lý, xác thực quyền hạn, bắt lỗi crash.
- Upload files: xử lý, lưu trữ với các cloud storage (AWS S3) và CDN.
- Giao tiếp API giữa các module.
- Tổng hợp và link data các module.
- Bonus: Cách thiết kế giảm lệ thuộc giữa các module, tăng tốc xử lý, chống leak memory.
TOPIC 6: ASYNC HANDLERS, XỬ LÝ SIDE EFFECT TRONG GOLANG
- Cách xây dựng async job trong Golang.
- Giải quyết timeout, retry cho async job.
- Đồng bộ dữ liệu với các async job.
- Pub / Sub trong Golang.
- Xây dựng async job queue & message broker.
TOPIC 7: TRIỂN KHAI (DEPLOY) & MONITORING
- Log system trong Golang.
- Cơ chế tự động phục hồi kết nối DB (resilience).
- Cách sử dụng environment trong Golang.
- Build & Deploy với Docker.
- Sử dụng nginx (container Docker) làm reverse proxy.
- Bonus: Monitoring & Tracing.
TOPIC 8: SỬ DỤNG GRPC ĐỂ TĂNG TẢI SERVICE
- Giới thiệu gRPC.
- Lập trình Protobuf 3.
- Tạo các service sử dụng gRPC cơ bản.
- gRPC streaming.
- Sử dụng gRPC Gateway để hỗ trợ thêm REST API.
- Bonus: Các kinh nghiệm xử lý gRPC trong thực tế.
TOPIC 9: MICROSERVICE CƠ BẢN (KHOÁ LIVESTREAM MỚI)
- Hiểu rõ về Stateless service.
- Phân tách và deploy nhiều Microservices với API Gateway.
- Sử dụng Redis và NATs để tăng tải các services.
- Một số kinh nghiệm xử lý các vấn đề trong Microservice.
- Kiến trúc Clean Architecture, kết nối các services với gRPC.
- Sử dụng ServiceContext để quản lý ENV và các plugins.
TOPIC 10: Microservices & DevOps cơ bản
- Kinh nghiệm tăng tải hệ thống 100K CCU.
- Monitoring các chỉ số hệ thống.
- Kiến trúc dễ dàng phân tách Microservices.
- Distributed Tracing để tìm nút thắc cổ chai trong hệ thống.
- Hệ thống logging cơ bản.
TOPIC 11: CÁC KỸ NĂNG KHÁC
- Tư duy backend và hệ thống.
- Thuật toán & cấu trúc dữ liệu cơ bản.
- Xây dựng profile Github.
- Quản lý dự án, teamwork.
- Kiến trúc ứng dụng và các design pattern thường gặp trong Golang.
- Xây dựng CV để ứng tuyển vị trí Golang (có hỗ trợ review trainee, interview thử).
Lưu ý
Khóa học được Weekly Study dẫn thông tin từ các nguồn cung cấp khác, chúng tôi không có trách nhiệm pháp lý về khóa học này.
Tuyên bố miễn trừ bản quyền:
Trang web này không lưu trữ bất kỳ tệp nào trên máy chủ của nó. Chúng tôi chỉ lập chỉ mục và liên kết đến nội dung được cung cấp bởi các trang web khác. Vui lòng liên hệ với các nhà cung cấp nội dung để xóa nội dung bản quyền nếu có và gửi email cho chúng tôi, chúng tôi sẽ xóa các liên kết hoặc nội dung có liên quan ngay lập tức.
Copyright Disclaimer:
This site does not store any files on its server. We only index and link to content provided by other sites. Please contact the content providers to delete copyright contents if any and email us, we'll remove relevant links or contents immediately.