随着微服务和K8s容器化集群的盛行,越来越多的可以运行在k8s的框架脱颖而出,在Java领域,Springboot和Helidon就是典型的两个微服务框架。
今天我想强推后者----Helidon。
Helidon是Oracle推出的一个微服务框架,行情里微服务框架还是好几个的,今天就拿常用的SpringBoot和SpringCloud来说吧。我觉得相比较来说Helidon不同之处主要有以下几点:
Helidon与Springboot内部集成服务器的不同,Helidon内部Netty,Springboot是Tomcat。
Helidon比Springboot更轻量级,没有了Spring家族的各种注解注入,更少的依赖
Hedlion是一个更加灵活,解耦合度更高的框架,不同的模块可以单独配置,Helidon自带可以加载,分解配置文件,自带路由(核心模块),请求分发,相当于SpringCloud的zuul组件。Helidon自带用户安全校验,权限功能,相当于SpringCloud的Security组件,同时还自带了client功能,可以通过http协议调用服务,类似于SpringCloud的Fegin组件,当然k8s也有这个。所有的这些实现方式更加简单,易用,更加轻量。
同时Helidon也具有bean的形式,可以通过不同的方式注入bean对象,获取参数的方式也与Spring和SpeingMVC相似。
可以交互Mybatis,Jedis,ESSearch等组件(现在暂时只用到这些,还有很多需要学习),这可能也是他的不足之处,因为无法像Springboot无缝结合第三方组件开发,需要单独集成,封装调用。
但是Helidon是完全脱离Java EE开发出来的,大家知道Java EE已经不属于Oracle,以后Java EE的未来如何还说不准。这个是开发微服务框架的一个选择,可以根据公司和实际项目选择适合自己的框架来用。
网友评论