红帽发布K8s Java开发框架Quarkus 1.0

红帽发布Kubernetes原生Java开发框架Quarkus最新版本1.0候选版,Quarkus是个开源堆栈,可让开发者使用熟悉的程序开发模型,撰写可快速启动且内存占用少的Java应用程序,最新版本对指令式程序开发有更好的支持,并且也与Java的Spring开发框架兼容。

Java一直以来是都是热门的开发语言,在1990年代中期诞生,直至今日已经超过20年,红帽提到,现在是一个云计算、行动、物联网和开源主导的世界,大量应用容器、Kubernetes、微服务、功能即服务(FaaS)等新兴技术,因此他们重新思考,Java在新的部署环境和应用程序架构中集成的方式。

为此Java推出了Quarkus,这是一个专为GraalVM和HotSpot量身定做的Kubernetes原生Java开发框架,提供开发人员一个结合反应式和指令式的统一程序开发模型,并作为Kubernetes以及无服务器环境平台,为分布式应用程序架构提供一个良好的解决方案。

Quarkus的设计讲究容器优先,由于高效的执行效率,Quarkus可以在数十毫秒内快速启动,并自动扩展或缩放Kubernetes上的微服务,或是执行中的FaaS。Quarkus应用程序以及容器镜像文件占用的空间小,且内存需求低的特性,可以在多容器的微服务基础架构中,让用户容易优化容器密度。

红帽也提到,因为大多数Java开发人员都熟悉指令式程序开发模型,并希望在新平台中也可延续相似的开发经验,但同时,开发人员也必须适应云计算原生、事件驱动、异步以及反应式模型等各种开发形式,以快速构建高并行与响应性应用程序。而Quarkus可将指令式以及回应式程序开发模型集成在同一个平台中。

Quarkus是一个全端框架,内置了Eclipse MicroProfile、JPA/Hibernate、JAX-RS/RESTEasy、Eclipse Vert.x和Netty等函数库,Quarkus同时还内置了一个扩展框架,让第三方框架的作者,可以用来进行功能扩展,红帽表示,这个扩展组件框架简化第三方框架在Quarkus上执行,并编译成为GraalVM原生二元文件的复杂性。

红帽在今年3月的时候发布了Quarkus,而历经了36周30个版本,现在来到1.0版本,这个版本强化了回应式核心对于指令式程序开发的支持,Quarkus的核心网络模型使用Eclipse Vert.x单一网络引擎,可同时支持反应式和指令式的程序开发模型,而Quarkus会自动处理模型切换的工作。Quarkus加入了一个新的安全层,是以Vert.x的反应式方法实例,另外,Quarkus也宣布兼容Spring API,包括Spring Web、Spring Data JPA以及Spring DI。