当前位置:首页 > 每日看点 > 正文内容

Spring Cloud项目是否已经不再活跃?

卡卷网10个月前 (01-12)每日看点164

你都已经看到github上的提交活动了,这个活越不活跃,自己就可以做个判断了

用还是会有人在用,毕竟有不少legacy system在用这个东西

但是呢,活跃度应该是不如一些新生的工具了

现在java整个生态,都已经诞生一批新生的工具,国外spring的市场已经发生了动摇

当然你非要问,有没有人用,二极管思维,那我只能告诉你,还有人在用

maven的搜索引擎上,index了三千多万个jars[1]

那些jars都有人用,至少作者自己在用

哪怕是struts,估计也还是有项目在用

这个就像我们讨论深圳人少了之后,总有人出来说,深圳不是没有人

废话,两千多万人口的大城市,一夜之间变没人,那还世界末日了都

人少的意思是:从两千万减少到一千七百万,这个叫做人少了,不是从两千万减少到一个人都没有

这么如果无法达成共识,那我看这个交流也没有必要继续下去了

把一个加减问题,变成一个有无问题,那这个人不是别有用心就是脑子可能有点那个了

同样道理,要问这个项目有没有人用,肯定有啊

但是可能没有其他的一些项目用的人多

从目前观察到的情况看,java这些年,各个厂都在忙活自己的框架,不完全依赖spring

比如oracle自己有一个helidon框架,red hat有一个quarkus框架,graal项目组自己有一个micronaut框架,加上spring,这四个应该是最近这些年,java的seminar上,比如java one,比如devoxx,这些seminar上,出现频率比较高的几个

老外甚至给这些项目做了个排列,直接贴过来:

Spring Cloud项目是否已经不再活跃?  第1张

这些新兴的项目有一个特点,就是后面写的graalvm大字

其实老外这几年,已经不怎么在微服务上做过多的讨论,而是把重心放到native image这种新出现的编译模式上去

微服务可能外包会关注得多一点,对于搞技术的老外来说,可能还是native image这种带来的诱惑力比较大

截止至spring 6和spring boot 3为止,上述四个框架,都完成了native image的实现

至少官方都支持native image编译,当然编译过程可能会比较折腾,这也不奇怪

本来通往一个目标的道路就是曲折的

随着graal官宣,要把jit和aot并入openjdk

过去两年以及将来几年,可能大多数java工具的目标标的,都在native image上,以及一些模块化处理上(project leyden)

因为这可以剪裁java的运行时和最终编译产物

可以让你用java写的代码,更加精简,启动更快,内存占用更少,这些目标上

围绕着这些目标,各个工具会有比较活跃的动态,比如要实现模块化,es等工具就出现了大量的提交

spring boot为了整个native image,也花了不少力气

像netty,netty 5还没有明确的模块化支持的目标,所以helidon那边搞出了一个nima来替换netty

那nima又是一个很活跃的项目

所以围绕着native image(aot)和project leyden(jlink)/模块化这些目标,会有很多的活动

而且这些应该是将来很长一段时间,各个框架忙活的重点

目前看,像json处理库,log系统等,都已经完成了模块化和native image的支持,那现在就剩下netty以及服务器框架部分了,这一块也最大就是了

今年差不多完成的,应该是es,solr和lucene这几个,这几个都完成了模块化

现在就剩下spring,netty,micronaut和quarkus这几个了,这里值得点名表扬helidon

helidon是目前这几个里面,唯一一个,不仅完成了native image的支持,同时也完成了模块化的框架

其他几个,暂时只是完成了native image,还没完成模块化

但这也是最后,最大的一块了,其他的json,log,search啊这些,基本上模块化都做好了

关注这些目标,你会感受到,来自不同工具的高活跃度

至于微服务,那个,其实也就那样了吧,硬要说有什么可搞了,好像也没有了,感觉跟几年前区别并不大


评论区不可避免又讨论起spring和di了

给你们提供点素材,现在各个jvm的gc都相对成熟了,所以你全部new,其实问题并不大

不需要你cache,gc随便选个zgc或者shenandoah,都可以很好滴address这些new出来对象的gc问题

