Netflix Architecture

Netflix เป็นแพลตฟอร์มสตรีมมิงวิดีโอที่มีผู้ใช้งานมากที่สุดในโลก ด้วยความท้าทายที่ต้องรองรับจำนวนผู้ใช้ที่มากขึ้นอย่างต่อเนื่อง สถาปัตยกรรมของ Netflix จึงมีความซับซ้อนและครอบคลุมทั้งด้าน Frontend, Backend, Streaming, Big Data และ CI/CD ดังนี้


1.Frontend:

API: ตัวกลางในการสื่อสารระหว่าง Frontend และ Backend

Mobile:

  • iOS: ภาษา Swift
  • Android: ภาษา Kotlin

Web:

  • JavaScript (JS)
  • React

==========================

2.Backend:

Services:

  • ใช้ Spring Boot เป็นเฟรมเวิร์กหลัก

Databases: มีฐานข้อมูลหลายแบบ

  • Cassandra
  • CockroachDB
  • MySQL
  • และ EVCache เป็นต้น

Messaging/Streaming:

  • Kafka
  • Flink

==========================

3.Streaming:

Video: ระบบสตรีมวิดีโอ

Transcoder: ระบบแปลงรหัสวิดีโอ

  • OpenConnect
  • Amazon CloudFront
  • Elastic Transcoder
  • Amazon S3

==========================

4.Big Data:

Data Storage:

  • Amazon Redshift
  • ICEBERG
  • Druid
  • Data Processing:Flink
  • Spark
  • Tableau

==========================

5.CI/CD (Continuous Integration/Continuous Deployment):

DevOps Tools:

  • Jira
  • Jenkins
  • Spinnaker
  • Gradle
  • และ Nebula

Communication:

  • Atlassian Confluence
  • PagerDuty

==========================

จากรูปภาพ, เราสามารถเห็นว่า Netflix ใช้เครื่องมือและเทคโนโลยีหลากหลายเพื่อรองรับการทำงานและรับมือกับความท้าทายที่ต่างๆ และเมื่อความซับซ้อนของระบบเพิ่มขึ้น Netflix ต้องมีการประสานงานระหว่างทีมต่างๆ เพื่อให้ระบบทำงานได้อย่างราบรื่นและมีประสิทธิภาพ

0
139