1.为什么要学习springcloud?
首先springcloud基于springboot的简洁优雅;原来的dubbo+zookeeper下载配置起来也非常繁琐,而springcloud完成这些只需要一个jar的依赖。
2.springcloud是什么?
springcloud是一系列框架的有序集合。他利用springboot的开发便利性巧妙地简化了分布式系统基础设施的开发,如服务发现注册、配置中心、智能路由、消息总线、负载均衡、断路器、数据监控等,都可以用springboot的开发风格做到一键启动和部署。
3.springboot的优缺点?
优点:耦合度比较低。不会影响其他模块的开发;减轻团队的成本,可以并行开发,不用关注其他人怎么开发,先关注自己的开发; 配置比较简单,基本用注解就能实现,不用使用过多的配置文件;微服务跨平台的,可以使用任何一种语言开发;每个微服务可以有自己独立的数据库也有公用的数据库;直接写后端的代码,不用关注前端怎么开发,直接写自己的后端开发就可以,然后暴露接口,通过组件进行服务通信。
缺点:部署比较麻烦,给运维工程师带来一定的麻烦;针对数据的管理比较麻烦,因为每个微服务可以使用一个数据库;系统集成测试比较麻烦;性能的监控比较麻烦。
4.springboot和springcloud的区别
- springboot专注于快速方便的开发单个个体微服务;
- springcloud是关注全局的微服务协调整理治理框架,他将spingboot开发的一个个单体微服务整合并管理起来;
- 为各个微服务之间提供配置管理、服务发现、路由、微代理、事件总线等集成服务;
- springboot可以离开springcloud独立使用开发项目,但是springcloud离不开springboot,属于依赖关系;
- springboot专注于快速开发单个微服务个体,springcloud关注全局服务治理框架。
5.springcloud有哪些核心组件?
- Eureka:注册中心
- Ribbon:负载均衡
- Hystrix:熔断器
- Feign:远程调用
- zuul:网关
- spring cloud config:配置中心