美文网首页互联网科技Java 杂谈程序员
Java如何面对无服务器的挑战?

Java如何面对无服务器的挑战?

作者: Java高级架构狮 | 来源:发表于2018-09-20 11:10 被阅读20次

    Spring推动者Pivotal有一个名为 Riff的函数即服务平台,它是一个开源的、Apache 2许可的、函数即服务平台,基于Kubernetes和刚刚宣布的KNative技术。

    还有Spring Cloud Function,它能让你编写与任何一个函数即服务且与平台无关的代码,并使用适配器进行部署。Spring是以其注释和POJO为中心的组件模型,意味着编写函数就像在Java中一样简洁。它可以像一个类一样简单,一个方法返回一个`java.util.Function <I,O>`实例。或者甚至只是一个实现`java.util.Function <I,O>`的类。

    当然,这样的应用程序与Node.js相比有更多代码行,并且启动速度稍慢,它比同等的Go应用程序慢得多,但不是影响成为无服务器平台的关键原因,无服务器是关于提高组织敏捷性; 比如我能以多快的速度发送电子邮件、调整图像大小或运行报告以及响应触发事件的作业?有了像Project Riff这样的平台,获得结果会非常快!无服务器已经在重塑Java。

    无服务器要求代码按需立即启动(冷启动),因此 启动时间非常重要,JVM的JIT编译器针对长时间运行的系统进行了优化 ,随着时间的推移,JIT将越来越多的代码编译为机器语言并引入 其他优化。

    随着更多内存增加成本,无服务器的内存消耗更为重要,Java的一些垃圾收集算法消耗了大量内存。这些问题是如此根本,以至于无法解决。但是,GraalVM会提前编译代码,以加工代码并显着缩短启动时间,因此,Java将来似乎更适合无服务器!

    为了在无服务器领域竞争,Java将不得不改善其启动时间和占用空间。该领域正在开展工作,但在与其他语言的足迹和启动时间竞争时还有很长的路要走。

    Java高架构师、分布式架构、高可扩展、高性能、高并发、性能优化、Spring boot、Redis、ActiveMQ、Nginx、Mycat、Netty、Jvm大型分布式项目实战学习架构师视频免费获取架构群:854180697

    群链接:加群链接

    写在最后:欢迎留言讨论,加关注,持续更新!

    相关文章

      网友评论

        本文标题:Java如何面对无服务器的挑战?

        本文链接:https://www.haomeiwen.com/subject/ruvgnftx.html