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

Building Microservices with Spring Boot and Spring Cloud

หลักสูตร Building Microservices with Spring Boot and Spring Cloud เป็นการอบรมออกแบบ RESTful Web Service ด้วย Spring Boot แล้วต่อยอดเป็น Microservice บน Spring Cloud ทั้ง Config Server, Eureka, Spring Cloud Gateway, Micrometer Tracing และ Resilience4j เหมาะกับนักศึกษา ครู อาจารย์ และทีมไอทีที่มีพื้นฐาน Java

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

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

Building Microservices with Spring Boot and Spring Cloud การออกแบบและพัฒนา RESTful web service ในยุคปัจจุบันถือว่าเป็นส่วนที่กำลังได้รับความนิยม และมีความจำเป็นต้องใช้ในการสื่อสารระหว่างเว็บกับแอพพลิเคชั่น การนำเทคโนโลยีของภาษา Java ภายใต้ Spring Framework และ Spring Boot ถือเป็นอีกแนวทางที่น่าสนใจ และเหมาะสมกับผู้เริ่มต้นนำไปประยุกต์ใช้ในงานของตัวเอง

ในหลักสูตรนี้ผู้เข้าอบรมจะได้เรียนรู้ พื้นฐานการออกแบบ Restful Web Service ตั้งแต่เริ่มต้นด้วย Spring framework ตามแนวทาง MVC ร่วมกับ Spring Boot พร้อมทั้งยังได้แนวทางเพิ่มเติมในการนำไปประยุกต์พัฒนา Microservice บน Spring Cloud

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

  • สามารถพัฒนาและออกแบบ RESTful Web Service ด้วย Spring Boot
  • สามารถพัฒนา Microservices ด้วย Spring Boot และ Spring Cloud
  • เข้าใจการทำ Exception Handling, Validation, HATEOAS และ Filtering ให้ RESTful Web Service
  • ทำ Client Side Load Balancing ด้วย Spring Cloud LoadBalancer
  • ตั้งค่าการจัดการ Configuration ของ Microservices แบบรวมศูนย์ด้วย Spring Cloud Config Server
  • ทำ Distributed Tracing ให้ Microservices ด้วย Micrometer Tracing และ Zipkin
  • ทำ Fault Tolerance ให้ Microservices ด้วย Resilience4j
  • เข้าใจการทำ Versioning ให้ RESTful Web Service
  • เข้าใจการมอนิเตอร์ RESTful Service ด้วย Spring Boot Actuator
  • เข้าใจการสร้างเอกสาร RESTful Web Service ด้วย Swagger
  • เข้าใจแนวปฏิบัติที่ดีในการออกแบบ RESTful Web Service
  • ใช้ Spring Cloud Bus ส่งข้อความแจ้งการอัปเดต Configuration
  • ใช้ Feign REST Client ช่วยให้สื่อสารกับ Microservice อื่นได้ง่ายขึ้น

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

  • นักเรียนนักศึกษา
  • ครู อาจารย์ วิทยากรที่สนใจ
  • นักวิชาการ นักไอที หรือผู้ดูแลระบบ
  • ตลอดจนผู้สนใจในการพัฒนา Microservices กับ Spring Boot และ Spring Cloud ทุกคน

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

  • พื้นฐานการออกแบบเว็บไซต์ด้วยภาษา HTML and CSS
  • พื้นฐานภาษา JavaScript
  • พื้นฐานภาษา Java Programming
  • พื้นฐานภาษา Java JSP & Servlet
  • พื้นฐานการออกแบบและใช้งานฐานข้อมูล เช่น mysql, sql server, oracle เป็นต้น

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

Module 1 บทนำ
  • Microservices และ RESTful API ด้วย Spring Boot และ Spring Cloud
  • ยินดีต้อนรับสู่หลักสูตร
Module 2 รู้จัก Web Services
  • Web Service คืออะไร
  • คำถามสำคัญเกี่ยวกับการทำงานของ Web Service
  • คำศัพท์สำคัญของ Web Service
  • รู้จัก SOAP Web Services
  • รู้จัก RESTful Web Services
  • เปรียบเทียบ SOAP กับ RESTful Web Services
