温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

Java中无服务器化指的是什么

发布时间:2021-06-13 15:44:20 来源:亿速云 阅读:216 作者:小新 栏目:编程语言

这篇文章主要介绍Java中无服务器化指的是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!

几十年来,企业已经在各类平台上开发了关键业务应用程序,包括物理服务器、虚拟机和云环境。这些应用程序在各行各业都有一个共同点,那就是无论需求如何,它们都需要持续可用(24x7x365),保证稳定性、可靠性和性能。因此,即使实际资源利用率低于  50%,每个企业都必须付出高额成本维护基础架构(如 CPU、内存、磁盘、网络等)。

Java中无服务器化指的是什么

无服务器架构是为了帮助解决这些问题而产生的。无服务器允许开发人员按需构建和运行应用程序,保证高可用性,不必在多云和混合云环境中管理服务器。在幕后,无服务器拓扑中仍有很多服务器,但它们是从应用程序开发中抽象出来的。相反,云提供商使用无服务器进行资源管理,例如配置、维护、联网和扩展服务器实例。

由于其高效性,无服务器开发模式现在是一些企业的需求,这些企业希望按需启动服务,而不是一直运行服务。

许多新建的开源项目用来在 Kubernetes 集群上通过 Linux 容器包来管理无服务器应用程序。CNCF 的《交互式无服务器全景》  是一份关于开源项目、工具、框架和公共云平台的指南,帮助 DevOps 团队处理无服务器应用程序。

Java中无服务器化指的是什么

CNCF Serverless  Landscape开发人员可以编写代码,然后将其快速部署到各种无服务器环境中。然后,无服务器应用程序响应需求,并根据需要自动伸缩扩展。

你可能想知道什么编程语言和运行环境最适合无服务器应用程序开发,以便与上图中的技术集成。这个问题不只一个答案,但是让我们退一步来讨论在企业生产环境中开发业务应用程序最流行的应用程序运行环境:Java。

据 Developer Economics 称,截至 2020 年第三季度,仍有 800 多万家企业开发人员在使用 Java 来实现其业务需求。然而,根据  2020 年的一项调查,Java(占比 6%)显然不是有前瞻意识的开发人员的首选,他们使用当前云服务做开发。

Java中无服务器化指的是什么

来自 NewRelic 无服务器基准报告的数据(Daniel Oh, CC BY-SA  4.0)资源使用、响应时间和延迟在无服务器开发中至关重要。公有云提供商提供的无服务器产品通常是按需计量的,只有在无服务器应用程序启动时,才会通过事件驱动的执行模式收费。因此,当无服务器应用程序闲置或缩减为零时,企业无需支付任何费用。

带有容器的 Java 状态

在这种背景下,你可能会问:“既然现有业务应用程序很可能是在 Java 技术上开发的,那么开发人员为什么不尝试使用 Java  栈进行无服务器应用程序开发呢?”

隐藏的真相是:很难在新的不可变更的基础设施(例如 Kubernetes 这样的容器平台)中优化 Java 应用程序。

Java中无服务器化指的是什么

Differences in memory resource usage该图描述了 Java 进程与竞争的语言、框架(如 Node.js 和  Go)之间内存资源使用的差异。Java HotSpot 占用资源最大,其中包括每个Java 虚拟机(Java Virtual  Machine)(JVM)实例分配的堆内存。中间显示了 Node.js 每个进程要比 Java 小得多。最后,Go  是一种流行的云服务编程语言,因为它的内存消耗最低。

如你所见,当你在这张图从左到右走,你会看到更密的节点。这就是开发人员在云、容器和 Kubernetes 上编写无服务器应用程序时回避 Java(包括  Spring Boot,一种顽固的微服务 Java 框架)的原因。

下一步是什么?

企业可以通过实现无服务器应用程序获得明显的好处,但是资源密度问题导致他们避免使用 Java 堆栈在 Kubernetes  上开发无服务器应用程序开发。但是选择其他语言会给全球数百万 Java 开发人员带来学习负担。

以上是“Java中无服务器化指的是什么”这篇文章的所有内容,感谢各位的阅读!希望分享的内容对大家有帮助,更多相关知识,欢迎关注亿速云行业资讯频道!

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI