Redian新闻
>
Netflix 如何真正使用 Java

Netflix 如何真正使用 Java

科技

作者 | Michael Redlich
译者 | Sambodhi
策划 | Tina

Paul Bakker,Netflix 的 Java 平台专家、Java 荣誉成员,以及《Java 9 模块化》的合著者,在 2023 年的 QCon 旧金山大会上,发表了题为 《Netflix 对 Java 的真正运用方式》 (How Netflix Really Uses Java)的演讲。

Bakker 在演讲中揭开了 Netflix 全部采用 RxJava 微服务、Hystrix 和 Spring Cloud,以及混沌猴主导的神话背后的真相。

Bakker 描述了 Netflix 广为人知的电影应用背后的原始架构,通过电视和其他设备访问,该应用通过 REST 和 gRPC 连接与他们的各种服务连接到他们的 Groovy 启用的 API 服务器。

首次的升级涵盖了众多领域,如远程调用、并行计算以及利用 RxJava 和 Hystrix 实现的容错机制。然而,这些升级并非尽善尽美,仍存在一些明显的限制。

例如:每个端点都需要一个脚本,这无疑增加了开发的复杂性和难度;开发者通常对 Groovy 和 Java 的 UI 开发并不感兴趣,这使得他们在使用这些技术时感到困扰;尽管响应式编程在理论上具有巨大的潜力,但在实际应用中,其复杂性可能会成为一个难以逾越的障碍。

随后,Bakker 详细介绍了 GraphQL 联合,这是一种创新的架构模型,它允许多个 GraphQL 服务(被戏称为子图或联合服务)汇聚成一个完整的架构或 API。他还阐述了 GraphQL 作为一种替代方案,解决了 REST 中普遍存在的过度获取和不足获取问题。

他们的 GraphQL 联合网关与域图服务(DGS)紧密相连,基本上取代了传统的 API 服务器,通过 gRPC 与各种服务进行高效通信。这种架构带来了诸多好处:首先,消除了 API 的重复;其次,UI 开发人员无需涉足服务器端开发;再者,实现了共享的 GraphQL 模式;最后,摆脱了对 Java 客户端库的依赖。

Netflix 目前仍在积极开发 Java。他们支持 Azul Zulu 17,这是 Azul 的 OpenJDK 下游发行版,正在积极测试 JDK 21,用于运行大约 2800 个应用程序,这些应用程序构建于大约 1500 个库之上。Gradle 以及 Netflix 自己构建的 Gradle 插件集 Nebula 以及 IntelliJ IDEA 是他们首选的构建工具。

Bakker 回顾了他们的 JDK 17 升级,该升级带来了性能优势,尤其是考虑到他们最近还在运行 JDK 8。Netflix 观察到在 JDK 17 上,与 JDK 8 相比,CPU 使用率增加了 20%。这主要归因于 G1 垃圾收集器的改进。

Netflix 正在积极测试 JDK 21,Bakker 认为随后升级到 JDK 21 将更加简单和快速。在 Netflix 中,使用 Generational ZGC 将更好地适应各种工作负载,最终他们将用虚拟线程替代线程池。然而,Bakker 强调了"虚拟线程并非免费午餐",他警告说,如果库具有高 CPU 使用率,仅仅向应用程序添加虚拟线程实际上可能会降低性能。

Netflix 还支持 Spring Cloud,使用 Spring Cloud Netflix,这是为 Spring Boot 应用程序提供 Netflix 开源软件集成的子项目。

作者简介:

Michael Redlich 在过去的 25 年里一直是 Java 社区的活跃成员。他于 2001 年创立了 Garden State Java User Group(原名 ACGNJ Java Users Group),至今仍在不断运营。自 2016 年以来,Mike 担任 InfoQ 的 Java 社区新闻编辑,他的贡献包括每月的新闻报道、技术写作和技术评论。他曾在一些场合发表演讲,如 Oracle Code One、Emerging Technologies for the Enterprise、Trenton Computer Festival (TCF)、TCF IT Professional Conference,以及众多的 Java 用户组。Mike 是 Jakarta NoSQL 和 Jakarta Data 规范的贡献者,并参与了 Jakarta EE Ambassadors 的领导委员会。他于 2023 年 4 月被授予 Java Champion 荣誉。拥有 33 年半的工作经验,Mike 最近从新泽西州克林顿的 ExxonMobil Technology & Engineering 部门退休,曾在那里开发自定义科学实验室和 Web 应用程序。他还曾在 Ai-Logix, Inc.(现在是 AudioCodes)担任技术支持工程师,为客户提供技术支持并开发电话应用程序。

