ไมโครเซอร์วิสที่ใช้ Spring Boot และ Spring Cloud
เผยแพร่แล้ว: 2020-09-04สารบัญ
ข้อมูลเบื้องต้นเกี่ยวกับไมโครเซอร์วิส
Microservices เป็นบริการขนาดเล็กที่สามารถพึ่งพาตนเองได้ ซึ่งทำงานร่วมกันเพื่อบรรลุเป้าหมายทางธุรกิจที่ซับซ้อน บริการเหล่านี้มีความเป็นอิสระและสมบูรณ์ โดยสามารถสร้างขึ้นโดยทีมพัฒนาต่างๆ โดยใช้ภาษาโปรแกรมและการจัดเก็บข้อมูลที่แตกต่างกัน ไมโครเซอร์วิสสามารถปรับขนาดได้ทีละรายการและปรับใช้ได้โดยอัตโนมัติ บำรุงรักษาง่ายและให้ความทนทานต่อข้อผิดพลาดมากกว่าเมื่อเปรียบเทียบกับบริการแบบเสาหิน กระนั้น พวกมันเชื่อมต่อกันอย่างหลวมๆ และสามารถโต้ตอบซึ่งกันและกันเพื่อให้บรรลุเป้าหมายของแอปพลิเคชันที่ใหญ่ขึ้น
มีเครื่องมือมากมายในท้องตลาด เพื่อให้คุณสามารถสร้างซอฟต์แวร์โดยใช้สถาปัตยกรรมไมโครเซอร์วิส Spring Cloud และ Spring Boot เป็นเฟรมเวิร์ก Java microservices ยอดนิยม
Spring Boot เป็นแพลตฟอร์มการพัฒนาแอปพลิเคชันที่มีความคิดเห็นซึ่งสร้างขึ้นโดยใช้กรอบงาน Spring ที่ใช้ในการพัฒนาเว็บแอปพลิเคชัน Java ในขณะเดียวกันก็ปรับแต่งได้ และคุณสามารถกำหนดค่าได้ตามความต้องการของคุณ แง่มุมพื้นฐานของการ สอนสปริงคลาวด์ จะกล่าวถึงในบล็อกนี้
ไมโครเซอร์วิสที่ใช้ Spring Boot และ Spring Cloud
บทช่วย สอน Spring Cloud นี้ ให้ภาพรวมพื้นฐานของการสร้างแอปพลิเคชันไมโครเซอร์วิสอย่างง่ายโดยใช้ Spring Boot และ Spring Cloud นอกจากนี้ บทช่วยสอนยังมีลิงก์ไปยังเอกสารที่เกี่ยวข้องซึ่งจะช่วยให้คุณบรรลุเป้าหมายการเรียนรู้ คุณจะต้องทำสิ่งต่อไปนี้:
1. สร้างบริการใหม่โดยใช้ Spring Boot โดยใช้ Spring Initializer
ตาม บทช่วยสอนของ Spring Cloud ขั้นตอนแรกคือการสร้างโครงสร้างโปรเจ็กต์โดยใช้ Spring Initializer ตัวเริ่มต้นให้วิธีที่รวดเร็วในการเพิ่มการพึ่งพาทั้งหมดที่คุณต้องการสำหรับโครงการของคุณ ตัวอย่างเช่น คุณสามารถเลือกโปรเจ็กต์ Maven, Java และ Spring Boot เวอร์ชัน 2.0.0 โปรเจ็กต์ Maven ต้องการ ID กลุ่มและ Artefact ID ซึ่งคล้ายกับแพ็คเกจและคลาสใน Java
คุณจะต้องเลือกการพึ่งพา เช่น เว็บ (เพื่อเริ่มพัฒนาเว็บแอปพลิเคชัน), DevTools (ทำให้ง่ายต่อการพัฒนาแอปพลิเคชัน), Actuator (เพื่อตรวจสอบแอป) และ Config Client ( เพื่อเชื่อมต่อแอปพลิเคชันกับ Spring Config เซิร์ฟเวอร์) เมื่อคุณเลือกตัวเลือกทั้งหมดแล้ว คุณจะสร้างโครงการ หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่การเริ่มต้นด้วย Spring Initializer บน ทรัพยากร การ สร้าง RESTful Web Service อ้างถึง Spring Data JPA เพื่อเรียนรู้วิธีเชื่อมต่อกับฐานข้อมูล

2. ตรวจสอบการตั้งชื่อและค้นหาบริการ
ไมโครเซอร์วิสทั้งหมดจะต้องลงทะเบียนเพื่อค้นหาเมื่อบริการอื่นในสถาปัตยกรรมกำลังมองหาพวกเขา ตัวอย่างเช่น บริการเฉพาะอาจต้องการค้นหาอินสแตนซ์ทั้งหมดของบริการอื่นที่ทำงานซ้ำในสภาพแวดล้อมเฉพาะ ใน Spring cloud tutoria l คุณจะได้เรียนรู้ว่าเซิร์ฟเวอร์การตั้งชื่อเก็บข้อมูลเกี่ยวกับบริการทั้งหมดและอินสแตนซ์ของบริการและให้ข้อมูลแก่ผู้ที่ต้องการ จึงช่วยในกระบวนการค้นหาบริการ หากต้องการเรียนรู้เพิ่มเติมเกี่ยวกับการลงทะเบียนและการค้นพบบริการ โปรดดูที่ Microservice Registration and Discovery with Spring Cloud และ Eureka ของ Netflix

