สอบถามหลักสูตรเลือกช่องทางที่สะดวก ทีมงานตอบเองทุกช่อง
LINE @itgeniusตอบเร็วที่สุด · จ–ศ 9:00–17:00 น.
โทรศัพท์
02-570-8449สำนักงาน088-807-9770มือถือ
อีเมลและโซเชียล
contact@itgenius.co.thสำหรับใบเสนอราคาและเอกสารFacebookitgeniusonlineYouTubeitgeniusengขอคำปรึกษาจัดอบรมให้ทีม
พัฒนาเว็บไซต์ · WDC-47

Microservices with Spring Boot and Spring Cloud

หลักสูตร Microservices with Spring Boot and Spring Cloud เป็นการอบรมสร้างระบบ Microservices ด้วย Spring Boot 4 ทั้ง Config Server, Eureka, Gateway, Resilience4j, Distributed Tracing และ OAuth2 จนรันทั้งระบบด้วย Docker Compose เหมาะกับ Java Developer ที่ใช้ Spring Boot อยู่แล้ว Software Architect และทีม DevOps

อัปเดตล่าสุด
ราคาเริ่มต้น 8,550 บาท / ท่าน 9,500 −10% ยังไม่รวม VAT 7% · มีราคาหมู่คณะ
PDFดาวน์โหลด Course Outline
  • ระยะเวลา18 ชั่วโมง · 3 วัน
  • รูปแบบออนไซต์ / ออนไลน์สด
  • รอบถัดไปเปิดตามคำขอ
  • ใบรับรองมี Certificate

ภาพรวมหลักสูตร

เมื่อระบบโตขึ้นและมีหลายทีมช่วยกันพัฒนา แอปพลิเคชันก้อนเดียวมักแก้ยาก Deploy ช้า และพังทั้งระบบเมื่อส่วนใดส่วนหนึ่งมีปัญหา สถาปัตยกรรม Microservices จึงถูกนำมาใช้เพื่อแยกระบบเป็นบริการย่อยที่พัฒนาและขยายได้อิสระ แต่ก็มาพร้อมโจทย์ใหม่ทั้งการตั้งค่า การค้นหากัน การรับมือเมื่อบริการปลายทางล่ม และการติดตามปัญหาที่วิ่งข้ามหลาย Service ซึ่ง Spring Boot และ Spring Cloud มีเครื่องมือรองรับไว้ครบ

หลักสูตรนี้ต่อยอดจากพื้นฐาน Spring Boot ไปสู่การสร้างระบบ Microservices ด้วย Spring Boot 4.1, Spring Cloud 2025.1 และ Java 25 LTS เริ่มจากออกแบบขอบเขตของแต่ละ Service สร้าง RESTful Service พร้อมเอกสาร API และ Health Check แล้วแยกเป็นหลาย Service ที่เรียกกันด้วย HTTP Service Client จากนั้นรวมศูนย์ค่าตั้งค่าด้วย Config Server ค้นหากันด้วย Eureka และ LoadBalancer วาง Spring Cloud Gateway ทำ Fault Tolerance ด้วย Resilience4j และใช้ Spring Cloud Bus กับ RabbitMQ ปิดท้ายด้วย Distributed Tracing, Metrics, OAuth2 และการรันทั้งระบบด้วย Docker Compose (อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง ระดับ Intermediate)

สิ่งที่คุณจะได้รับ

  • เข้าใจข้อดี ข้อจำกัด และการแบ่งขอบเขตของระบบแบบ Microservices
  • สร้าง RESTful Service ด้วย Spring Boot 4.1 พร้อม Validation, ProblemDetail, Versioning และเอกสาร OpenAPI
  • ให้ Service เรียกกันด้วย HTTP Service Client และกระจายโหลดด้วย Spring Cloud LoadBalancer
  • รวมศูนย์ค่าตั้งค่าด้วย Spring Cloud Config Server และกระจายการเปลี่ยนแปลงด้วย Spring Cloud Bus
  • ค้นหา Service ด้วย Eureka และวาง API Gateway ด้วย Spring Cloud Gateway
  • ทำ Fault Tolerance ด้วย Resilience4j ทั้ง Circuit Breaker, Retry และ Rate Limiter
  • ติดตาม Request ข้าม Service ด้วย Micrometer Tracing และ Zipkin และเก็บ Metrics ด้วย Actuator
  • ป้องกันระบบด้วย OAuth2 กับ JWT และรันทั้งระบบด้วย Docker Compose

