Apache Storm - บทนำ
Apache Storm คืออะไร?
Apache Storm เป็นระบบประมวลผลข้อมูลขนาดใหญ่แบบเรียลไทม์แบบกระจาย Storm ได้รับการออกแบบมาเพื่อประมวลผลข้อมูลจำนวนมากด้วยวิธีการที่ทนต่อความผิดพลาดและปรับขนาดได้ในแนวนอน เป็นกรอบข้อมูลการสตรีมที่มีอัตราการส่งผ่านข้อมูลสูงสุด แม้ว่า Storm จะไร้สัญชาติ แต่ก็จัดการสภาพแวดล้อมแบบกระจายและสถานะคลัสเตอร์ผ่าน Apache ZooKeeper เป็นเรื่องง่ายและคุณสามารถดำเนินการปรับแต่งทุกรูปแบบกับข้อมูลเรียลไทม์ควบคู่กันได้
Apache Storm ยังคงเป็นผู้นำด้านการวิเคราะห์ข้อมูลแบบเรียลไทม์ Storm ติดตั้งใช้งานง่ายและรับประกันว่าทุกข้อความจะได้รับการประมวลผลผ่านโทโพโลยีอย่างน้อยหนึ่งครั้ง
Apache Storm กับ Hadoop
โดยทั่วไปเฟรมเวิร์ก Hadoop และ Storm ใช้สำหรับวิเคราะห์ข้อมูลขนาดใหญ่ ทั้งสองเสริมซึ่งกันและกันและแตกต่างกันในบางแง่มุม Apache Storm ดำเนินการทั้งหมดยกเว้นความต่อเนื่องในขณะที่ Hadoop ทำได้ดีในทุกสิ่ง แต่มีความล่าช้าในการคำนวณแบบเรียลไทม์ ตารางต่อไปนี้เปรียบเทียบคุณลักษณะของ Storm และ Hadoop
พายุ | Hadoop |
---|---|
การประมวลผลสตรีมแบบเรียลไทม์ | การประมวลผลแบทช์ |
ไร้สัญชาติ | สถานะ |
สถาปัตยกรรม Master / Slave พร้อมการประสานงานตาม ZooKeeper โหนดหลักเรียกว่าเป็นnimbus และทาสคือ supervisors. | สถาปัตยกรรม Master-slave ที่มี / ไม่มีการประสานงานตาม ZooKeeper โหนดหลักคือjob tracker และโหนดทาสคือ task tracker. |
กระบวนการสตรีม Storm สามารถเข้าถึงข้อความได้หลายหมื่นข้อความต่อวินาทีบนคลัสเตอร์ | Hadoop Distributed File System (HDFS) ใช้กรอบ MapReduce เพื่อประมวลผลข้อมูลจำนวนมหาศาลโดยใช้เวลาไม่กี่นาทีหรือหลายชั่วโมง |
โทโพโลยีแบบสตอร์มทำงานจนกว่าผู้ใช้จะปิดหรือเกิดความล้มเหลวที่ไม่คาดคิดซึ่งไม่สามารถกู้คืนได้ | งาน MapReduce จะดำเนินการตามลำดับและเสร็จสมบูรณ์ในที่สุด |
Both are distributed and fault-tolerant | |
หาก nimbus / หัวหน้างานเสียชีวิตการเริ่มต้นใหม่จะทำให้ดำเนินการต่อจากจุดที่หยุดทำงานจึงไม่มีผลกระทบใด ๆ | หาก JobTracker เสียชีวิตงานที่กำลังดำเนินอยู่ทั้งหมดจะหายไป |
การใช้งานของ Apache Storm
Apache Storm มีชื่อเสียงมากในด้านการประมวลผลสตรีมข้อมูลขนาดใหญ่แบบเรียลไทม์ ด้วยเหตุนี้ บริษัท ส่วนใหญ่จึงใช้ Storm เป็นส่วนหนึ่งของระบบ ตัวอย่างที่น่าสังเกตมีดังนี้ -
Twitter- Twitter ใช้ Apache Storm สำหรับผลิตภัณฑ์ "Publisher Analytics" ที่หลากหลาย “ ผลิตภัณฑ์การวิเคราะห์ผู้เผยแพร่โฆษณา” ประมวลผลทวีตและการคลิกแต่ละรายการในแพลตฟอร์ม Twitter Apache Storm ผสานรวมอย่างลึกซึ้งกับโครงสร้างพื้นฐานของ Twitter
NaviSite- NaviSite ใช้ Storm สำหรับระบบตรวจสอบ / ตรวจสอบบันทึกเหตุการณ์ ทุกบันทึกที่สร้างขึ้นในระบบจะผ่าน Storm Storm จะตรวจสอบข้อความกับชุดนิพจน์ทั่วไปที่กำหนดค่าไว้และหากมีการจับคู่ข้อความนั้นจะถูกบันทึกลงในฐานข้อมูล
Wego- Wego เป็นเครื่องมือค้นหาข้อมูลการเดินทางที่ตั้งอยู่ในสิงคโปร์ ข้อมูลที่เกี่ยวข้องกับการเดินทางมาจากหลายแหล่งทั่วโลกโดยมีเวลาที่แตกต่างกัน Storm ช่วย Wego ในการค้นหาข้อมูลแบบเรียลไทม์แก้ไขปัญหาการเกิดพร้อมกันและค้นหาคู่ที่ดีที่สุดสำหรับผู้ใช้ปลายทาง
ประโยชน์ของ Apache Storm
นี่คือรายการสิทธิประโยชน์ที่ Apache Storm มอบให้ -
Storm เป็นโอเพ่นซอร์สที่แข็งแกร่งและเป็นมิตรกับผู้ใช้ สามารถใช้ใน บริษัท ขนาดเล็กและ บริษัท ขนาดใหญ่
Storm ทนต่อความผิดพลาดยืดหยุ่นเชื่อถือได้และรองรับภาษาโปรแกรมใด ๆ
อนุญาตให้ประมวลผลสตรีมแบบเรียลไทม์
Storm นั้นเร็วอย่างไม่น่าเชื่อเพราะมีพลังมหาศาลในการประมวลผลข้อมูล
Storm สามารถรักษาประสิทธิภาพได้แม้จะมีภาระเพิ่มขึ้นโดยการเพิ่มทรัพยากรแบบเชิงเส้น สามารถปรับขนาดได้สูง
Storm ทำการรีเฟรชข้อมูลและตอบสนองการส่งมอบแบบ end-to-end ในไม่กี่วินาทีหรือไม่กี่นาทีขึ้นอยู่กับปัญหา มีเวลาแฝงต่ำมาก
สตอร์มมีข่าวกรองในการปฏิบัติการ
Storm ให้การประมวลผลข้อมูลที่รับประกันแม้ว่าโหนดใด ๆ ที่เชื่อมต่อในคลัสเตอร์จะตายหรือข้อความสูญหาย