为什么需要springcloud
单体应用架构---走向单体地狱
- 虽然可以分模块开发,但是最后也是打成一个war部署运行
- 缺点:编译慢,扩展难,技术选择难
微服务架构
- 作用:解决单体应用的不足
- 微服务架构是什么? 把一个系统拆分为多个独立技术选型,独立开发,独立部署,独立运维的微服务
- 微服务架构使用场景:大规模项目
微服务架构spring解决方案
- 开发单个服务使用spring boot
- 协调多个服务使用springcloud 和 http协议
springcloud简介
spring cloud是什么?
spring提供的服务治理框架
spring cloud主要组成
- 服务注册发现——Netflix Eureka : 注册所有微服务的通信地址
- 客服端负载均衡——Netflix Ribbon\Feign :服务之间的调用问题
- 断路器——Netflix Hystrix :解决微服务故障问题,微服务的隔离
- 服务网关——Netflix Zuul :微服务的统一入口
- 分布式配置——Spring Cloud Config :统一管理微服务的配置文件
spring cloud入门环境搭建
spring cloud Eureka
Eureka是什么
服务注册中心,c/s架构模式,EurekaServer,
EurekaClient(服务提供者注册服务,服务消费者获取服务列表完成)
单机Eureka
- server
1.导入server
2.@EnableEurekaServer - 客户端
1.提供者:@EnableEurekaClient
2.消费者:@EnableEurekaClient
集群Eureka
-
在Eureka-server模块中建立两个application-yml副本互相注册
-
在springboot启动程序中复制两个应用,修改Active profiles参数,运行