Module 3 RESTful Web Services ด้วย Spring Boot
  • แนะนำเนื้อหา RESTful Web Services ด้วย Spring Boot
  • เริ่มโปรเจกต์ RESTful Service ด้วย Spring Boot
  • วิธีแก้ปัญหา Exception ต่าง ๆ อย่างรวดเร็ว
  • ทำความเข้าใจ RESTful Service ที่จะสร้างในหลักสูตร
  • สร้าง Hello World Service
  • ปรับ Hello World Service ให้ส่งกลับเป็น Bean
  • ทบทวน Auto Configuration และ Dispatcher Servlet ของ Spring Boot
  • ปรับ Hello World Service ให้รับ Path Variable
  • สร้าง User Bean และ User Service
  • เขียน GET Method สำหรับ User Resource
  • เขียน POST Method สำหรับสร้าง User Resource
  • ปรับ POST Method ให้ส่ง HTTP Status Code และ Location ที่ถูกต้อง
  • จัดการ Exception กรณี 404 Resource Not Found
  • จัดการ Exception แบบรวมศูนย์สำหรับทุก Resource
  • แบบฝึกหัด: User Post Resource และการจัดการ Exception
  • เขียน DELETE Method สำหรับลบ User Resource
  • การตรวจสอบข้อมูล (Validation) ใน RESTful Service
  • การทำ HATEOAS ใน RESTful Service
  • ภาพรวมฟีเจอร์ขั้นสูงของ RESTful Service
  • การรองรับหลายภาษา (Internationalization) ใน RESTful Service
  • การรองรับหลายภาษา (Internationalization) ใน RESTful Service (ต่อ)
  • Content Negotiation: รองรับรูปแบบ XML
  • ตั้งค่าการสร้างเอกสาร Swagger อัตโนมัติ
  • รู้จักรูปแบบเอกสาร Swagger
  • ปรับแต่งเอกสาร Swagger ด้วย Custom Annotation
  • มอนิเตอร์ API ด้วย Spring Boot Actuator
  • การทำ Static Filtering ใน RESTful Service
  • การทำ Dynamic Filtering ใน RESTful Service
  • การทำ Versioning ของ RESTful Service แบบพื้นฐานด้วย URI
  • การทำ Versioning ของ RESTful Service ด้วย Header และ Content Negotiation
  • การยืนยันตัวตนแบบ Basic Authentication ด้วย Spring Security
  • ภาพรวมการเชื่อมต่อ RESTful Service กับ JPA
  • สร้าง User Entity และข้อมูลทดสอบ
  • ปรับ GET Method ของ User Resource ให้ใช้ JPA
  • ปรับ POST และ DELETE Method ของ User Resource ให้ใช้ JPA
  • สร้าง Post Entity และความสัมพันธ์แบบ Many to One กับ User Entity
  • สร้าง GET Service สำหรับดึง Post ทั้งหมดของ User
  • สร้าง POST Service สำหรับสร้าง Post ให้ User
  • Richardson Maturity Model
  • แนวปฏิบัติที่ดีของ RESTful Web Services