หลักสูตรนี้เหมาะสำหรับ

  • Java Developer ที่ใช้ Spring Boot อยู่แล้วและต้องการก้าวสู่ระบบ Microservices
  • Backend Developer ที่ต้องแยกระบบเดิมออกเป็นหลาย Service
  • Software Architect และ Tech Lead ที่ต้องวางโครงสร้างระบบแบบกระจาย
  • ทีม DevOps และผู้ดูแลระบบที่ต้องดูแลและติดตามระบบ Microservices
  • อาจารย์และนักศึกษาที่ต้องการเห็นการสร้างระบบ Microservices ด้วย Java ครบวงจร

พื้นฐานของผู้เข้าอบรม

  • เขียนภาษา Java แบบ OOP ได้ และเคยสร้างแอปด้วย Spring Boot มาบ้าง
  • เข้าใจ RESTful API, HTTP Method และรูปแบบข้อมูล JSON
  • ใช้ฐานข้อมูลเชิงสัมพันธ์ เช่น MySQL, PostgreSQL หรือ SQL Server ขั้นพื้นฐานได้
  • โน้ตบุ๊กที่ติดตั้ง JDK 25, IDE และ Docker Desktop ได้ พร้อมสิทธิ์ติดตั้งโปรแกรม

หัวข้อการฝึกอบรม

รายละเอียดหลักสูตร

หลักสูตรนี้เป็นฉบับปรับปรุงใหม่ปี 2026 ของหลักสูตร Building Microservices with Spring Boot and Spring Cloud เนื้อหาเขียนใหม่ให้ตรงกับ Spring Boot 4.1, Spring Cloud 2025.1 และ Java 25 LTS อบรม 3 วัน วันละ 6 ชั่วโมง รวม 18 ชั่วโมง (09:00-16:00 น.) รูปแบบบรรยายพร้อม Lab บนระบบแลกเปลี่ยนและแปลงสกุลเงินแบบหลาย Service ชุดเดียวตลอดหลักสูตร ระดับ Intermediate หลักสูตรนี้ต่อยอดจากหลักสูตร Spring Framework 7 and Spring Boot 4 Basic to

Advanced จึงทบทวน RESTful พื้นฐานเพียงบทเดียวแล้วเน้นระบบหลาย Service เทียบกับรุ่นเดิมได้เปลี่ยนจาก OpenFeign มาใช้ HTTP Service Client ใช้ Spring Cloud Gateway แบบ Server WebMVC และเพิ่ม Resilience4j ครบชุด, OAuth2 กับ Keycloak, Metrics และ Docker Compose เครื่องมือทั้งหมดเป็นโอเพนซอร์สหรือใช้ฟรีและรันบนเครื่องของผู้เรียนด้วย Docker ผู้เรียนจะได้ Lab Guide ซอร์สโค้ดทุก Service และไฟล์ docker-compose ของระบบทั้งชุดกลับไปใช้งานต่อ

Day 1 จาก RESTful Service สู่หลาย Service

Section 1: Lab: รู้จัก Microservices Architecture

  • Monolith เทียบกับ Microservices และกรณีที่ยังไม่ควรแยกระบบ
  • แบ่งขอบเขต Service ตามโดเมนธุรกิจ และหลัก Database per Service
  • ความท้าทายของระบบกระจาย และเครื่องมือที่ Spring Cloud มีให้
  • Spring Boot 4.1, Spring Cloud 2025.1 และ Java 25 LTS ทำงานร่วมกันอย่างไร
  • Lab: เตรียมโปรเจกต์ด้วย Spring Initializr และ Docker Compose สำหรับฐานข้อมูล

Section 2: Lab: RESTful Service ด้วย Spring Boot 4.1

  • ทบทวน Controller, Request Mapping และ HTTP Status Code ที่ถูกต้อง
  • Validation และการตอบ Error แบบมาตรฐานด้วย ProblemDetail
  • เชื่อมฐานข้อมูลด้วย Spring Data JPA และความสัมพันธ์ระหว่าง Entity
  • API Versioning ที่ Spring Framework 7 รองรับในตัว
  • Lab: Service จัดการข้อมูลผู้ใช้ที่พร้อมให้ Service อื่นเรียกใช้

