暂无图片
暂无图片
1
暂无图片
暂无图片
暂无图片

亚信Web应用中间件(FlyingServer)通过Eclipse MicroProfile功能测评

原创 王峰 2023-08-15
591

亚信Web应用中间件(FlyingServer)通过Eclipse MicroProfile功能测评

亚信Web中间件团队经过1年的辛苦研发,攻克了途中遇到的多重技术难点,近期通过了Eclipse MicroProfile 4.1 TCK的1773个测试项的测试,获得了MicroProfile官网认证,成为国内首个获得该项规范认证的产品,实现了MicroProfile 4.1规范中定义的12个云原生微服务模块的功能。FlyingServer为业务上云提供了新的技术方案

图 1FlyingServer V3.5.0获得MicroProfile官网认证公示

图 2亚信进入MicroProfile工作组

  1. MicroProfile是什么?

图 3 MicroProfile 4.1功能模块图

MicroProfile是2016年6月由 IBM、Red Hat、Tomitribe、Payara 等厂商协作创建,旨在为企业级Java提供微服务,是以实现标准化为目标的 Java 的微服务架构标准,是当前国际比较流行的云原生微服务框架规范,隶属 Eclipse 基金会。MicroProfile 1.0 在 JavaOne 2016 上发布,MicroProfile 6.0 在 2022年10月发布。不少国际知名软件企业加入了工作组,亚信于2023年6月加入了工作组,近期FlyingServer已经实现了 MicroProfile 4.1规范功能。技术在日新月异的迭代变革,FlyingServer将为业务应用如何更好的上云,继续研发和寻找更好的技术方案。

  1. 我们在寻找什么?

FlyingServer完成JakartaEE 8的规范功能之后,我们继续在思考应用如何更快,更轻薄的上云。要想应用轻就需要涉及到开发阶段如何让代码轻,就需要一款云原生的开发框架,我们开始寻找。Red Hat的Quarkus、IBM的OpenLiberty,以及这些产品背后的MicroProfile规范出现在了我们面前,让我们看到通过这类开发框架开发,打包的应用包,确实比较小启动快Kubernetes功能无缝集成。我们又和主流的Spring Cloud做了多维度的对比,并通过Jakarta EE中国社区邀请了国内外专家对MicroProfile和SpringCloud发起了技术讨论。

图 4Jakarta EE中国社区TechTalk 2023第一期

我们从规范功能、框架、安全、可视化、集成、云、编译打包等方面做了对比。

图 5 MicroProfile 4.1 VS Spring Cloud 2021

根据对比我们得出的结论:

  • 规范性:Spring Cloud 是自己的一套标准,非中立,是以Spring一系列产品被广泛使用,缺乏规范性。MicroProfile是开源、中立的标准规范,推动规范发展的厂商和实现的产品众多,聚焦云原生场景下微服务的开发需求,更能接收大众的需求,涌现个性化发展的产品。
  • 微服务开发需要的功能:Spring Cloud 和 MicroProfile产品都能满足云原生场景下的微服务开发需要。Spring Cloud经过多年的微服务开发实战,具有完善的开发工具链和丰富的应用集成组件,对云原生的功能依赖较少,在云原生方向的工具和组件发展较慢。MicroProfile没有历史包袱,可以基于云原生完善缺乏的工具和组件,避免了像Spring Cloud原组件一样上云需要做云原生改造。
  • 云原生方向的技术发展:Spring Cloud云原生发展缓慢,目前和Service Mesh, Serverless还相差较远,MicroProfile可以快速集成最新的云原生功能为上层应用使用。
  • 易学易用性:Spring Cloud发展非常成熟,市场占有率高,使用的人多,学习使用很方便。MicroProfile基于云原生,需要开发人员了解些云原生方面的知识,开发调试环境稍微复杂。
  • 性能表现:从应用打包的大小、内存使用大小、应用启/停耗时、平均响应时间四方面,MicroProfile产品可以发挥云原生的优势,做到比Spring Cloud更好。

为拥抱规范,我们选择MicroProfile,决定拓展FlyingServer现有的JakartaEE能力,补充MicroProfile的功能,使得FlyingServer更好的支撑满足业务应用在开发、打包、部署、运行的生命周期的要求。

  1. 测试

测试基准:MicroProfile TCK 4.1

规范版本:MicroProfile 4.1

测试环境:

JDK:OpenJDK 1.8.0_372-b07

操作系统:ubuntu-20.04.4

测试过程:

测试结果:

模块

说明

用例数

结果

microprofile-config 2.0

提供参数配置功能

371

通过

microprofile-fault-tolerance-3.0

提供故障容错功能

444

通过

microprofile-health-3.1

提供健康状态检查功能

28

通过

microprofile-jwt-auth-1.2

提供安全请求功能

190

通过

microprofile-metrics-3.0

提供指标度量功能

213

通过

microprofile-open-api-2.0

提供api说明功能

242

通过

microprofile-opentracing-2.0

提供记录调用链路功能

66

通过

microprofile-rest-client-2.0

提供rest方式调用功能

215

通过

  1. 总结

图 6FlyingServer应用上云场景样例

FlyingServer通过实现MicroProfile规范功能,增加了云原生微服务开发框架的功能,并兼容Spring 5框架的应用工程,为开发者提供了很多编程注解和第三方应用集成技术,方便快速开发微服务;开发者无需关心第三方应用和复杂的部署。只需通过FlyingServer开发应用包,就可以在云或非云的环境中通过 FlyingServer 集群化部署应用。

关于FlyingServer

图 7FlyingServer四大价值

亚信Web应用中间件 FlyingServer(FS)是一款遵循国际Jakarta EE Platform 8规范、MicroProfile 4.1规范的应用中间件。完全国产自研,在各种测试中成绩优异。FlyingServer是一款云原生微服务开发框架,提供一套云原生微服务的开发套件,支持微服务需要的均衡、路由、度量、治理、调用、网关、发现、配置、调度等功能;是云原生场景下除 Spring Cloud 外的新选择。它也是一款应用中间件,提供Web容器、EJB容器、集群、并发资源、虚拟服务、连接器、JMS、JDBC、安全、部署、监控、国密等功能。适用于大型分布式应用开发、运行、部署、监控。支持Spring Boot 2.X项目工程迁移到FlyingServer。支持Kubernetes云环境、物理主机、vm虚机上部署分布式应用程序。为集群自动配置负载均衡策略,内置apache、nginx均衡应用。目前已经适配国内主流的CPU、操作系统和数据库等产品。安全一直是FlyingServer重点考虑的要素,从用户安全、访问安全、数据安全、通信安全和环境安全等方面围绕应用提供安全保障。提供国密的SSL安全通信,提供国密的负载均衡器服务,并从编码规范、请求预防、攻击防御、异常监控、操作日志等方面提供安全保障。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论