Module 4 Microservices ด้วย Spring Cloud
  • แนะนำเนื้อหา Microservices ด้วย Spring Cloud
  • รู้จัก Microservices
  • ความท้าทายของ Microservices
  • รู้จัก Spring Cloud
  • ข้อดีของสถาปัตยกรรม Microservices
  • องค์ประกอบของ Microservice: การกำหนด Port และ URL ให้เป็นมาตรฐาน
  • แนะนำ Limits Microservice และ Spring Cloud Config Server
  • ตั้งค่า Limits Microservice
  • สร้าง Limits Service แบบกำหนดค่าตายตัว
  • ปรับ Limits Service ให้อ่านค่าจาก Application Properties
  • ตั้งค่า Spring Cloud Config Server
  • ติดตั้ง Git
  • สร้าง Git Repository บนเครื่อง
  • เชื่อม Spring Cloud Config Server กับ Git Repository บนเครื่อง
  • ตั้งค่าสำหรับหลายสภาพแวดล้อมใน Git Repository
  • เชื่อม Limits Service กับ Spring Cloud Config Server
  • ตั้งค่า Profile ให้ Limits Service
  • ทบทวน Spring Cloud Config Server
  • แนะนำ Currency Conversion และ Currency Exchange Microservice
  • ตั้งค่า Currency Exchange Microservice
  • สร้าง Currency Exchange Service แบบกำหนดค่าตายตัว
  • แสดง Port แบบไดนามิกใน Response
  • ตั้งค่า JPA และเตรียมข้อมูลตั้งต้น
  • สร้าง JPA Repository
  • ตั้งค่า Currency Conversion Microservice
  • สร้าง Service สำหรับแปลงสกุลเงิน
  • เรียกใช้ Currency Exchange Microservice จาก Currency Conversion Microservice
  • ใช้ Feign REST Client เรียกใช้ Service
  • ตั้งค่า Client Side Load Balancing ด้วย Spring Cloud LoadBalancer
  • รัน Client Side Load Balancing ด้วย Spring Cloud LoadBalancer
  • ความจำเป็นของ Naming Server
  • ตั้งค่า Eureka Naming Server
  • เชื่อม Currency Conversion Microservice กับ Eureka
  • เชื่อม Currency Exchange Microservice กับ Eureka
  • กระจายการเรียกใช้ด้วย Eureka และ Spring Cloud LoadBalancer
  • ทบทวนการใช้ Eureka, Spring Cloud LoadBalancer และ Feign
  • รู้จัก API Gateway
  • ตั้งค่า Spring Cloud Gateway
  • สร้าง Global Filter สำหรับ Logging ใน Spring Cloud Gateway
  • ส่ง Request ผ่าน Spring Cloud Gateway
  • ตั้ง Spring Cloud Gateway คั่นระหว่างการเรียก Microservice
  • รู้จัก Distributed Tracing
  • ใช้งาน Micrometer Tracing
  • รู้จัก Distributed Tracing ด้วย Zipkin
  • ติดตั้ง RabbitMQ
  • รัน Zipkin บน Windows
  • ตั้งค่า Distributed Tracing ด้วย Zipkin
  • เชื่อม Microservices เข้ากับ Zipkin
  • ใช้ micrometer-tracing-bridge-brave และ zipkin-reporter-brave
  • ใช้ Zipkin UI Dashboard ติดตาม Request
  • ความจำเป็นของ Spring Cloud Bus
  • ใช้งาน Spring Cloud Bus
  • ใช้งาน Spring Cloud Bus (ต่อ)
  • Fault Tolerance ด้วย Resilience4j (Circuit Breaker)
  • คุณลักษณะของ Microservices

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

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

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

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

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

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

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

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

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

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

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

Eureka Naming Server ใช้ทำอะไรในระบบ Microservices

Eureka เป็น Service Registry ที่ Microservice แต่ละตัวมาลงทะเบียนชื่อและที่อยู่ของตัวเองเมื่อเริ่มทำงาน Service ที่ต้องเรียกตัวอื่นจึงค้นหาด้วยชื่อแทนการระบุ URL และพอร์ตตายตัว เมื่อใช้ร่วมกับ Spring Cloud LoadBalancer และ Feign คำขอจะถูกกระจายไปยังหลาย Instance ของ Service ปลายทางโดยอัตโนมัติ จึงเพิ่มหรือลด Instance ได้โดยไม่ต้องแก้โค้ด

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

เหมาะกับนักศึกษา ครู อาจารย์ นักไอทีหรือผู้ดูแลระบบ และผู้สนใจพัฒนา Microservices ด้วย Spring Boot และ Spring Cloud ควรมีพื้นฐานภาษา Java รวมถึง JSP และ Servlet พื้นฐาน HTML, CSS และ JavaScript และออกแบบหรือใช้งานฐานข้อมูลอย่าง MySQL, SQL Server หรือ Oracle ได้

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

สร้าง RESTful Web Service ด้วย Spring Boot พร้อม Validation, Exception Handling, Versioning และเอกสาร Swagger เชื่อมฐานข้อมูลด้วย JPA แล้วแยกเป็น Microservices ที่ใช้ Config Server, Eureka, Feign และ Spring Cloud Gateway ติดตาม Request ด้วย Micrometer Tracing และ Zipkin และทำ Fault Tolerance ด้วย Resilience4j ผู้ผ่านการอบรมได้รับใบประกาศนียบัตร (Certificate of Completion) ที่มีเลขที่ของตัวเองและตรวจสอบออนไลน์ได้

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

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