Java架构更迭

一 大家为什么需要知道Java项目架构历史

  • 温故而知新

    了解进10年来Java项目的更迭历史,才能真正明白现在如今前后端分离,微服务架构为什么这么火。

  • 装逼神器

    让别人感觉你很NB似的,了解Java历史挺多的。

  • 任何架构都不是问题

    那怕你跑路后,无论多么老,多么新的项目对你来说都不是问题。

二 Java主流架构进10年左右来跟跌历史

以下近10年java项目主流架构更迭图,有的已经淘汰,有的虽然有新的架构出现,但在某些方面的优势,一直坚挺的存在着。

 

2.1 struts1+spring+hibernate

2001年春天,struts1 mvc框架的出现,解决了传统Servlet,视图耦合JavaBean等问题

2004年3月, spring1.0 的出现诠释了面向接口解耦和AOP编程实现

2001年,hibernate 持久化框架的出现解决了Jdbc操作复杂等问题

2.2 struts2+spring+hibernate

随着struts1广泛使用,出现了很多弊端。WebWork与它形成竞争关系,后来只到他们合并形成一个NB mvc框架struts2,接下来几年内,strut2火向全世界。

2.3 springmvc+spring+jpa/mybatis

随着struts2火,也发现它由于值栈的存在,变得重量级。所以spring的mvc框架SpringMvc流行并成为主流。

众多的持久化纷杂,出现了java持久化规范Jpa,并且hibernate注解实现就是最jpa规范的实现。由于hibernate相对来自己写sql的方式不太灵活,后面出现了mybatis与它并驾齐驱。好像听到一些说,国内mybatis用得多,但是国外的jpa用得多。

2.4 springboot+springdata/mybatis

springmvc和spring的广泛流行,企业里面大部分项目都是spring的项目,人们发现搭建,配置,开发,部署等都比较复杂。这是简化spring项目开发框架springboot于2014年4月产生,在接下来的四五年内基本成为标配。

spring也推出对数据(rdbms,redis,es,rabbitmq等)访问统一标准spring data,其中spring data jpa就是对rdbms支持,spring data redis就是对redis支持,一次类推。

 

2.5 springboot+springdata/mybatis+springcloud

在这个阶段,可以说是spring一统天下,由于分布式,微服务兴起与使用,无论是刚开始很NB的阿里巴巴dubbo,还是其他微服务治理框架,在与springcloud netflix的竞争中,最终springcloud netflix胜出,但是由于netflix对开源可能有点不太感冒了,所以springcloud alibaba在如今正在崛起。无论怎么样,最终spring是真正的大佬了。

2.6 springboot+springdata/mybatis+k8s

由于微服务应用的出现,docker容器化部署成为主流,并且轻量化容器编排工具docker-compose不能满足大型微服务、分布式项目的部署容器编排,所以kubernates(k8s)在与众多编排工具竞争中逐渐成为主流。。

由于k8s有服务治理能力,有的公司直接抛弃了springcloud,直接以k8s来做微服务的开发与部署。

2.7 springboot+springdata/mybatis+ServiceMesh

springcloud netflix作为微服务框架使用时,基础组件服务注册中,配置中心,网关等还需要自己开发不太方便,虽然这个问题在后来的springcloud alibaba基本得以解决。单这期间,ServiceMesh网格服务的理炼被提出来,强调开发者只管自己微服务的开发,基础组件不用开发。所以ServiceMesh正在大厂里面实践。

由于k8s等环境的搭建与维护变得很复杂,所以云原生,在世界各地流行。云原生强调,我们开发得应用直接是大型云厂商(阿里云,腾讯云,华为云等),不用再关注底层k8s等环境的搭建,所以很省事!但这不是一般小公司能玩的。耗钱呀!

三 2020现阶段Java主流架构梳理

  • springboot全栈项目

  • springboot+vue前后端分离项目

  • springcloud netflix微服务项目

    如果再不思进取,最终被淘汰。

  • springcloud alibaba微服务项目

    个人感觉很不错

  • spirngboot+k8s项目

    个人感觉很不错

  • springboot+servicemesh微服务项目

    个人感觉非常不错

四 免责申明

以上是姚桑的一些个人浅见,不喜勿喷。

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 4
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值