รูปแบบของผู้จัดพิมพ์กับผู้สมัครสมาชิกและเครื่องปฏิกรณ์แตกต่างกันอย่างไร


11

รูปแบบการเผยแพร่และสมัครสมาชิกเครื่องปฏิกรณ์มีลักษณะคล้ายกับฉันมาก แตกต่างกันอย่างไร

ในทั้งสองรูปแบบข้อความจะถูกส่งผ่านไปยังสมาชิกทางอ้อม (ฟังในรูปแบบของเครื่องปฏิกรณ์)

ฉันรู้สึกว่ารูปแบบของผู้สังเกตการณ์คล้ายกับอีกสองรูปแบบเช่นกัน

อะไรคือความแตกต่างที่สำคัญระหว่างรูปแบบเหล่านั้น

คำตอบ:


12

อย่างที่ฉันเห็นจากลิงก์รูปแบบ PubSub ไม่ใช่รูปแบบ OOP แต่เป็นรูปแบบการส่งข้อความซึ่งเป็นรูปแบบสถาปัตยกรรมเครือข่าย

รูปแบบเครื่องปฏิกรณ์เป็นสิ่งที่เกี่ยวข้องกับการจัดการคำขอเซิร์ฟเวอร์ด้วยเดียวเกลียวห่วงเหตุการณ์ อีกครั้งลิงก์จะแสดงตัวอย่างที่ดีเช่น Node.js, Netty, Twisted และอื่น ๆ

ในที่สุดผู้สังเกตการณ์คือรูปแบบการออกแบบ OOP ซึ่งอธิบายวิธีการปฏิสัมพันธ์ระหว่างวัตถุในรหัส OO

ดังนั้นรูปแบบทั้งสามนั้นมาจากโดเมนที่ต่างกัน


6

Reactor = อีเวนต์เธรดเดี่ยวเธรดที่รับและประมวลผลคำขอ คำขอเหล่านั้นสามารถโหลดเป็นชุดจากไฟล์ผ่าน SMTP และ / หรือ HTTP การประมวลผลการตอบสนองพร้อมกันจะถูกส่งเมื่อพร้อมมากกว่าลำดับ

สำนักพิมพ์ปล่อย สมาชิกใช้งาน

ผู้จัดพิมพ์ + ผู้สมัครสมาชิก = รูปแบบการสังเกต (รูปแบบการออกแบบหัวแรก) ผู้สังเกตการณ์ยิงต่อเนื่องและมักปิดกั้นจนกว่าจะเสร็จสมบูรณ์


2

PubSub เกี่ยวข้องกับ Messaging Queues (MQs) มากขึ้น มันเกี่ยวข้องกับวิธีที่โหนดรับข้อความแบบอะซิงโครนัสในระบบกระจาย

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

คุณสามารถตรวจสอบCoralReactorเพื่อทำความเข้าใจรูปแบบของเครื่องปฏิกรณ์ได้ดีขึ้น

คำเตือน : ฉันเป็นหนึ่งในนักพัฒนาของ CoralReactor

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.