แนะนํา

สถาปัตยกรรมไมโคร (micro) ได้กลายเป็นรูปแบบเด่นของการสร้างระบบซอฟต์แวร์ที่สามารถเรียงได้, ไม่ขึ้นกับตัวมัน, และทนทานได้ อย่างไรก็ตาม การเปลี่ยนจากโปรแกรมที่มีโครงสร้างเป็นหินขนาดใหญ่เพื่อจัดจําหน่าย ก็เป็นการแนะนําสิ่งซับซ้อนใหม่ๆ -- ความจุระหว่างบริการ, ขอบเขตความไม่ชัดเจน, และความยากลําบากในการทดสอบและใช้ใช้งาน ไมโครไวล์ ประยุกต์ ออกแบบไมโครไวซ์ตามแนวทางเหล่านี้ ออกแบบตามแนวทางของสิ่งอํานวยความสะดวกเหล่านี้ซึ่งมีการปรับเปลี่ยนแนวทาง 5 อย่าง เมื่อมีการปรับเปลี่ยนขอบเขตบริการ และบริการต่าง ๆ

หลัก การ ของ รัชทายาท คือ อะไร?

SOLID เป็นรหัสย่อที่นําโดย Robert C. Martin (ลุงบ๊อบ) แทนหลักการการออกแบบ 5 ข้อ ที่ส่งเสริมการรักษาและขยายรหัสวัตถุได้

หลักการความรับผิดแบบเดี่ยว (SRP)

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

หลักการ Open/ Closed (OCP)

ซอฟต์แวร์ควรจะเปิดใช้งานสําหรับส่วนขยายที่ใช้ได้ แต่ปิดสําหรับการแก้ไข บริการขนาดเล็ก บริการควรจะเปิดเผยส่วนติดต่อที่เสถียร (API หรือ parts) ซึ่งสามารถขยายคุณสมบัติใหม่ได้โดยไม่ต้องแก้ไขโค้ด ซึ่งมักประสบความสําเร็จผ่านรุ่น API, เหตุการณ์ที่มีการพัฒนา หรือสถาปัตยกรรมของส่วนเสริม

หลักการการแบ่งประเภทแบบ Lissv (LP)

วัตถุในคลาสซูเปอร์ควรจะถูกแทนที่ด้วยวัตถุของคลาสย่อย โดยไม่ต้องมีผลต่อความเหมาะสมของโปรแกรม สําหรับหน่วยย่อย LPPS จะแน่ใจว่าการประกอบการต่าง ๆ ของส่วนบริการ (เช่น ประตูจ่ายเงินสามารถเปลี่ยนจากสเกตไป Perpal) อย่างสม่ําเสมอ และสามารถสลับได้โดยไม่ต้องทําลายผู้บริโภค

หลักการการแบ่งแยกส่วนติดต่อ (ISP)

ส่วนติดต่อแบบลูกข่ายหลายแบบดีกว่า ส่วนติดต่อแบบทั่วไปหนึ่งแบบ การจัดองค์ประกอบแบบไมโคร การจัดทํานี้แปลเป็น ขนาดเล็ก, โฟกัสไปยัง API หรือรายการที่ถูกกําหนดไว้ ซึ่งตัดต่อเข้ากับความต้องการของผู้บริโภคแต่ละคน ตัวอย่างเช่น บริการลูกค้าอาจเปิดจุดปลายแยกต่างหาก สําหรับการวิเคราะห์โพรไฟล์ การจัดการที่อยู่, และสถานะความซื่อสัตย์แทนเส้นทาง "ผู้จําหน่าย" แบบฉลาด

การ กลับ ศาสนา (DIP)

การ บริจาค แบบ มี เงื่อนไข

เหตุ ผล ที่ หลัก การ ของ ไมโคร ไมโคร เป็น เรื่อง สําคัญ

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

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

ประโยชน์ ของ การ ใช้ หลัก การ ของ ไมโคร ไมโคร เวิร์ค

การคงค่าได้เพิ่มเติม

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

ความน่าเชื่อที่ดีขึ้น

