Netflix Architecture
Netflix เป็นแพลตฟอร์มสตรีมมิงวิดีโอที่มีผู้ใช้งานมากที่สุดในโลก ด้วยความท้าทายที่ต้องรองรับจำนวนผู้ใช้ที่มากขึ้นอย่างต่อเนื่อง สถาปัตยกรรมของ Netflix จึงมีความซับซ้อนและครอบคลุมทั้งด้าน Frontend, Backend, Streaming, Big Data และ CI/CD ดังนี้
2023-10-12 14:19:57 - @ratanon
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 ต้องมีการประสานงานระหว่างทีมต่างๆ เพื่อให้ระบบทำงานได้อย่างราบรื่นและมีประสิทธิภาพ