原文链接

https://www.infoq.com/news/2023/10/java-at-netflix-bakker/

声明:本文为 InfoQ 翻译,未经许可禁止转载。

今日好文推荐
大模型时代下的技术变革:训练、负载、部署、效率、安全……都遇到了新挑战?
京东辟谣“刘姓商人涉嫌违法被抓”;比特大陆全员工资暂停发放;一周可居家办公3 天,去哪儿灵活办公制度出炉|Q资讯
主力开发已经 68 岁了!“老龄化”严重的 Postgres 开源社区呼唤“年轻一代”
无服务计算,厂商究竟在打什么算盘

微信扫码关注该文公众号作者

戳这里提交新闻线索和高质量文章给我们。
相关阅读
Netflix码农失踪20天后,浮尸金门大桥海湾聚焦ETF市场 | 亚太地区主动型ETF不断增长Netflix工程师下班坐Uber失踪,不久尸体被发现,死因竟是……Netflix启示录:顶级CEO要做“无情之人”一个人的咖啡你好,我是筚(bì)篥( lì)!首只千亿ETF诞生,2万亿市场火了!"长牛杯"ETF实盘大赛重磅来袭,百万奖池等你来痛心!失踪了一整个月,22岁新进Netflix工程师找到了...把握时代机遇 共建ETF生态 中国平安联合深交所举办ETF大讲堂活动瞎溜达2023: 埃及22岁Netflix工程突然死亡,死因是iOS 17.0.3将修复iPhone 15 Pro过热问题/诺贝尔物理学奖授予阿秒激光/Netflix 计划再次涨价Netflix工程师下班坐Uber失踪,不久尸体被发现,死因竟是…心理学家彼得·格雷:孩子不断被剥夺的童年,正使教育陷入一场日益严重的危机个人投资者成ETF持有主力!深交所重磅白皮书发布,这类主题ETF最受青睐“新美联储通讯社”:三大因素正使美国经济无视衰退泪洒三零一医院(北京看病难之)失踪Netflix工程师遗体被发现,钝器击伤、溺水,法医确定死于自杀2024求职季|Netflix (US) 已开放Software Engineer暑期实习岗曼谷的早晨lulu折扣区更新了,大量scuba(绿金、Java)define打折,Blissfeel 运动鞋黑色才79Netflix 如何处理其容器平台 Titus上 的孤儿 Pod 问题把握时代脉搏,共建ETF生态圈!招商证券"招财杯"ETF实盘大赛圆满收官FATFS文件系统详解:关于SD卡、SD nand、spi nor flash等众多flash委内瑞拉总统:我正使用华为手机,“外国佬”没办法监听钱给很多的Netflix放岗!但“我们不要没有实习经验的”金融服务实体经济 ETF助力高质量发展——上海国企ETF功能作用座谈会召开公募鏖战ETF,基金发行"冰火两重天"!何时实现"每四人就有一人买ETF"?假日午後的咖啡Netflix 年费涨了,大家会退订吗?聚焦ETF市场 | 亚太地区ETF发行情况:进入今年最后冲刺期,高收益产品重返市场痛心!应届22岁Netflix工程师浮尸金门大桥下...周末剧单|来自 Netflix 和 HBO 的宝藏女性热剧问新锐品牌:流量红利之后,如何真正做品牌?​得ETF者得天下?部分基金加大ETF销售激励冲规模失踪数周的22岁Netflix工程师已找到!警方曝光死因是钝器撞击而后…ETF逆市“吸金”!Global X ETFs首席投资官重磅解析ETF大时代下的关键趋势Scuba Oversized Java: 全拉链带帽 vs 半拉链立领
logo
联系我们隐私协议©2024 redian.news
Redian新闻
Redian.news刊载任何文章,不代表同意其说法或描述,仅为提供更多信息,也不构成任何建议。文章信息的合法性及真实性由其作者负责,与Redian.news及其运营公司无关。欢迎投稿,如发现稿件侵权,或作者不愿在本网发表文章,请版权拥有者通知本网处理。