不管是Spring、Spring Boot、还是Spring Cloud都应时代的需要而生。
最初Spring的出现是为了整java框架生态,简化J2EE企业级开发。
但随着Spring家族在实际上的广泛使用,大家发现所有的有好多东西在项目中都是共同的,大家每创建一个项目,都在重复的进行这些共同的操作,这样损时耗力,如果把这些共同的东西都纳到Spring家族挥下,Spring家族会变得更强大,而大家使用起来也会更加的省时省力,就这样Spring家族的新分支Spring boot诞生了。
随后信息爆炸、大数据时代到来,业务越来越复杂、流量越来越来、负载越来越高、上线周期要求越来越短…… 这样以前一个项目可以搞定的事件,现在要拆分成多个小服务,这样一来上面问题好像都解决了。但是引入了一些其它问题,小服务一多,这些服务怎么管理呀?服务之间怎么通信呀?通信失败了乍处理?一个服务挂了,其它服务会不会受影响?拆成小服务后,一个还是不够用,横向扩成集群,集群怎么对外服务呀……在Spring Cloud之前实际上已经有很多技术框架去处理这些问题,但是这技术比较分散,组合起来比较复杂,需求投入比较多资源(学习成本、时间成本)。Spring站在旁边一笑,看我超人小能手,随着就将分布式架构中所需要的一整套技术栈进行了整合、简化、并依托Spring Boot给发布出来,承上启下,作眼于未来,这样Spring家族就诞生了新成员Spring Cloud.