ข้ามไปยังเนื้อหา

ShopMicro

สร้าง ShopMicro ระบบ e-commerce แบบ microservices ที่ขับเคลื่อนด้วย event ด้วยภาษา Go ทั้งห้าเซอร์วิสคุยกันแบบ synchronous ผ่าน gRPC (พร้อม REST ผ่าน grpc-gateway) และแบบ asynchronous ผ่าน Kafka และ RabbitMQ มี PostgreSQL แยกต่อเซอร์วิส order saga บน outbox pattern และ deploy ขึ้น Kubernetes ด้วย Helm

Introduction

รู้จัก ShopMicro ว่าทำไมต้องสร้าง คอร์สนี้จัดโครงสร้างยังไง และสุดท้ายคุณจะได้อะไร เปิดดู →

Setup & Tooling

ติดตั้ง Go, Docker และเครื่องมือที่เหลือ พร้อมวางโครงสร้าง monorepo เปิดดู →

Protobuf & gRPC

นิยาม contract ของเซอร์วิสด้วย Protobuf และ generate gRPC stub ของ Go เปิดดู →

Catalog Service

สร้าง gRPC server ของ Catalog ที่มี PostgreSQL เป็นฐานข้อมูลของตัวเอง เปิดดู →

Order Service

สร้าง gRPC server ของ Order ที่สร้างคำสั่งซื้อและส่ง event ออกมา เปิดดู →

API Gateway

เปิดเซอร์วิสให้เป็น REST ผ่าน grpc-gateway ภายใต้จุดเข้าเดียว เปิดดู →

Kafka (Event Stream)

ส่งและรับ event log ที่ replay ได้ ด้วย producer และ consumer ของ Kafka เปิดดู →

RabbitMQ (Work Queues)

ส่งงานผ่าน exchange และ queue ของ RabbitMQ เพื่อประมวลผลแบบ asynchronous เปิดดู →

Payment Service

รับ order event และประมวลผลการชำระเงินในเซอร์วิสเฉพาะทาง เปิดดู →

Order Saga

ประสานงานคำสั่งซื้อที่ข้ามหลายเซอร์วิสด้วย saga และ outbox pattern เปิดดู →

Notification Service

ตอบสนองต่อ domain event และแจ้งเตือนลูกค้าจาก consumer ที่แยกออกมา เปิดดู →

Resilience

เพิ่ม timeout, retry และ backoff เพื่อให้ระบบทนต่อความล้มเหลวบางส่วนได้ เปิดดู →

Testing

คลุมทุกเซอร์วิสด้วย table-driven unit test และ integration test เปิดดู →

Docker & Compose

ทำ container ให้ทุกเซอร์วิส และรันทั้งสแตกด้วยคำสั่งเดียว เปิดดู →

Kubernetes (Helm)

แพ็กและ deploy ทั้งระบบขึ้น Kubernetes ด้วย Helm chart เปิดดู →

Wrap-up

ทบทวนสิ่งที่คุณสร้างมา และก้าวต่อไปของ ShopMicro เปิดดู →

Real, copy-pasteable code

ทุกโค้ดในคอร์สนี้เป็นโค้ด Go จริงที่รันได้ คัดลอกไปใช้ในโปรเจกต์ของคุณได้เลย ไม่มี pseudo-code

Adapts the Learn Hub courses

ต่อยอดจากแพทเทิร์นของคอร์ส Go และ microservices ใน Learn Hub มาประยุกต์ใช้กับโปรเจกต์จริงแบบครบวงจร

Bilingual EN / ไทย

มีทั้งภาษาอังกฤษและไทย สลับได้ตลอดจากแถบด้านบน

You build it by following along

นี่คือคอร์สแบบลงมือทำ คุณจะได้เขียนโค้ดเองทีละขั้นตอน ไม่ใช่แค่อ่านผ่าน ๆ