SpringBoot是全新开源的轻量级框架。它基于Spring4.0设计,不仅继承了Spring框架原有的优秀特性,而且还通过简化配置来进一步简化了Spring应用的整个搭建和开发过程。另外SpringBoot通过集成大量的框架使得依赖包的版本冲突,以及引用的不稳定性等问题得到了很好的解决。
SpringBoot所具备的特征有:
(1)可以创建独立的Spring应用程序,并且基于其Maven或Gradle插件,可以创建可执行的JARs和WARs;
(2)内嵌Tomcat或Jetty等Servlet容器;
(3)提供自动配置的“starter”项目对象模型(POMS)以简化Maven配置;
(4)尽可能自动配置Spring容器;
(5)提供准备好的特性,如指标、健康检查和外部化配置;
(6)绝对没有代码生成,不需要XML配置。
-------------------------------------------------------------------------------------------------------------------
springboot单独存在的意义不大,独立运行,自动配置,完全是为了微服务的框架而创建的.springcloud框架必须基于springboot的工程才可以实现;
1. 什么是微服务
当单体系统进行纵向拆分,拆分的独立系统就叫做微服务;每个微服务都专注于一个功能领域,之间通过服务调用获取,传递数据;
2. 什么是微服务框架
当微服务特别庞大的时候,就需要从管理.监控角度出发,对整个集群做到架构级别的技术整合--这种技术就成为微服务框架;
常见的有spring cloud dubbo(12年宣布停更,17年恢复更新);
spring cloud: 一种轻量级的,组件丰富全面的微服务框架技术,核心注册发现组件Eureka(不能由别人代替),实现的http的协议传输数据;开发投入成本较低;
dubbo: 组件没有springcloud丰富,注册发现组件可以使用eureka(http协议),redis,zookeeper(rpc协议),使用rpc协议的技术,性能高;http性能虽然没有rpc高但是灵活度.
技术选型:
spring cloud 开发成本低,所有组件是现成的直接使用,更新比较及时,对应市面的各种新技术做最新的进步;
dubbo 性能高,是dubbo重要的优点,开发成本高
dubbo 性能高,是dubbo重要的优点,开发成本高
SpringCloude组件:
eureka:服务治理组件,提供整体微服务架构中的管理逻辑。通过注册和发现机制。
ribbon:通过eureka发现机制,实现负载均衡调用服务的客户端组件
zuul:网关(gateway)组件,微服务集群唯一对外提供的入口组件,任何外部调用
config:大量的微服务系统(springcloud + springboot),独立开发的系统中的application配置文件可以交给config配置中心管理,所有的客户端读取公用配置文件
feign:和ribbon作用相同,使用场景不同,负载均衡访问服务的组件
hystrix:熔断器,通过牺牲局部保存全局(断路器,服务降级)
ribbon:通过eureka发现机制,实现负载均衡调用服务的客户端组件
zuul:网关(gateway)组件,微服务集群唯一对外提供的入口组件,任何外部调用
config:大量的微服务系统(springcloud + springboot),独立开发的系统中的application配置文件可以交给config配置中心管理,所有的客户端读取公用配置文件
feign:和ribbon作用相同,使用场景不同,负载均衡访问服务的组件
hystrix:熔断器,通过牺牲局部保存全局(断路器,服务降级)