网上看到张Netflix(国内称为”奈飞”)的开发技术栈,和国内企业常规比较,感觉也差不多。

1、移动端和WEB端

  • Netflix 使用适用于 iOS 的 Swift 和适用于 Android 平台的 Kotlin 构建本机移动应用程序。
  • 对于 Web 应用程序,它依赖于流行的 React 框架。

2、前后端通信

  • Netflix 使用 GraphQL 来优化前端和服务器之间的通信,增强灵活性和效率。

3、后端服务

  • 后端服务由 ZUUL 和 Eureka 等工具组合提供支持,这些工具有助于路由和服务发现。

  • Spring Boot 框架广泛用于构建健壮的微服务。

4、数据库

  • 数据库方面包括了用于缓存的 EV 缓存、用于可扩展和分布式数据存储的 Cassandra 以及用于全局一致性的 CockroachDB。

5、消息和数据流

  • 也使用的常规Apache Kafka 和 Apache Flink,这两个在管理消息传递和实时数据流方面的作用不用质疑的。

6、视频存储

  • Netflix 利用 Amazon S3 存储其庞大的视频内容库,确保高可用性和持久性。

  • CDN方面使用了定制的 Open Connect,可增强向最终用户的视频交付。

7、大数据处理

  • 使用了Apache Flink 和 Apache Spark,实现实时的计算和分析,然后使用Tableau 进行可视化。

8、CI/CD

  • Netflix 针对 CI/CD 流程采用了一整套工具,包括用于问题跟踪的 JIRA、用于协作的 Confluence、用于事件响应的 PagerDuty、用于自动化的 Jenkins、用于构建的 Gradle、用于测试弹性的 Chaos Monkey、用于持续交付的 Spinnaker 以及用于持续交付的 Atlas 做监控和警报。