Computer >> บทช่วยสอนคอมพิวเตอร์ >  >> การเขียนโปรแกรม >> การเขียนโปรแกรม

การสื่อสารระหว่างกระบวนการด้วยข้อความ:โมเดลการแลกเปลี่ยนข้อมูลที่สะอาดและเชื่อถือได้

การสื่อสารด้วยข้อความเป็นวิธีหนึ่งของการสื่อสารระหว่างกระบวนการ (IPC) ซึ่งประมวลผลการแลกเปลี่ยนข้อมูลโดยการส่งและรับข้อความ ในรูปแบบการสื่อสารนี้ กระบวนการส่งจะสร้างข้อความที่มีข้อมูลที่จะแบ่งปันและส่งไปยังกระบวนการรับ กระบวนการรับจะดึงข้อความและแยกข้อมูลที่จำเป็น

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

วิธีการสื่อสารด้วยข้อความทำงานอย่างไร

กระบวนการสื่อสารตามข้อความ กระบวนการผู้ส่ง คิวข้อความ กระบวนการรับ 1. ส่ง 2. รับคิวการตอบกลับ 3. การตอบกลับ 4. อ่านขั้นตอน:1. ผู้ส่งสร้างและส่งข้อความไปยังคิว 2. ผู้รับอ่านข้อความจากคิว 3. ผู้รับประมวลผลและส่งการตอบกลับ (ทางเลือก)

กระบวนการสื่อสารเป็นไปตามขั้นตอนเหล่านี้:

  1. กระบวนการส่งจะสร้างข้อความและระบุกระบวนการของผู้รับ

  2. ข้อความถูกวางในคิวข้อความที่เกี่ยวข้องกับกระบวนการของผู้รับ

  3. กระบวนการผู้รับอ่านข้อความจากคิว

  4. กระบวนการผู้รับประมวลผลข้อความและเลือกที่จะส่งการตอบกลับ

  5. ข้อความตอบกลับจะเป็นไปตามกลไกการจัดคิวเดียวกันกลับไปยังผู้ส่ง

ประเภทของการส่งผ่านข้อความ

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

ข้อดี

  • ความเรียบง่ายและความยืดหยุ่น ให้นามธรรมที่ชัดเจนสำหรับการแลกเปลี่ยนข้อมูล พร้อมรองรับการสื่อสารทั้งแบบซิงโครนัสและอะซิงโครนัส

  • กระบวนการแบบโมดูลาร์ยังคงเป็นอิสระโดยไม่ต้องพึ่งพาหน่วยความจำร่วมกัน ช่วยให้ออกแบบและบำรุงรักษาระบบได้ง่ายขึ้น

  • ความเป็นอิสระของแพลตฟอร์มทำงานได้กับระบบปฏิบัติการและขอบเขตเครือข่ายที่แตกต่างกัน

  • การสนับสนุนการซิงโครไนซ์ สามารถใช้การซิงโครไนซ์แบบดั้งเดิม เช่น เซมาฟอร์และอุปสรรค

  • ข้อความความปลอดภัยสามารถเข้ารหัสและควบคุมการเข้าถึงเพื่อเพิ่มความปลอดภัย

  • การจัดการข้อผิดพลาด กลไกในตัวสำหรับการตรวจจับและกู้คืนจากข้อผิดพลาดในการส่ง

ข้อเสีย

  • การสร้างข้อความโอเวอร์เฮดด้านประสิทธิภาพ การส่ง และการเข้าคิวเพิ่มค่าใช้จ่ายในการคำนวณและหน่วยความจำเมื่อเปรียบเทียบกับหน่วยความจำที่ใช้ร่วมกัน

  • ความซับซ้อนในการนำไปใช้ ซับซ้อนมากขึ้นในการออกแบบและนำไปใช้มากกว่าแนวทางหน่วยความจำที่ใช้ร่วมกัน

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

  • ข้อจำกัดขนาดข้อความ ขีดจำกัดขนาดข้อความที่ระบบกำหนดอาจต้องมีการแยกส่วนสำหรับข้อมูลขนาดใหญ่

  • ข้อความความน่าเชื่อถือในการจัดส่งอาจสูญหายหรือเสียหายได้ โดยต้องมีกลไกการจัดการข้อผิดพลาดเพิ่มเติม

กรณีการใช้งานทั่วไป

  • การสื่อสารระบบแบบกระจายระหว่างกระบวนการบนเครื่องที่แตกต่างกัน

  • สถาปัตยกรรมไมโครเซอร์วิส การสื่อสารแบบบริการต่อบริการผ่านคิวข้อความ

  • ระบบผู้ผลิต-ผู้บริโภค แยกผู้ผลิตข้อมูลจากผู้บริโภค

  • ระบบที่ขับเคลื่อนด้วยเหตุการณ์ เหตุการณ์การออกอากาศและการแจ้งเตือนระหว่างส่วนประกอบ

บทสรุป

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

การสื่อสารระหว่างกระบวนการด้วยข้อความ:โมเดลการแลกเปลี่ยนข้อมูลที่สะอาดและเชื่อถือได้