spring5、springboot和springcloud的区别

1、spring5
我们说的spring5是指spring framework 5.x,和spring4、spring3一样是最底层的java框架,提供IoC和AOP功能

2、springboot
提供约定优于配置的java开发环境。默认集成spring5和许多第三方包(默认依赖)

3、springcloud
springcloud是基于微服务架构思想,所建立的一个大型项目
它包含了很多独立的项目,有的实现完整的微服务架构(包含许多组件),有的是微服务架构中的一个组件
各个组件使用springboot作为框架开发

举例:
Spring Cloud Alibaba:阿里提供的微服务组件集合
Spring Cloud Netflix:Netflix集成的微服务组件包括,服务发现(Eureka),断路器(Hystrix),智能路由(Zuul)和客户端负载平衡(Ribbon)
Spring Cloud Config:springcloud提供的配置中心
Spring Cloud Gateway:springcloud提供的微服务网关

4、思考
是不是只要符合微服务架构思想,我们可以用开源第三方组件代替默认组件,也可以称为spring cloud xxx ???
比如配置中心有携程的Apollo,网关有soul

5、spring官网的两个图
Microservice resilience with Spring Cloudspring5、springboot和springcloud的区别_第1张图片

Spring Cloud architecture highlights
spring5、springboot和springcloud的区别_第2张图片

API Gateway:网关
Service registry:服务注册
Config server:配置中心
Distributed tracing:分布式服务跟踪(Spring Cloud Sleuth)
Circuit Breaker Dashboard:断路器监控
Metrics Store:Metrics监控
Databases:数据库
Message Brokers:消息代理(ActiveMQ、kafka等)

6、创建工程
创建一个maven主工程(类型pom),在主工程下创建一个module(基于springboot),依次增加其他module

工程目录:
主工程
    module1(eureka server)
    module2(服务提供者)
    module3(服务调用者)
    。。。

你可能感兴趣的:(JAVA基础)