Apache Kafka เป็นระบบรับส่งข้อความแบบกระจายออกและเป็นแบบโอเพนซอร์สที่ช่วยให้สร้างแอปพลิเคชันแบบเรียลไทม์ได้โดยใช้ข้อมูลการสตรีม คุณสามารถส่งข้อมูลการสตรีม เช่น คลิกสตรีมของเว็บไซต์ ธุรกรรมทางการเงิน และบันทึกของแอปพลิเคชันไปยังคลัสเตอร์ Kafka ได้ จากนั้นคลัสเตอร์ดังกล่าวก็จะบัฟเฟอร์ข้อมูลและใช้ข้อมูลนั้นในการประมวลผลสตรีมแอปพลิเคชันที่สร้างบนเฟรมเวิร์กต่างๆ รวมถึง Apache Spark Streaming, Apache Storm หรือ Apache Samza

diagram-kafka

การเรียกใช้ Kafka บน Amazon EC2 ช่วยให้การทำงานต่างๆ มีประสิทธิภาพมาก และยังเป็นโซลูชันที่ปรับได้ตามต้องการในการนำเข้าข้อมูลการสตรีม ในการใช้ Kafka บน Amazon EC2 คุณจะต้องเลือกและจัดหาประเภทอินสแตนซ์ EC2 ติดตั้งและกำหนดค่าองค์ประกอบของซอฟต์แวร์ รวมถึง Kafka และ Apache Zookeeper จากนั้นจึงจัดหาพื้นที่จัดเก็บข้อมูลแบบแยกอิสระที่ต้องใช้ในการจัดเก็บปริมาณงานข้อมูลการสตรีมโดยใช้ Amazon Elastic Block Store (EBS) เพื่อให้คลัสเตอร์ Kafka ของคุณจัดการเหตุการณ์ที่ไม่ได้คาดคิดมาก่อนได้ เช่น การเพิ่มขึ้นสูงของปริมาณข้อมูลเกินความสามารถของสตรีม คุณสามารถสร้างการทำซ้ำโดยใช้ Apache Zookeeper ซึ่งคอยติดตามโหนดในคลัสเตอร์ Kafka และประสานการกระจายขั้นตอนต่างๆ ในทุกโหนด เมื่อติดตั้ง Kafka คุณจะต้องใช้ HTTPS รักษาสิทธิ์ในการตัดสินใจเกี่ยวกับใบรับรอง และกำหนดค่าอินสแตนซ์ Kafka สำหรับ SSL เพื่อให้แน่ใจว่าคลัสเตอร์ Kafka ปลอดภัย

การเรียกใช้คลัสเตอร์ Kafka บน Amazon EC2 ช่วยให้แพลตฟอร์มโครงสร้างพื้นฐานมีความน่าเชื่อถือและปรับขนาดได้ตามต้องการ แต่คุณจะต้องเฝ้าติดตาม ปรับขนาด และจัดการเซิร์ฟเวอร์ รักษาสแตกซอฟต์แวร์ และจัดการความปลอดภัยของคลัสเตอร์ ซึ่งอาจเป็นภาระในการดูแลจัดการอย่างมาก Amazon Kinesis Streams ช่วยแก้ปัญหานี้โดยมอบบริการที่จัดการและสร้างขึ้นตามวัตถุประสงค์เพื่อให้ทำงานร่วมกับข้อมูลการสตรีมบน AWS ได้ง่าย บริการนี้จะบันทึกและจัดเก็บข้อมูลการสตรีมในแบบที่ไว้ใจได้ และทำให้ข้อมูลพร้อมใช้งานกับแอปพลิเคชันประมวลผลสตรีมในแบบเรียลไทม์ เพียงแค่คลิกไม่กี่ครั้งใน Amazon Kinesis Console คุณก็สามารถใช้ Amazon Kinesis Streams ในการจัดเตรียมระบบการนำเข้าข้อมูลการสตรีมที่จัดการได้ Amazon Kinesis Streams จะทำซ้ำข้อมูลของคุณใน Availability Zone สามแห่งโดยอัตโนมัติ ทำให้ข้อมูลของคุณมีความคงทน คุณสามารถปรับขนาด รักษาความปลอดภัย และจัดการสตรีมได้ไม่ยากโดยใช้ API และการผสานการทำงานในตัวกับบริการอื่นๆ ของ AWS รวมถึง IAM ของ AWS, Amazon CloudWatch และ AWS CloudTrail

คุณสามารถประมวลผลข้อมูลในสตรีมด้วยแอปพลิเคชันการประมวลผลใน Amazon Kinesis Analytics หรือจะใช้เฟรมเวิร์กอื่นๆ ในการประมวลผลก็ได้ซึ่งรวมถึง Spark Streaming และ Kinesis Client Library (KCL) ทั้งยังสามารถใช้ข้อมูลที่ประมวลผลในการขับเคลื่อนแดชบอร์ดแบบเรียลไทม์ สร้างการแจ้งเตือน ใช้ราคาแบบไดนามิก แสดงโฆษณาที่กำหนดเป้าหมายเป็นจำนวนมาก และอื่นๆ

หากต้องการเปรียบเทียบ Amazon Kinesis กับ Kafka โปรดคลิกที่นี่

440x220_APN-Blog

โพสต์นี้แสดงให้เห็นวิธีตั้งค่า Apache Kafka บน EC2 ใช้ Spark Streaming บน EMR เพื่อประมวลผลข้อมูลที่เข้ามาในหัวข้อต่างๆ ของ Apache Kafka และสืบค้นข้อมูลการสตรีมโดยใช้ Spark SQL บน EMR

อ่านข้อความทั้งหมดในโพสต์ »

ในโพสต์นี้ เราใช้สตรีมสาธารณะของ Twitter ในการวิเคราะห์ประสิทธิภาพของผู้สมัครรับเลือกตั้ง ทั้งพรรคริพับลิกันและพรรคเดโมแครตในแบบเกือบจะเรียลไทม์ เราแสดงให้คุณเห็นวิธีผนวกรวม Amazon Kinesis Firehose, AWS Lambda (ฟังก์ชัน Python) และ Amazon Elasticsearch Service เพื่อสร้างแพลตฟอร์มการสำรวจแบบครบวงจรและเกือบจะเรียลไทม์

อ่านข้อความทั้งหมดในโพสต์ »

ข้อความในบล็อกโพสต์นี้ช่วยให้ป้อนข้อมูลเข้าไปใน Amazon S3 จาก Amazon Kinesis Streams ได้อย่างง่ายดายและมีประสิทธิภาพโดยใช้ AWS Lambda และ Amazon Kinesis Firehose

อ่านข้อความทั้งหมดในโพสต์ที่นี่ »

หากต้องการอ่านบล็อกโพสต์อื่นๆ เกี่ยวกับข้อมูลการสตรีมและ Big Data โปรดไปที่บล็อกข้อมูลขนาดใหญ่ของ AWS »


การเริ่มต้นใช้งาน Amazon Kinesis เป็นเรื่องง่าย เพียงแค่ลงชื่อเข้าใช้ AWS Management Console และเปิดใช้งาน Amazon Kinesis

 

เริ่มต้นใช้งาน Amazon Kinesis