网站首页 > 技术文章 正文
甲骨文(Oracle)推出以Java为基础的无服务器应用程序部署技术GraalOS。通过使用OracleGraalVM原生镜像文件,GraalOS不再依赖Java虚拟机(JVM),因此能实现高速启动、降低资源消耗,并与云计算服务紧密集成等优势,还可同时支持x64与AArch64两种处理器架构。
Oracle发展这项名为GraalOS的技术,来强化自家的无服务器运算服务OCI Functions。该服务让开发者可以在没有任何基础设施的情况下,根据事件或是请求,创建、执行和扩展应用程序。官方表示,传统无服务器函数主要缺点之一便是启动速度慢,在功能第一次被调用,或是经过一段时间不活动后,都会发生这种情况。
GraalVM技术是GraalOS重要的一环,甚至可以说是GraalOS背后的核心技术。GraalVM是一个高性能JVM和JavaScript执行环境,同时支持Ruby、R、Python等语言,除了使用JIT编译器,大幅提高Java等语言的执行性能之外。其原生镜像文件功能,则可以将应用程序提前编译成为原生机器程序代码。而GraalOS便是使用GraalVM的原生镜像文件技术,将开发者的应用程序转为原生执行文件,因此可加速启动并且减少资源使用,有助降低云计算成本。
当前OCI Functions运用开源容器原生无服务器平台Fn Project,将函数打包成容器运行,而容器的启动与资源调用,都是造成函数启动速度慢的原因。而官方表示,GraalOS应用程序启动速度很快,几乎没有冷启动成本。与拥有巨大冷启动成本的容器平台不同,GraalOS应用程序只是一个小型原生Linux可执行文件,启动时间仅为数十毫秒。
由于GraalVM原生镜像文件运用提前编译(AOT)技术,因此GraalOS应用程序所需要的内存明显减少,官方表示,由于大多数云计算服务的定价结构,内存使用量都是一个重要的因素,而较低的内存使用量,也就代表会直接影响运营成本。而且不只是内存,GraalOS就连使用的CPU资源,都是JVM所需的一小部分。
GraalOS应用程序在调用时能够自动暂停和恢复,即便因为未接收到请求的应用程序和函数都被服务器平台终止,GraalOS也能够在暂停后,快速恢复闲置应用程序,不像过去基于容器的函数启动会出现冷启动成本。
GraalOS大幅提升了OCI Functions的启动速度,可让无服务器函数在数秒内启动,且对大多数工作负载来说,使用的内存也会比传统函数减少达50%,函数更快启动也就代表可以支持次秒级低延迟调用,打开配置的并行性需求降低。
GraalOS原生Linux可执行文件,使用了由硬件加强的应用程序隔离技术,即便没有将应用程序打包到容器中,也能获得隔离安全性。Oracle先在OCI Functions运用GraalOS,新添加Graal Function类型,而内置OCI Functions触发器的Events、Connector Hub和Data Integration等服务,也都可以从GraalOS获得性能升级效益。目前GraalOS加速功能仅先开放给Java开发者使用,官方预告未来还会支持更多语言。
猜你喜欢
- 2024-11-06 .devos勒索病毒解密恢复 服务器中毒解密.devos ORACLE病毒解密
- 2024-11-06 Oracle甲骨文在几天内3D打印出10000个服务器支架
- 2024-11-06 继 Oracle WebLogic之后 黑客又盯上了Apache SOLR服务器漏洞
- 2024-11-06 云安全日报210421:Oracle WebLogic应用服务器发现反序列化漏洞
- 2024-11-06 Oracle Exadata数据库云服务器X4-8具备极致的计算、存储及内存处理能力
- 2024-11-06 甲骨文推出新的Oracle Exadata数据库云服务器X5-8
- 2024-11-06 知识分享:Oracle WebLogic服务器服务框架
你 发表评论:
欢迎- 617℃几个Oracle空值处理函数 oracle处理null值的函数
- 610℃Oracle分析函数之Lag和Lead()使用
- 599℃0497-如何将Kerberos的CDH6.1从Oracle JDK 1.8迁移至OpenJDK 1.8
- 595℃Oracle数据库的单、多行函数 oracle执行多个sql语句
- 591℃Oracle 12c PDB迁移(一) oracle迁移到oceanbase
- 582℃【数据统计分析】详解Oracle分组函数之CUBE
- 572℃最佳实践 | 提效 47 倍,制造业生产 Oracle 迁移替换
- 560℃Oracle有哪些常见的函数? oracle中常用的函数
- 最近发表
-
- PageHelper - 最方便的 MyBatis 分页插件
- 面试二:pagehelper是怎么实现分页的,
- MyBatis如何实现分页查询?(mybatis-plus分页查询)
- SpringBoot 各种分页查询方式详解(全网最全)
- 如何在Linux上运行exe文件,怎么用linux运行windows软件
- 快速了解hive(快速了解美国50个州)
- Python 中的 pyodbc 库(pydbclib)
- Linux搭建Weblogic集群(linux weblogic部署项目步骤)
- 「DM专栏」DMDSC共享集群之部署(一)——共享存储配置
- 故障分析 | MySQL 派生表优化(mysql pipe)
- 标签列表
-
- 前端设计模式 (75)
- 前端性能优化 (51)
- 前端模板 (66)
- 前端跨域 (52)
- 前端缓存 (63)
- 前端aes加密 (58)
- 前端脚手架 (56)
- 前端md5加密 (54)
- 前端路由 (61)
- 前端数组 (73)
- 前端js面试题 (50)
- 前端定时器 (59)
- 前端获取当前时间 (50)
- Oracle RAC (76)
- oracle恢复 (77)
- oracle 删除表 (52)
- oracle 用户名 (80)
- oracle 工具 (55)
- oracle 内存 (55)
- oracle 导出表 (62)
- oracle约束 (54)
- oracle 中文 (51)
- oracle链接 (54)
- oracle的函数 (58)
- 前端调试 (52)
本文暂时没有评论,来添加一个吧(●'◡'●)