springcloud概述
套餐简述
这里有个免费的学习地址,而且项目很小适合新手了解:https://how2j.cn/k/springcloud/springcloud-intro/2035.html,过一遍简单了解一下springcloud的整体开发流程。
单体架构
sprincloud是一个服务的集群,那在这之间就会有单体架构系统,这个单体架构系统,就是啥功能都集成在一个应用里面。也就是springboot。springcloud依赖于springboot实现微服务。
说到springboot,那这个springboot又是啥玩意呢,boot就是引导的意思,在系统开机的时候经常会看到相关的boot,表示的系统开机引导项。springboot就是一个开发团队提供的一个框架,用来简化spring应用的初始搭建及开发过程。springboot新增的父子项目,同时子模块和子模块间的互相依赖,这样不同模块的服务就可以通过依赖互相调用,统一管理整个项目模块。同时简化了springmvc,mybaties,spring的xml配置。简单来说springboot更加的集中化管理。springboot完全采用注解化。
springboot整合ssm,ssm是将springmvc、mybaties、spring框架进行整合,依赖放一起,配置xml放在一起,代码的耦合性很高。独立开发难度大。
总结一点,框架是为了简化开发,方便各个部门,人之间的配合开发,提高程序员的开发效率设计的。
分布式集群
分布式集群有性能上的瓶颈,且打成jar包上线后不容易维护,那么就只有将各个模块服务采用分布式和集群来做。springcloud的用处就来了。
springcloud就是一套工具,在这里我就一步一步的搭建一个简单的微服务集群。
参考图
springcloud可以做的事情
1. 哪些微服务是如何彼此调用的? sleuth 服务链路追踪
2. 如何在微服务间共享配置信息? 配置服务config server
3. 如何让配置信息在多个微服务之间自动刷新? RabbitMQ 总线Bus
4. 如果数据服务集群都不能使用了?视图微服务如何取处理?断路器 Hystrix
5. 视图微服务的断路器什么时候开启了?什么时候关闭了?断路器监控Hystrix Dashboard
6. 如果视图微服务本身就是个集群,那么如何进行对他们的聚合监控?断路器聚合监控Turbine Hystrix Dashboard
7. 如何不暴露微服务名称,并提供服务?zuul网关