อ่าน: โครงการและหัวข้อ Spring Boot
3. เรียกใช้ไมโครเซอร์วิสอื่น ๆ
Spring Cloud จำเป็นต้องทำการโทรหลายครั้งกับส่วนประกอบและบริการอื่นๆ ซึ่งทำได้โดยใช้ Feign ที่ขจัดความซับซ้อนของกระบวนการโดยทำให้คุณสามารถเขียนไคลเอ็นต์บริการเว็บได้ง่ายขึ้น หากต้องการเรียนรู้เพิ่มเติม โปรดดูที่ Spring Cloud Open Feign
4. ตรวจสอบการปรับสมดุลการโหลด
ตาม บทช่วยสอนระบบคลาวด์ในฤดูใบไม้ผลิ นี้ Feign ยังให้การผสานรวมกับ Ribbon ซึ่งเป็นเฟรมเวิร์กการจัดสรรภาระงานฝั่งไคลเอ็นต์ Ribbon ช่วยใช้การกำหนดค่าปลอมเพื่อแจกจ่ายการโทรและสร้างสมดุลระหว่างอินสแตนซ์ทั้งหมดของบริการที่บริการอื่นต้องการเชื่อมต่อด้วย อ้างถึง Client Side Load Balancing ด้วย Ribbon และ Spring Cloud เพื่อเรียนรู้เพิ่มเติม
5. จัดการการกำหนดค่า Microservices จากส่วนกลางโดยใช้ Spring Cloud Config Server
ตาม บทช่วย สอน Spring Cloud นี้ แอปพลิเคชันใช้ไมโครเซอร์วิสหลายตัว หลายสภาพแวดล้อมสำหรับไมโครเซอร์วิสเหล่านี้ และอินสแตนซ์ต่างๆ ของบริการเหล่านี้ที่ทำงานในสภาพแวดล้อม Spring Configuration Server จัดเตรียมตำแหน่งส่วนกลางเพื่อจัดเก็บข้อมูลการกำหนดค่าที่เกี่ยวข้องกับอินสแตนซ์ของไมโครเซอร์วิสดังกล่าวทั้งหมด
ด้วยเหตุนี้ การกำหนดค่านี้มีให้ในที่เดียวและจำเป็นต้องใช้โดยบริการใดๆ ในสถาปัตยกรรม ในการจัดการการกำหนดค่าจากส่วนกลาง คุณจะต้องกำหนดคุณสมบัติที่เกี่ยวข้องกับบริการใหม่ จากนั้นเชื่อมต่อเซิร์ฟเวอร์ Spring Config ที่เกี่ยวข้องโดยใช้ Git เป็นที่เก็บรหัส หากต้องการเรียนรู้เพิ่มเติม โปรดดูเอกสารประกอบ Spring Config Overview หากต้องการเรียนรู้วิธีเชื่อมต่อ Spring Config กับ Git โปรดดูที่ Spring Cloud Config
อ่านเพิ่มเติม: เงินเดือนนักพัฒนาฤดูใบไม้ผลิในอินเดีย
6. สร้างความปลอดภัยด้วย Spring Cloud
ในสถาปัตยกรรมไมโครเซอร์วิสซึ่งมีไมโครเซอร์วิสหลายร้อยรายการทำงานร่วมกัน จำเป็นต้องมีการตรวจสอบการรับรองความถูกต้องและการอนุญาต นอกเหนือจากความปลอดภัย ยังมีข้อควรพิจารณา เช่น ตัวชี้วัด ขีดจำกัด และอื่นๆ API Gateway ทำให้สามารถใช้คุณลักษณะที่เหมือนกันกับบริการทั้งหมดได้

ตัวอย่างเช่น Zuul Server เป็นแอปพลิเคชันเกตเวย์ API ที่จัดการคำขอและดำเนินการกำหนดเส้นทางแบบไดนามิกของแอปพลิเคชันไมโครเซอร์วิส อ้างถึง Spring Cloud Gateway เพื่อเรียนรู้เพิ่มเติมใน Spring Cloud Tutoria l นี้
7. เปิดใช้งาน Fault Tolerance
ข้อพิจารณาที่สำคัญขณะใช้งานไมโครเซอร์วิสคือ หากองค์ประกอบหนึ่งหยุดทำงาน แอปพลิเคชันทั้งหมดจะหยุดทำงาน กรอบงาน Hystrix ช่วยสร้างไมโครเซอร์วิสที่ทนทานต่อข้อผิดพลาด ซึ่งคุณสามารถอัปเกรดฟังก์ชันการทำงานได้อย่างสวยงามเมื่อการเรียกใช้เมธอดล้มเหลว ซึ่งช่วยให้ไมโครเซอร์วิสทำงานต่อเมื่อบริการที่เกี่ยวข้องล้มเหลว ป้องกันความล้มเหลวจากการเรียงซ้อน และให้เวลาบริการที่ล้มเหลวในการกู้คืน
เช็คเอาท์: อธิบายวงจรชีวิตของถั่วสปริง
บทสรุป
หวังว่า บทช่วย สอน Spring Cloud นี้จะเป็นจุดเริ่มต้นที่จำเป็นในการเริ่มต้นของคุณ
หากคุณสนใจที่จะเรียนรู้เพิ่มเติมเกี่ยวกับ Spring Cloud โปรดดูประกาศนียบัตร PG ของ upGrad & IIIT-B ด้านการพัฒนาซอฟต์แวร์แบบครบวงจร ซึ่งออกแบบมาสำหรับมืออาชีพที่ทำงานและมีการฝึกอบรมที่เข้มงวดมากกว่า 500 ชั่วโมง โครงการและการมอบหมายมากกว่า 9 รายการ IIIT -B สถานะศิษย์เก่า โครงการหลักที่นำไปปฏิบัติได้จริง และความช่วยเหลือด้านงานกับบริษัทชั้นนำ
