Microservices อัตโนมัติคิวเหตุการณ์และการค้นหาบริการ
ฉันได้อ่านเกี่ยวกับบริการไมโครเมื่อไม่นานมานี้และนี่คือข้อสรุปบางอย่างที่ฉันได้รับ (โปรดแก้ไขฉันหากฉันผิดที่จุดใด) สถาปัตยกรรมบริการไมโครเป็นไปด้วยดีกับการออกแบบที่ขับเคลื่อนด้วยโดเมน โดยทั่วไปแล้วหนึ่ง MS หมายถึงบริบทที่มีขอบเขตหนึ่ง ถ้า micro-service Aต้องการฟังก์ชันที่อยู่ใน micro-service BโมเดลของฉันอาจผิดและAและB ควรเป็น micro-service / BC หนึ่งอัน การสื่อสารแบบซิงโครนัสระหว่างบริการไมโคร (คำขอ HTTP โดยตรง) ไม่ดีทำให้ขัดต่อวัตถุประสงค์ของบริการไมโครและแนะนำการมีเพศสัมพันธ์ระหว่างส่วนประกอบ การสื่อสารแบบอะซิงโครนัสระหว่างบริการเป็นที่ต้องการ บริการควรเผยแพร่กิจกรรมไปยังคิวข้อความเพื่อให้บริการอื่น ๆ สามารถสมัครและประมวลผลส่วนหนึ่งของเหตุการณ์หรือใช้เพื่อทำซ้ำส่วนของข้อมูลที่จำเป็นสำหรับบริบทของพวกเขา วิธีนี้บริการสามารถดำเนินการตามคำขอแม้บริการอื่น ๆ จะหยุดทำงานซึ่งไม่ได้เกิดขึ้นในการสื่อสารแบบซิงโครนัส ถ้า micro-service Aเผยแพร่เหตุการณ์, micro-service Bสมัครสมาชิกกับเหตุการณ์นั้นและสร้างเหตุการณ์ใหม่เป็นผลลัพธ์, micro-service Aไม่ควรเป็นการประมวลผลเหตุการณ์ที่สร้างขึ้นใหม่, ซึ่งจะเป็นการอ้างอิงแบบวงกลม ในกรณีนี้เราควรแนะนำบริการไมโครที่สามหรือรวมAและBเข้ากับบริการไมโครAB บริการไมโครเป็นจริงคำที่ทำให้เข้าใจผิด เราควรพยายามเพื่อบริบทขนาดเล็ก แต่ไม่จำเป็นต้องเป็นกรณี คำไม่ควรเป็น "บริการไมโคร" แต่ " ใหญ่พอที่จะทำงานบริการ " บริการไมโครช่วยให้เราสามารถแนะนำฟังก์ชั่นใหม่ได้อย่างง่ายดายและไม่ต้องกลัวว่าเราจะทำลายทั้งระบบ มันสามารถทำได้โดยการแนะนำบริการใหม่หรือ refactoring หนึ่งในที่มีอยู่ …