在本系列的第 1 部分嵌入式 Java 新视角中,我们探讨了 Java 在嵌入式用例中的应用。Azul 及其 Zulu Build of OpenJDK (Zulu) 是这一软件领域的理想合作伙伴。现在我们展开看看典型的端到端解决方案的云部分,以及传感器、边缘设备、客户端应用程序和云服务。
适用于边缘设备和客户端应用程序的 Azul Platform Core
Java 凭借其令人惊叹的方法和工具以及处理海量数据的出色性能,加快了开发速度,因而成为从各种传感器收集数据的边缘设备构建应用程序的理想编程语言。我们可以在家庭自动化、汽车诊断和信息娱乐系统、工业生产设施等领域找到此类系统。这种边缘设备可以基于多种类型的 CPU 或 SOC(片上系统)以及不同版本的 Linux。Azul 是所有这些平台的 Java 运行时的唯一提供商,即使从 Java 6 开始的旧版本仍需要支持。其中许多 Zulu 运行时都可以在 Azul 下载页面上免费获得。
除了免费的 Zulu Builds of OpenJDK 之外,Azul 还向付费用户提供 Platform Core。该产品提供了对更多构建版本的访问,特别是针对较少使用的平台和 Linux 发行版。Platform Core 还提供了第 1 部分中所述的额外服务。
- 提供长期支持,甚至涵盖旧的 Java 版本:Azul 为其他提供商不再维护的许多 Java 版本提供长期和持续的支持,如 Java 6、7 和 8。
- 安全性:Azul 遵循三个月的发布周期,每次发布的构建版本都会针对常见漏洞和暴露 (CVE) 提供最新的修复,确保您在最安全的平台上运行应用程序。
- 定制构建版本:Azul 可提供完全符合您质量和性能期望的定制构建版本,例如,适配预定义存储大小和内存大小的构建版本。
- 支持任何处理器和内核:我们甚至可以为尚未创建过其他 Java 构建版本的平台或自定义内核创建构建版本。
- 法律保护:Azul 构建版本还可以保护您免受法律问题的影响(您的 Java 应用程序不受开源许可证的污染)。
- 更快的启动:得益于 Azul 开发的技术,我们可以提供解决方案,最大限度地为您缩短应用程序启动时间(CRaM 和 CRaC)。
桌面和其他客户端应用程序也可以使用 Azul Zulu 开发和分发。它是适用于 Windows、macOS 和 Linux 的最安全、最新的 Java 运行时。
查看 Azul Platform 核心文档网站,开始使用 Azul Zulu。
适用于云服务的 Azul Platform Prime
Zulu 在边缘、桌面和多个平台上表现出色,而 Azul Zing Builds of OpenJDK (Zing) 则专为在云中运行而构建。它是基于 OpenJDK 的 Java 运行时,但 Azul 对其进行了改进,使用更好的编译器和垃圾收集器来处理更大的数据负载。它可免费用于评估,并作为 Azul Platform Prime 的一部分提供给我们的客户。Prime 带来多种价值:
- 为大数据工作负载提供更好的客户体验:大规模处理大量数据并不容易。无论您是运行用于摄取的 Kafka、用于分析的 Spark、用于搜索的 Elastic/Solr 或基于 Java 的数据库(如 Apache),还是在自定义 Java 应用程序中实现自己的逻辑,Zing 都能保证以最低的延迟实现最高的吞吐量。
- 更快的上市时间和更低的支持成本:解决性能和扩展问题,缩短开发时间,减少需要维护的额外代码。这会导致性能相关的工单减少,这些工单会分散工程师交付新功能的注意力。
- 更顺畅的 DevOps 大规模部署:在不更改代码的情况下解决所有 Java 版本的 Java 预热问题,使您可以完全接受反应式自动扩展,对新功能进行更频繁的 CI/CD 部署。
- 更低的云成本:Prime 具有更高的承载能力、更低的异常值、更高效的资源利用以及更好的可扩展性,为基于嵌入式设备数据构建的云服务提供了全球最低的成本。
引自 Jiří Holuša,Platform Prime 高级产品经理
Azul 高级产品经理 Jiří Holuša 表示:“Zing JVM 从最初的低延迟用例甜点走了很长一段路,在低延迟用例中,每一毫秒都至关重要。”“在资源浪费导致云计算费用居高不下的现代社会,Zing JVM 还能帮助您提高效率,节省大量资金,因为它能让您用同样的资源进行更多的计算。客户对 Azul Platform Prime 的投资获得 200% 以上的投资回报率并节省数十万美元的成功案例证明,选择正确的 JVM 来提高资源利用率具有重要意义。”
要了解有关 Azul Platform Prime 的更多信息,请查看以下文档来源:
- Falcon 编译器:这是 Zing 中默认的优化 JIT (Just-In-Time) 编译器,主要用于生成高性能代码。
- C4 垃圾收集器:这是 Zing 中默认的垃圾收集器,并使用 4 阶段并发执行机制,几乎消除了所有的 stop-the-world 暂停。这样,您的应用程序就可以在垃圾收集过程中继续执行。在真实条件下测试应用程序时,您会发现所有百分位数的延迟都有所减少,尤其是在消除延迟中的大异常值方面。
- ReadyNow:这是 Azul Platform Prime 的一项功能,启用后可显著改善应用程序的预热行为(Java 应用程序达到最佳性能所需的时间)。ReadyNow 会保留应用程序运行期间收集的分析信息,以便后续运行不必再次从头开始学习。预热可改善每个应用程序的运行,直至达到最佳性能。
- Optimizer Hub:Azul Platform Prime 的这一组件通过提供两种服务,让您的 Java 程序快速启动并保持快速运行:
- 云原生编译器:提供服务器端优化解决方案,将 JIT 编译卸载到单独的专用服务资源,为 JIT 编译提供更多处理能力,同时将客户端 JVM 从本地进行 JIT 编译的负担中解放出来。
- ReadyNow Orchestrator:记录并提供 ReadyNow 配置文件。这大大简化了 ReadyNow 的操作使用,并且无需配置任何本地存储来写入配置文件。ReadyNow Orchestrator 可以记录来自多个 JVM 的多个候选配置文件,并推广记录最好的配置文件。
多种工具、文档和支持:Azul 因其持续的研究和高客户满意度而得到众多客户和不同文章的认可。
结语
Azul 是您的一站式合作伙伴,可帮助您解决 Java 使用相关的所有问题,包括从边缘设备到客户端应用程序再到云服务。无论您是在寻找与许可、成本、性能还是总生命周期成本相关的解决方案,都可以在我们的支持团队中找到最佳合作伙伴。