Section 3: Lab: เอกสาร API และ Actuator

  • สร้างเอกสาร OpenAPI และหน้า Swagger UI ด้วย springdoc-openapi
  • Richardson Maturity Model และแนวปฏิบัติที่ดีในการออกแบบ API
  • Spring Boot Actuator: Health, Info และ Metrics Endpoint
  • Liveness และ Readiness Probe สำหรับระบบที่รันใน Container
  • Lab: เปิดเอกสาร API และ Health Check ให้ทุก Service

Section 4: Lab: แยกระบบเป็น Currency Exchange และ Conversion

  • ออกแบบ Service แลกเปลี่ยนสกุลเงินและ Service แปลงสกุลเงิน
  • กำหนด Port, URL และชื่อ Service ให้เป็นมาตรฐานเดียวกัน
  • แยกฐานข้อมูลของแต่ละ Service และเตรียมข้อมูลตั้งต้น
  • แสดง Instance และ Port ที่ตอบกลับเพื่อใช้ทดสอบการกระจายโหลด
  • Lab: รันหลาย Instance ของ Service เดียวกันพร้อมกัน

Section 5: Lab: เรียก Service อื่นด้วย HTTP Service Client

  • RestClient และการเรียก Service ปลายทางแบบ Synchronous
  • ประกาศ Client เป็น Interface ด้วย @HttpExchange และจัดกลุ่มด้วย @ImportHttpServices
  • ตั้งค่า Base URL และ Timeout แยกตามกลุ่มของ Client
  • เทียบกับ Spring Cloud OpenFeign ที่อยู่ในสถานะ Maintenance
  • Lab: Service แปลงสกุลเงินเรียกอัตราแลกเปลี่ยนจากอีก Service
Day 2 Spring Cloud สำหรับระบบกระจาย

Section 6: Lab: Spring Cloud Config Server

  • ปัญหาของค่าตั้งค่าที่กระจายอยู่ในแต่ละ Service
  • ตั้ง Config Server ที่อ่านค่าจาก Git Repository
  • แยกค่าตามชื่อ Service และ Profile เช่น dev และ prod
  • เชื่อม Service ด้วย spring.config.import และเข้ารหัสค่าที่เป็นความลับ
  • Lab: ย้ายค่าตั้งค่าของ Limits Service และ Currency Service ไปไว้ที่ Config Server

Section 7: Lab: Eureka และ Spring Cloud LoadBalancer

  • ทำไมต้องมี Naming Server และหลักการของ Service Registry
  • ตั้ง Eureka Server และให้ทุก Service ลงทะเบียนเมื่อเริ่มทำงาน
  • เรียก Service ด้วยชื่อแทน URL ผ่าน RestClient ที่ใช้ LoadBalancer
  • กระจายคำขอไปหลาย Instance และสังเกตเมื่อ Instance หายไป
  • Lab: เพิ่มและลด Instance โดยไม่ต้องแก้โค้ด

Section 8: Lab: API Gateway ด้วย Spring Cloud Gateway

  • บทบาทของ API Gateway ในระบบ Microservices
  • Spring Cloud Gateway แบบ Server WebMVC และ Server WebFlux ต่างกันอย่างไร
  • กำหนด Route, Predicate และ Filter ไปยังแต่ละ Service ผ่าน Eureka
  • Global Filter สำหรับ Logging และการจำกัดจำนวนคำขอ
  • Lab: ให้ทุกคำขอจากภายนอกผ่าน Gateway จุดเดียว

Section 9: Lab: Fault Tolerance ด้วย Resilience4j

  • Cascading Failure และเหตุที่ระบบกระจายต้องออกแบบรับความล้มเหลว
  • Circuit Breaker ผ่าน Spring Cloud CircuitBreaker พร้อม Fallback
  • Retry, Rate Limiter, Bulkhead และ Time Limiter ของ Resilience4j
  • @Retryable และ @ConcurrencyLimit ที่มาใหม่ใน Spring Framework 7
  • Lab: ปิด Service ปลายทางแล้วดูระบบตอบด้วย Fallback แทนการล่ม

