在Java领域中
Spring是一个非常优秀的框架
深受广大开发者的喜爱
但其配置问题和版本的兼容性
也常常会给用户带来开发方面的困扰
为了解决上述问题
Spring Boot和Spring Cloud应运而生
Spring Boot
Spring Boot是一个内嵌Web服务器(tomcat/jetty)的可执行程序的框架,所开发的web应用不需要作为war包部署到web服务器中,而是作为一个可执行程序,只需在启动时把Web服务器配置好并加载起来。
Spring Boot比较适合微服务部署方式
因为它无需将一堆应用放到一个Web服务器下
(重启Web服务器会影响到其他应用)
也就是说不需要太多的配置文件
而是每个应用独立使用一个Web服务器
重启动和更新都很容易
Spring Cloud
Spring Cloud则是一套微服务开发和治理框架,包含了微服务运行的功能,为开发者提供了一些快速构建分布式系统的云应用开发工具。它基于Spring Boot的开发便利性,简化了分布式系统基础设施的开发。如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等,都可以用Spring Boot的开发风格做到一键启动和部署。
Spring Cloud将目前比较成熟、
经得起实际考验的服务框架组合起来
通过Spring Boot风格进行再封装
屏蔽掉了复杂的配置和实现原理
最终给开发者留出了一套
简单易懂、易部署和易维护的
分布式系统开发工具包
Spring Cloud的常用组件
服务发现——Netflix Eureka
客服端负载均衡——Netflix Ribbon
断路器——Netflix Hystrix
服务网关——Netflix Zuul
分布式配置——Spring Cloud Config
spring boot可以支持开发者
快速开发出restful风格的微服务架构
而Spring Cloud则为微服务体系开发中的架构问题
提供了一整套的解决方案
它的主要应用环境是Java
由于Java在it企业中有着非常广泛的应用基础
因此使用Spring Cloud一站式解决方案
能在从容应对业务发展的同时
大大减少开发成本
随着近几年微服务架构和Docker容器概念的火爆
让Spring Cloud在未来“云”化的软件开发环境中
拥有了更广阔的施展空间
领取专属 10元无门槛券
私享最新 技术干货