รูปแบบการจัดองค์ประกอบ

องค์ประกอบซอฟต์แวร์หมายถึงวิธีการสร้างผลิตภัณฑ์ซอฟต์แวร์ของคุณ โดยทั่วไปจะเกี่ยวข้องกับแผนภาพสถาปัตยกรรมซอฟต์แวร์ระดับสูงซึ่งโมดูลต่างๆของซอฟต์แวร์ของคุณจะสื่อสารสำหรับเป้าหมายทางธุรกิจที่เฉพาะเจาะจง ในบทนี้เราจะเรียนรู้เกี่ยวกับรูปแบบการจัดองค์ประกอบซอฟต์แวร์ต่างๆที่ใช้กันอย่างแพร่หลายในองค์กร ใน microservice เราแยกแต่ละฟังก์ชันออกเป็นกระบวนการเดียว แต่ละบริการเหล่านี้จะเป็นอิสระและมีลักษณะเป็นกองเต็ม

การสลายตัวตามหน้าที่มีบทบาทสำคัญในการสร้างไมโครเซอร์วิสของคุณ มอบความคล่องตัวความยืดหยุ่นและความสามารถในการปรับขนาดให้กับแอปพลิเคชันของคุณ

รูปแบบผู้รวบรวม

รูปแบบ Aggregator เป็นรูปแบบเว็บที่ง่ายที่สุดที่สามารถใช้งานได้ในขณะที่พัฒนาไมโครเซอร์วิส ในรูปแบบการจัดองค์ประกอบนี้โมดูลเว็บอย่างง่ายจะทำหน้าที่เป็นตัวจัดสรรภาระงานซึ่งหมายความว่าจะเรียกใช้บริการที่แตกต่างกันตามข้อกำหนด ต่อไปนี้เป็นแผนภาพที่แสดงถึงเว็บแอปไมโครเซอร์วิสที่เรียบง่ายพร้อมการออกแบบตัวรวบรวม ดังที่เห็นในภาพต่อไปนี้ "Aggregator" มีหน้าที่เรียกใช้บริการต่างๆทีละรายการ หากเราต้องการใช้ตรรกะทางธุรกิจใด ๆ กับผลลัพธ์ของบริการ A, B และ C เราก็สามารถใช้ตรรกะทางธุรกิจในตัวรวบรวมได้

ผู้รวบรวมสามารถเปิดเผยได้อีกครั้งในฐานะบริการอื่นสู่โลกภายนอกซึ่งผู้อื่นสามารถใช้งานได้ทุกเมื่อที่ต้องการ ในขณะที่พัฒนาบริการเว็บรูปแบบตัวรวบรวมข้อมูลเราจำเป็นต้องจำไว้ว่าบริการ A, B และ C แต่ละรายการของเราควรมีชั้นแคชของตัวเองและควรเป็นแบบเต็มสแต็ก

รูปแบบพร็อกซี

Proxy microservice pattern เป็นรูปแบบของ aggregator model ในรุ่นนี้เราจะใช้โมดูลพร็อกซีแทนโมดูลการรวม บริการพร็อกซีอาจเรียกใช้บริการที่แตกต่างกันเป็นรายบุคคล

ในรูปแบบพร็อกซีเราสามารถสร้างความปลอดภัยพิเศษได้อีกหนึ่งระดับโดยจัดเตรียมเลเยอร์พร็อกซีการถ่ายโอนข้อมูล เลเยอร์นี้ทำหน้าที่คล้ายกับอินเทอร์เฟซ

รูปแบบที่ถูกล่ามโซ่

ตามชื่อแล้วรูปแบบองค์ประกอบประเภทนี้จะเป็นไปตามโครงสร้างโซ่ ที่นี่เราจะไม่ใช้สิ่งใดระหว่างไคลเอนต์และชั้นบริการ แต่เราจะอนุญาตให้ลูกค้าสื่อสารโดยตรงกับบริการและบริการทั้งหมดจะถูกผูกมัดในลักษณะที่ผลลัพธ์ของบริการหนึ่งจะเป็นข้อมูลเข้าของบริการถัดไป ภาพต่อไปนี้แสดงไมโครเซอร์วิสรูปแบบที่ถูกล่ามโซ่โดยทั่วไป

ข้อเสียเปรียบที่สำคัญอย่างหนึ่งของสถาปัตยกรรมนี้คือไคลเอนต์จะถูกบล็อกจนกว่ากระบวนการทั้งหมดจะเสร็จสมบูรณ์ ดังนั้นจึงขอแนะนำอย่างยิ่งให้รักษาความยาวของโซ่ให้สั้นที่สุด

รูปแบบบริการไมโครสาขา

Branch microservice เป็นเวอร์ชันขยายของรูปแบบตัวรวบรวมและรูปแบบโซ่ ในรูปแบบการออกแบบนี้ลูกค้าสามารถสื่อสารกับบริการได้โดยตรง นอกจากนี้บริการหนึ่งรายการสามารถสื่อสารกับบริการได้มากกว่าหนึ่งบริการในแต่ละครั้ง ต่อไปนี้คือการแสดงแผนผังของ Branch Microservice

รูปแบบไมโครเซอร์วิสสาขาช่วยให้นักพัฒนาสามารถกำหนดค่าการเรียกใช้บริการแบบไดนามิก การเรียกใช้บริการทั้งหมดจะเกิดขึ้นพร้อมกันซึ่งหมายความว่าบริการ A สามารถเรียกใช้บริการ B และ C ได้พร้อมกัน

รูปแบบทรัพยากรที่ใช้ร่วมกัน

รูปแบบทรัพยากรที่ใช้ร่วมกันเป็นกลุ่มของรูปแบบทุกประเภทที่กล่าวถึงก่อนหน้านี้ ในรูปแบบนี้ไคลเอนต์หรือตัวจัดสรรภาระงานจะสื่อสารโดยตรงกับแต่ละบริการเมื่อจำเป็น นี่คือรูปแบบการออกแบบที่มีประสิทธิภาพสูงสุดตามมาอย่างแพร่หลายในองค์กรส่วนใหญ่ ต่อไปนี้เป็นการแสดงแผนภาพของรูปแบบการออกแบบทรัพยากรที่ใช้ร่วมกัน