Section 10: Lab: Spring Cloud Bus และ RabbitMQ

  • ปัญหาการรีเฟรชค่าตั้งค่าในทุก Instance พร้อมกัน
  • รัน RabbitMQ ด้วย Docker และเชื่อมทุก Service ผ่าน Spring Cloud Bus
  • สั่งรีเฟรชค่าทั้งระบบผ่าน Endpoint busrefresh ครั้งเดียว
  • แนวคิด Event-driven และการสื่อสารแบบ Asynchronous เบื้องต้น
  • Lab: เปลี่ยนค่าใน Git แล้วให้ทุก Instance ใช้ค่าใหม่โดยไม่ Restart
Day 3 Observability, ความปลอดภัย และการ Deploy

Section 11: Lab: Distributed Tracing

  • Trace และ Span ช่วยหาจุดที่ช้าเมื่อคำขอวิ่งข้ามหลาย Service
  • Micrometer Tracing และ Observation API ใน Spring Boot 4
  • ส่ง Trace ไป Zipkin และทางเลือก OpenTelemetry ผ่าน OTLP
  • ใส่ Trace ID ใน Log เพื่อเชื่อมโยงปัญหาข้าม Service
  • Lab: ติดตามคำขอตั้งแต่ Gateway จนถึงฐานข้อมูลบนหน้า Zipkin

Section 12: Lab: Metrics และ Dashboard

  • เก็บ Metrics ด้วย Micrometer และเปิด Endpoint สำหรับ Prometheus
  • Metrics สำคัญของ Microservices: Latency, Error Rate และ Throughput
  • สร้าง Dashboard ด้วย Grafana และตั้งการแจ้งเตือนเบื้องต้น
  • ดูสถานะ Circuit Breaker ผ่าน Actuator และ Metrics
  • Lab: Dashboard ภาพรวมสุขภาพของทุก Service

Section 13: Lab: ความปลอดภัยของ Microservices

  • OAuth2 และ OpenID Connect สำหรับระบบหลาย Service
  • ใช้ Keycloak เป็น Authorization Server และออก JWT
  • ตั้งแต่ละ Service เป็น Resource Server ด้วย Spring Security
  • ตรวจสิทธิ์ที่ Gateway และส่งต่อ Token ไปยัง Service ปลายทาง
  • Lab: ป้องกัน API ทั้งระบบด้วย JWT และกำหนดสิทธิ์ตามบทบาท

Section 14: Lab: Container และการ Deploy

  • สร้าง Image ด้วย Dockerfile หรือ Cloud Native Buildpacks
  • รันทั้งระบบด้วย Docker Compose พร้อมลำดับการเริ่มและ Health Check
  • Virtual Threads ของ Java 25 กับการรองรับคำขอพร้อมกันจำนวนมาก
  • ภาพรวมการย้ายขึ้น Kubernetes และส่วนที่ทดแทน Eureka กับ Config Server ได้

Section 15: Workshop: Capstone ระบบ Microservices

  • เพิ่ม Service ใหม่เข้าระบบพร้อม Config, Discovery และ Gateway Route
  • ทดสอบความทนทานด้วยการปิด Service และเพิ่มความหน่วงโดยตั้งใจ
  • ไล่หาสาเหตุปัญหาจาก Trace, Metrics และ Log
  • นำเสนอผลงาน รีวิวร่วมกัน และสรุป Checklist ก่อนขึ้น Production

รอบอบรมและรูปแบบการอบรม

สำหรับบุคคล — รอบอบรมทั่วไป

ขณะนี้ยังไม่มีรอบอบรมเปิดรับสมัคร ลงชื่อจองไว้ได้เลย ทีมงานจะติดต่อกลับเป็นกลุ่มแรกเมื่อเปิดรอบถัดไป หรือสอบถามทางไลน์ หรือโทร 02-570-8449 หรือ 088-807-9770

สำหรับองค์กร — In-house / Private Training

  • ปรับเนื้อหาให้ตรงกับเครื่องมือและงานจริงของทีม
  • เลือกวันเอง อบรมที่บริษัทหรือออนไลน์สด
  • ออกใบเสนอราคาในนามนิติบุคคลให้ฝ่ายจัดซื้อ
ขอใบเสนอราคาอบรมองค์กร

วิทยากรผู้สอน

คำถามที่พบบ่อย

Spring Cloud Config Server ใช้ทำอะไร