บริการที่ออกแบบโดย SRP และ ISP ส่วนมากจะมีความเป็นรายเดือนมากขึ้น โครงสร้างนี้จะช่วยให้องค์กรสามารถปรับขนาดเฉพาะส่วนประกอบที่ประสบความต้องการสูงกว่า ตัวอย่างเช่น แผงวิดีโอที่ไหลมาราธอน อาจขยายบริการแบบทรานสโคปของมันให้พอดีจากการมองหาข้อมูลกํากับ เนื่องจากการต่อเติม (DIP) การต่อเติมถูกเปลี่ยนแปลงแบบ (DIP) การจัดเลี้ยงไม่จําเป็นต้องใช้การขยายการเซิร์ฟของบริการ

ความ สามารถ และ ความ สามารถ ใน การ ปรับ ตัว ได้ มาก กว่า

การแยกส่วนติดต่อผู้ใช้ ทําให้แน่ใจว่าบริการนั้นจะเปิดเผย เฉพาะสิ่งที่ผู้บริโภคต้องการเท่านั้น ซึ่งจะทําให้การจับคู่น้อยที่สุด และทําให้อินเทอร์เฟซเหล่านั้นสามารถกลับมาใช้ได้อีกครั้งโดยผ่านผู้บริโภคได้ ตัวอย่างเช่น การแจ้งเตือนที่มีส่วนติดต่อต่าง ๆ ของอีเมล, SMS และการแจ้งข้อมูลการแจ้งเตือนต่าง ๆ อาจจะทําให้สามารถทํางานได้โดยเพิ่มข้อมูลได้โดยเพิ่มคําสั่ง, การเรียกดูค่าใช้จ่าย และบริการบัญชีผู้ใช้โดยไม่ต้องต้องการการเปลี่ยนแปลง หลักการเปิด/ ปิดการเพิ่มช่องแจ้งเหตุ (เช่น: เว็บ Aknkregator) โดยไม่มีการปรับเปลี่ยนใช้งานอินเทอร์เฟสใด ๆ อยู่

ค่าที่ตั้งไว้ดีกว่า

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

การ ยอม รับ ความ ผิด และ การ ไม่ ยอม รับ ความ ผิด

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

การออนบอร์ดและทีมออโตโนมี่ง่ายขึ้น

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

การ ใช้ ไมโคร เซอ วิด ใน การ บริการ

การ จํากัด เขต งาน รับ ใช้ กับ SRP

เริ่มจากการแยกโดเมนของคุณออกจากบริบทที่ผูกพัน แต่ละบริบทจะกลายเป็นบริการ อาทิ ในระบบ e-commerce สร้างบริการแยกสําหรับแคตตาล็อก, รถเข็น, คําสั่ง, การจ่ายเงิน, การจัดส่ง และทบทวน ดู แต่ละบริการจะมีข้อมูลและกฏธุรกิจของตน หลีกเลี่ยงการสร้าง “บริการแบบอัตโนมัติ" ที่ผสมความรับผิดชอบ

ออกแบบอินเทอร์เฟซแบบ Snible ด้วย OCP และ ISP

