การขยายระบบ streaming ในแนวนอน
แนวคิดด้าน Streaming
Mike Metzger
Data Engineer
ทบทวนการขยายในแนวนอน
- แทนที่จะขยายในแนวตั้ง ให้ ขยายในแนวนอน
- โดยทั่วไปคือการเพิ่มขีดความสามารถด้วยการ เพิ่มจำนวน แทนที่จะเพิ่มความเร็วหรือประสิทธิภาพ
- เหมาะสมที่สุดกับงานแบบ embarrassingly parallel
- งานที่แบ่งแยกได้ง่าย
- เช่น การประมวลผลรูปภาพจำนวนมากที่ไม่พึ่งพากัน
การขยายในแนวนอนกับ streaming
- การประมวลผลข้อมูล streaming มักมี ความล่าช้าน้อยมาก
- การส่งข้อมูลระหว่าง worker อาจ ซับซ้อน
- ควรประมวลผล stream ทั้งหมดภายใน pipeline เดียว
- สเกลด้วยการสร้าง สำเนา ของ pipeline
สำเนา pipeline
- เมื่อเกิด event ข้อมูลจะ เข้าสู่ pipeline
- งานทั้งหมดที่เกี่ยวข้อง อยู่ภายใน pipeline จนเสร็จสมบูรณ์
- ขยายระบบด้วยการ เพิ่ม pipeline
- ยังสามารถ ขยายในแนวตั้ง ภายใน pipeline ได้
ข้อพิจารณาเพิ่มเติม
- อาจต้องการ ส่วนประกอบอื่น เพิ่มเติม
- Load balancer / ตัวกำหนดทิศทาง
- แบบ Card dealer
- แบบ node ที่ว่างที่สุด
- อาจเกิด คอขวด ในที่สุด
- พิจารณา ย่อ pipeline ให้สั้นลง
- ลดความจำเป็นในการประมวลผลข้อมูล ทันที
มาฝึกกันเถอะ!
แนวคิดด้าน Streaming
Preparing Video For Download...