Config Server เป็นศูนย์กลางเก็บค่าตั้งค่าของ Microservices ทุกตัว โดยทั่วไปดึงจาก Git Repository แยกตามชื่อ Service และ Profile เช่น dev หรือ prod แต่ละ Service ดึงค่าผ่าน spring.config.import ตอนเริ่มทำงานแทนการฝังไว้ในโปรเจกต์ จึงเปลี่ยนค่าได้โดยไม่ต้อง Build ใหม่ และเมื่อใช้ร่วมกับ Spring Cloud Bus จะสั่งให้ทุก Instance โหลดค่าใหม่พร้อมกันได้ในคำสั่งเดียว

Circuit Breaker ใน Resilience4j ทำงานอย่างไร

Circuit Breaker คอยนับการเรียก Service ปลายทางที่ล้มเหลว เมื่ออัตราล้มเหลวเกินเกณฑ์จะเปลี่ยนเป็นสถานะ Open และตอบกลับด้วย Fallback ทันทีโดยไม่เรียกปลายทางอีก ช่วยไม่ให้ความผิดพลาดลามไปทั้งระบบ เมื่อพ้นช่วงรอจะเข้าสถานะ Half-Open ลองเรียกจำนวนหนึ่ง ถ้าสำเร็จจึงกลับเป็น Closed ใน Spring Boot ใช้ผ่าน Spring Cloud CircuitBreaker หรือ Annotation ของ Resilience4j และใช้ร่วมกับ Retry, Rate Limiter และ Bulkhead ได้

ควรใช้ OpenFeign หรือ HTTP Service Client ในการเรียก Service อื่น

Spring Cloud OpenFeign อยู่ในสถานะ Feature-complete และรับเฉพาะการแก้บั๊ก ทีม Spring แนะนำให้โปรเจกต์ใหม่ใช้ HTTP Service Client ที่ประกาศ Client เป็น Interface ด้วย @HttpExchange ซึ่ง Spring Boot 4 ตั้งค่าให้อัตโนมัติ จัดกลุ่ม กำหนด Base URL และ Timeout ผ่าน Property ได้ และใช้ร่วมกับ LoadBalancer เพื่อเรียก Service ด้วยชื่อจาก Eureka ได้ หลักสูตรนี้จึงสอน HTTP Service Client เป็นหลัก และอธิบาย OpenFeign เพื่อให้อ่านโค้ดของระบบเดิมได้

หลักสูตร Microservices with Spring Boot and Spring Cloud เหมาะกับใคร ต้องมีพื้นฐานอะไรมาก่อน

เหมาะกับ Java Developer ที่ใช้ Spring Boot อยู่แล้วและต้องการก้าวสู่ระบบ Microservices, Backend Developer ที่ต้องแยกระบบเดิม, Software Architect, Tech Lead และทีม DevOps ควรเขียน Java แบบ OOP ได้ เคยสร้างแอปด้วย Spring Boot มาบ้าง เข้าใจ RESTful API และใช้ฐานข้อมูลเชิงสัมพันธ์เบื้องต้นได้ ผู้ที่ยังไม่เคยใช้ Spring Boot ควรเรียนหลักสูตร Spring Framework 7 and Spring Boot 4 Basic to Advanced ก่อน

เรียนจบหลักสูตร Microservices with Spring Boot and Spring Cloud แล้วทำอะไรได้บ้าง

ออกแบบขอบเขตของ Service สร้าง RESTful Service ด้วย Spring Boot 4.1 พร้อมเอกสาร OpenAPI และ Health Check ให้ Service เรียกกันด้วย HTTP Service Client รวมศูนย์ค่าตั้งค่าด้วย Config Server ค้นหา Service ด้วย Eureka วาง Spring Cloud Gateway ทำ Fault Tolerance ด้วย Resilience4j ติดตาม Request ด้วย Micrometer Tracing และ Zipkin ป้องกันระบบด้วย OAuth2 และรันทั้งระบบด้วย Docker Compose ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

จัดอบรมหลักสูตร Microservices with Spring Boot and Spring Cloud ให้ทีมในองค์กรได้ไหม

ได้ หลักสูตรนี้จัดเป็นการอบรมแบบ In-house ให้ทีมในองค์กรได้ และปรับตัวอย่างให้ตรงกับงานของทีม เช่น ฝึกออกแบบ Service จากระบบ Java ที่ทีมดูแลอยู่ ขอใบเสนอราคาได้จากหน้านี้ หรือติดต่อทาง LINE @itgenius โทร 02-570-8449