สร้างนิยามส่วนติดต่อผู้ใช้ (Protobof, OpenAPI, หรือ AsyncAPI. เพื่อให้แน่ใจว่าอินเทอร์เฟสเหล่านี้ถูกแก้ไขและขยายได้ ตัวอย่างเช่น เหตุการณ์ที่ "ลําดับสร้าง" ควรรวมช่องข้อมูลที่คุณแน่ใจไว้ด้วย แต่ให้เลือกช่องข้อมูลในอนาคตโดยใช้คุณสมบัติที่ปรับแต่งไว้ หลีกเลี่ยงการหักทอนโดยเพิ่มจุดสิ้นสุดหรือชนิดใหม่แทน การแก้ไขรายการที่มีอยู่

การเพิ่มความจุกับ LP

เมื่อมีบริการหลายตัว ปรับใช้อินเทอร์เฟสเดียวกัน (เช่น เกตเตอร์ชําระเงินหลายอัน) ปรับใช้มาตรฐานของสัญญา การเขียนการทดสอบการรวมข้อความที่ตรวจสอบการปรับใช้ใด ๆ ที่ยึดอยู่กับพฤติกรรมตามที่คาดหวัง (เช่น การยอมรับการจ่ายเงินคืนหรือความล้มเหลวกับรหัสข้อผิดพลาดที่สอดคล้องกัน) ซึ่งจะทําให้เกตเวย์ปลอดภัย

การ ไม่ เกี่ยว ข้อง กับ การ ก่อกวน และ การ บริการ

แทนบริการ A จะโทร.หา HTTP เพื่อให้บริการ B โดยโดยตรง ให้มีบริการ A. ตีพิมพ์เหตุการณ์ (Kafka, BrabMQ) หรือใช้บริการ Mich (Istio, Linkerd). เมโทรสสสส. สามารถจัดการการปรับปรุง, เวลา และ การสื่อสารแบบวงจรได้ ตรรกะทางธุรกิจภายใน A ยังคงเกี่ยวข้องกับเครือข่ายที่อยู่เบื้องหลัง

ปัญหา และ การ พิจารณา

การประยุกต์ใช้หลักการ SOLID ในหน่วยบริการไมโคร ไม่ได้ปราศจากความท้าทาย การตั้งสมมุติฐานที่มากเกินไป (ISP ใช้อย่างก้าวร้าวเกินไป) สามารถนําไปสู่ส่วนติดต่อแบบพูดและบริการมากเกินไป เพิ่มขึ้น การดําเนินงานด้านค่าใช้จ่าย เช่นเดียวกัน SRP ที่เข้มงวดอาจทําให้ทีมสร้างหน่วยบริการไมโครสําหรับการทํางานขนาดเล็กทุกหน่วย ส่งผลให้ทํางาน “ไม่ให้บริการ" สมดุลเป็นกุญแจสําคัญ

ความท้าทายอีกอย่างคือ การปรับรุ่นและความเข้ากันได้กับรุ่นหลัง โดยต่อไปนี้คือ OCP ต้องการนโยบายการลดความเหมาะสมอย่างระวัง เครื่องมือเช่น Shema Retricies (Confent Tema Retricry, Apirio) จะช่วยจัดการระดับความเข้ากันได้ได้

สุดท้าย วัฒนธรรมและการจัดระบบของทีม สิ่งสําคัญในการเป็นเจ้าของและการสื่อสารที่ชัดเจน แม้บริการ SonsID ที่นิยามไว้อย่างดี ก็สามารถแนบแน่นได้โดยนิสัยขององค์กร (เช่น ฐานข้อมูลร่วมกัน หรือห้องสมุดร่วมกัน). การรวมและปฏิบัติการเดวอปอย่างต่อเนื่องต้องสนับสนุนการใช้งานอิสระ

รูปแบบการวน

การรับเอาหลักการของไซเลนซิดในหน่วยย่อยมาใช้เป็นโครงสร้าง ไม่ใช่กระสุนเงิน แต่เป็นแนวทางที่ทรงพลังสําหรับระบบก่อสร้างที่สามารถรักษาได้ ยืดหยุ่นได้ และยืดหยุ่นได้ โดยเน้นในความรับผิดชอบที่ชัดเจน เซ็นสัญญาที่เสถียร ยืดหยุ่นได้ เชื่อมต่อกัน ปรับโครงสร้างที่ละเอียด และเปลี่ยนเส้นทางการโอนกลับของระบบที่กระจายตัวสามารถหลีกเลี่ยงการแบ่งตัวของระบบได้หลายรูปแบบ การลงทุนในการออกแบบแบบด้านหน้าได้เพิ่มขึ้นและพัฒนาต่อ เนื่องในการศึกษาเพิ่มเติม มาร์ติน ฟาสเกอร์ [FTL] ไมโครวิกิตาร ไมโคร [FL] ไมโครวิกิต [FLL] [TL] หลักการดั้งเดิม: [LLLL] [LLLLLLL] [LL] และรูปแบบการแบ่งประเภทการแบ่งประเภทการแบ่งประเภทแบบ [TCFL] แบบแผน:: 4] โครงสร้างแบบระบบนี้ยังเป็นโครงร่างสร้างและรูปแบบการจําลองของสปีพ.ศ.