- โครงสร้างพื้นฐานของ LinkedIn ประกอบด้วยเซิร์ฟเวอร์หลายแสนเครื่องที่กระจายอยู่ในดาต้าเซ็นเตอร์หลายแห่ง
- เมื่อโครงสร้างพื้นฐานขยายใหญ่ขึ้น Observability ก็ยิ่งมีความสำคัญมากขึ้นในการระบุสาเหตุที่เป็นไปได้ของความขัดข้องและความผิดปกติในระบบได้อย่างแม่นยำ
- การใช้ eBPF ทำให้สามารถดึงข้อมูลที่ต้องการได้โดยตรงพร้อมลดโอเวอร์เฮดให้ต่ำที่สุด
- LinkedIn ตั้งชื่อเอเจนต์ eBPF ของตนว่า Skyfall และรันมันอยู่บนเซิร์ฟเวอร์แทบทั้งหมด
Skyfall
- เก็บรวบรวมข้อมูลที่เกี่ยวข้องกับโปรโตคอล TCP/UDP ด้วย kprobes และ kretprobes
- tcp_set_state, tcp_v4_connect, tcp_v6_connect, inet_csk_accept
- ip4_datagram_connect, ip6_datagram_connect
- ส่งข้อมูลที่เก็บรวบรวมได้ไปยัง InFlow (แพลตฟอร์มภายในสำหรับการรวบรวม/แสดงผล flow) ผ่าน UDP
- จาก InFlow ส่งต่อไปยัง Kafka, จัดเก็บใน HDFS และบันทึกลง Graph Data Store ผ่าน Samza
1 ความคิดเห็น
ผมเคยอธิบาย eBPF ไว้ในพอดแคสต์ GeekNews ก่อนหน้านี้ครับ
→ https://www.youtube.com/watch?v=aCw0YwEHpCU&t=1892s