诞生于 2014 年的微服务架构(Microservice Architecture),其思想经由 Martin Fowler 阐述后,在近几年持续受到重视。微服务架构是一种架构风格,一个大型复杂软件应用由一个或多个微服务组成。系统中的各个微服务可被独立部署,各个微服务之间是松耦合的。每个微服务仅关注于完成一件任务并很好地完成该任务。微服务架构的优点很多,比如它解耦业务,提供更高的灵活性,允许在服务频繁发版的同时保持系统其它部分的可用性与稳定性;解耦编程语言,针对不同业务可以使用更加合适的语言进行开发;解耦开发团队,不同团队各自负责一个微服务,互不影响,加速交付。理论与相关实践都不断发展,目前它已经成为了主流软件架构模式。
甲骨文一直在开源技术的持续投入,积极参与开源社区的开发与贡献,在微服务框架领域,于2018年9月推出了 Helidon 的第一个版本。Helidon是一个基于Java的用于编写微服务的开源库,其设计以简单、快速为目标,它包括两种架构模式:Helidon SE和Helidon MP。Helidon SE提供了创建微服务的三个核心API:Web服务器、配置和安全,用于构建基于微服务的应用程序,不需要应用服务器。Helidon MP支持用于构建基于微服务的应用程序的MicroProfile 规范 , 并且正式加入了 Eclipse MicroProfile, 它支持 MicroProfile 并提供了开发者熟悉的 API,例如 JAX-RS, CDI 和 JSON-P/B。
MicroProfile是一个微服务的基准平台定义,针对微服务架构优化企业Java,并为跨多个MicroProfile运行环境提供应用程序可移植性。MicroProfile创建于2016年,并迅速加入Eclipse基金会, MicroProfile平台增加了许多规范来满足用户的需求和反馈,主要目的是创建一个Java企业框架,用于跨供应商解决方案实现可移植微服务。MicroProfile关注的是供应商不可知的编程模型以及配置和服务,例如跟踪,容错,运行状况和指标等。
如今MicroProfile 3.0已经发布, Helidon也随之在Github上发布了发布了新版本Helidon 1.3, 支持MicroProfile 3.0新特性, 更新了 Rest Client、Metrics 和 Health Check。
Helidon在MicroProfile方便的更新主要体现在一下几个方面:
Rest Client 1.3 简化了多个客户端接口的配置,支持 SSL 配置,使用后资源清理,未指定时默认媒体类型。
Metrics 2.0 包括与计数器重构相关的 API 破坏性更改,现在所有计数器现在都是单体的,旧的非单体计数器现在是 ConcurrentGauges。此外,还引入了对 OpenMetrics 格式(以前称为 Prometheus 格式)的支持,删除了不必要的注解和弃用的方法,并改进了特定指标的识别。
Health Check 2.0 引入了破坏性 API 更改,修改了 Health Check 响应的主体。此外,它还为 Kubernetes 等容器编排解决方案添加了对 @Liveness 和 @Readiness 运行状况检查注释的支持,弃用了一些注解,增强并清理了其测试兼容性工具包(TCK)及其 JSON 架构等。
Helidon 除了兼容MicroProfile的最新标准, Helidon 1.3也对UCP(Universal Connection Pool)实现了集成,UCP是一个处理 JDBC、JCA、LDAP 等各类连接的连接池。它支持非 Oracle JDBC 驱动程序和与非 Oracle 数据库的 JDBC 连接。用于与 Oracle 数据库的 Oracle JDBC 连接时,它可提供旧的 JDBC 隐式连接缓存的所有特性以及其他特性,提供了用于缓存JDBC连接的连接池实现。对UCP的支持, 使得基于Helidon微服务框架开发的程序应用处鞥徐可以利用Oracle Real Application Clusters(Oracle RAC)数据库提供的许多高可用性和性能功能。这些功能包括快速连接故障转移(FCF),运行时连接负载平衡(RLB)和连接亲和性(ConnectionAffinity)。同时Helidon对Oracle Object Storage云服务提供支持,通过简单的几行代码配置,是应用程序实现云上对象存储的能力,后续Helidon也将会对多种云服务提供支持。
Helidon提供的支持不止这些,它集成了一系列的安全/监控/配置/容器方面的开源产品和服务,提供给客户一个基于Java的简单快速的微服务开发框架,让用户能够高效的开发出微服务应用, 在Oracle内部,目前已有10多个产品开发使用Helidon框架进行开发。
Helidon是Oracle开源的Java 轻量级微服务框架,所有代码均已公开托管在:https://github.com/oracle/helidon。
更多信息访问:https://helidon.io/

作者简介
向志华,甲骨文PaaS专家团队高级咨询顾问,专注 Application PaaS 产品及服务,同时关注Docker容器产品及Kubernetes容器调度产品方向。13年IT行业从业经验,擅长J2EE产品架构及开发,参与过Openstack相关产品研发工作。您可以通过george.xiang@oracle.com,与他联系。
扫描二维码或点击阅读原文
快速预约精选云解决方案演示