现在对象慢慢变得跟原始数据类型一样,随便用,用完丢弃

然后除了new以外,还可以用static import

java缺省的虚拟机hotspot会对方法区做gc处理,所以你也不用担心定义了太多的static方法,导致方法区溢出,内存泄漏

其实还有第三个,interface的default方法,也可以用来实现类似spring里面普通bean的效果

你让你的controller直接继承对应default方法的interface就好了

这样你也不用static import了,也不用new了,直接implements就可以用了

当然要注意default方法自身不要命名冲突了

所以方法其实很多,非常多,单纯的di,并非必需

反正在一些非spring的轻量级场合下,你大可以用这几种手段,来整理规范你的代码

一个典型场景就是在写javafx的时候,我一般会建议用户,不需要引入过多的比如spring的jars,直接用上述三种方法之一,实现类似的效果

实际开发下来,效果并不差,代码也能很好滴组织起来

而且因为没有引入spring那么多依赖,所以做模块化精简运行时以及native image,都变得容易起来

这些都是手段和工具,用户完全可以根据自身需要和需求,来决定用什么工具

扫描二维码推送至手机访问。

版权声明:本文由卡卷网发布,如需转载请注明出处。

本文链接:https://www.kajuan.net/ttnews/2025/01/9015.html

分享给朋友:

相关文章

你每天用来涨知识的手机应用程序有哪些?

你每天用来涨知识的手机应用程序有哪些?

经过深度使用和测评,从100个APP中选出的这35个超实用的app,每一个都是最硬核最有料的涨知识神器!每天打开看看,能让你提神醒脑,眼界大开,成为朋友聚会上的话题王者!双击屏幕取走哦~先放上全部APP目录,有新闻资讯类、英语学习类、读书类...

有哪些是你用上了mac才知道的事?

用上了高端的Mac(已退货)才知道:原来文件夹里面的文件,你看到是8个,其实可能有12个。其中3个图标重叠在一起了,另外一个被拖动到屏幕外面了。用上了高端的Mac(已退货)才知道:原来鼠标灵敏度有问题是因为系统内置了鼠标加速度,只能用控制台...

有没有能够兼顾便携并且流畅运行各种AI应用的笔记本?求推荐?

有没有能够兼顾便携并且流畅运行各种AI应用的笔记本?求推荐?

看了下题主的描述,可以考虑「联想YOGA Air 15 Aura AI元启版」,今年9月底出的一款轻薄本,也通过了英特尔Evo严苛认证。处理器用了英特尔最新的「酷睿 Ultra 7 258V」,主要亮点就是AI性能、图形处理能力和能效,很适...

抖音上有一些账号搬运别人的视频,几乎一模一样,也没判搬运,他们是怎么做到的??

对于任何短视频平台来说,如何用最低的成本快速实现伪原创搬运都是需要解决的问题。所有的短视频平台,包括抖音、快手、tiktok、视频号、小红书、B站,甚至是FB、推特、INS、YouTube,它们的查重技术都是类似的,只要你在网络环境设置得当...

什么时候你意识到做技术永无出路?

什么时候你意识到做技术永无出路?

2016年,帮一个朋友的忙,写了个软件给他的工作室用, 象征性的收了5000块钱。大概过了三四年吧,他酒后吐真言,这个软件在他这个细分行业,很有用,他这几年把我写的这个软件卖了很多份出去,收益远超30万。因为是离线软件,给他的就是一个exe...

本专业是电气的,请问入门plc 必须要从电工接线开始吗,我怕被公司骗了,想请教各位?

本专业是电气的,请问入门plc 必须要从电工接线开始吗,我怕被公司骗了,想请教各位?

开关接线图PART 01一开单控开关接线图二三开连体单控开关接线图四开连体单控开关接线图一开五孔单控插座接线图二开五孔单控插座接线图一开双控开关接线图二三开单控开关接线图四开单控开关接线图一开五孔单控插座接线图二三开双控开关接线图一开多控开...

发表评论

访客

看不清,换一张

◎欢迎参与讨论,请在这里发表您的看法和观点。