一.简介
SpringCloud基于SpringBoot实现的分布式开发框架,基于Restful使用netfix 公司的开源产品实现的RPC框架,核心组件如下:
1.注册中心(Eureka)
微服务把功能模块拆分到不同的机器上,服务之间的协调调用、地址管理将非常麻烦,注册中心提供了统一的管理方式,将所有微服务都在注册中心注册,需要使用服务的应用从注册中心获取注册的服务。SpringCloud 使用Eureka作为服务注册中心,注册中心支持HA(High Available,高可用集群)机制。
注册中心记录了服务和服务地址的映射关系,在分布式架构中,调用服务时就从注册中心找到服务地址。
2.负载均衡(Ribbon)
SpringCloud 使用Ribbon实现客户端负载均衡
3.接口映射(Feign)
RPC开发技术遵循客户端/服务器模式,客户端使用远程接口实现远程业务调用是最合理自然,SpringCloud使用Feign实现Restful远程服务映射处理
4.网关代理(Zuul)
为保证微服务调用的安全性和统一性,都可以采用服务网关技术,通过映射服务名称访问微服务资源。
5.服务配置(SpringCloudConfig)
微服务通常会存在成百上千的服务,为使服务配置、部署更方便,配置文件需要统一管理。
二.SpringCloud架构
三.版本
SpringCloud与SpringBoot有版本依赖关系,否则可能会导致不兼容的一些问题,https://spring.io/projects/spring-cloud 可查看SpringCloud与SpringBoot版本之间的对应关系