Netflix(奈飞)--SpringCloud

来源:互联网 发布:电脑硬盘坏了恢复数据 编辑:程序博客网 时间:2024/06/16 07:25

很久很久以前,有一家公司叫Blockbuster,称霸租碟业许多年。某个叫Reed Hastings的哥们在那里租了个碟,结果由于超期归还被黑走“一大笔”逾期费(大概40美元),怒了。然后他忿忿地去健身,发觉健身房商业模式甚是美哉,不管你去得多还是少,会员费半毛钱也不能少交。很不巧,Hastings是一个动不动就要改变世界的软件工程师,想法来了就要干,更不巧的是他当时已经非常有钱。于是愤怒之余他创办了Netflix,也是做租碟生意,没有逾期费并且搞会员制。十三年后Netflix把Blockbuster干到了破产保护,大仇得报。这个故事告诉我们两个道理:
1.客户服务一定要做好,不该薅的羊毛就别死命薅,不然你就是逼羊为虎。
2. 工程师惹不起。

开源项目 https://www.oschina.net/project/netflix

联合作业执行引擎 Netflix Genie
https://www.oschina.net/p/netflix-genie
Genie 是 Netflix 联合作业执行引擎,提供 REST-ful APIs,运行各种类型的大数据作业,比如 Hadoop,Pig,Hive,Spark,Presto,Sqoop 等等。Genie 同时提供 APis 来管理在上面运行的大量的分布式进程集群配置,命令和应用。

基于 Java 的 Mesos 调度器 Fenzo
https://www.oschina.net/p/fenzo
Fenzo 是一个使用 Java 语言编写的 Apache Mesos 框架的可扩展调度器。Fenzo 负责管理 Netflix 内部所有服务的调度和资源分配。

持续交付平台 Spinnaker
https://www.oschina.net/p/spinnaker
Spinnaker 主要特性:配置一次,随时运行;随地部署,集中化管理;开源。

数据管道服务 Suro
https://www.oschina.net/p/suro
Suro能够在数据被发送到不同的数据平台(如Hadoop、Elasticsearch)之前,收集不同应用服务器上的事件数据,这项创新技术具备成为大数据主流实践的潜力。

Netflix 边缘服务 Zuul
https://www.oschina.net/p/zuul
Zuul 是提供动态路由,监控,弹性,安全等的边缘服务。Zuul 相当于是设备和 Netflix 流应用的 Web 网站后端所有请求的前门。

Java 日志框架 Blitz4j
https://www.oschina.net/p/blitz4j
Blitz4j 是一个日志框架,基于 log4j 构建以减少多线程争用,适合高伸缩性的日志,而不会影响应用本身的性能特性。

分布式内存数据云存储 EVCache
https://www.oschina.net/p/evcache
EVCache 是基于 memcached & spymemcached 的缓存解决方案,主要用在 AWS EC2 基础设施上,为了顺畅的使用数据而开发的缓存解决方案

云端负载均衡工具 Eureka
https://www.oschina.net/p/eureka
Netflix 填补了Amazon Web Services的大缺口,发布了云端负载均衡工具Eureka。

分布式系统的延迟和容错库 Hystrix
https://www.oschina.net/p/hystrix
Hystrix 供分布式系统使用,提供延迟和容错功能,隔离远程系统、访问和第三方程序库的访问点,防止级联失败,保证复杂的分布系统在面临不可避免的失败时,仍能有其弹性。

ZooKeeper 监控管理系统 ​Exhibitor
https://www.oschina.net/p/%E2%80%8Bexhibitor
Exhibitor 是 ZooKeeper 实例监控,备份,恢复,清理和可视化工具, 是 ZooKeeper 的监控管理系统。

Java HTTP 客户端库 Feign
https://www.oschina.net/p/feign
Feign 使得 Java HTTP 客户端编写更方便。

云中间层服务 Ribbon
https://www.oschina.net/p/ribbon
Ribbon主要提供客户侧的软件负载均衡算法。与Eureka一起使用,Eureka主要用来平衡到中间层服务的请求。

Netflix Servo
https://www.oschina.net/p/netflix-servo
etflix Servo 用Java语言,提供暴露、发布应用运行指标的简单接口,主要满足的需求包括:使用JMX、简单、灵活发布。

SpringCloud 分布式开发
服务发现——Netflix Eureka
服务注册中心
服务提供者
服务消费者

客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config