spring cloud 介绍
spring cloud 是一系列框架的汇合。它利用 spring boot 的开发便利性奇妙地简化了分布式系统基础设施的开发,如服务发现注册、配置核心、音讯总线、负载平衡、断路器、数据监控等,都能够用 spring boot 的开发格调做到一键启动和部署。spring cloud 并没有反复制作轮子,它只是将目前各家公司开发的比拟成熟、经得起理论考验的服务框架组合起来,通过 spring boot 格调进行再封装屏蔽掉了简单的配置和实现原理,最终给开发者留出了一套简略易懂、易部署和易保护的分布式系统开发工具包。
spring cloud 对于中小型互联网公司来说是一种福音,因为这类公司往往没有实力或者没有足够的资金投入去开发本人的分布式系统基础设施,应用 spring cloud 一站式解决方案能在从容应对业务倒退的同时大大减少开发成本。同时,随着近几年微服务架构和 docker 容器概念的火爆,也会让 spring cloud 在将来越来越“云”化的软件开发格调中立有一席之地,尤其是在目前形形色色的分布式解决方案中提供了标准化的、一站式的技术计划,意义可能会堪比当年 servlet 标准的诞生,无效推动服务端软件系统技术水平的提高。
spring cloud 技术组成
- eureka
微服务治理,服务注册和发现 - ribbon
负载平衡、申请重试 - hystrix
断路器,服务降级、熔断 - feign
ribbon + hystrix 集成,并提供申明式客户端 - hystrix dashboard 和 turbine
hystrix 数据监控 - zuul
API 网关,提供微服务的对立入口,并提供对立的权限验证 - config
配置核心 - bus
音讯总线, 配置刷新 - sleuth+zipkin
链路跟踪
Spring Cloud 比照 Dubbo
-
Dubbo
- Dubbo 只是一个近程调用 (RPC) 框架
- 默认基于长连贯, 反对多种序列化格局
-
Spring Cloud
- 框架集
- 提供了一整套微服务解决方案(全家桶)
- 基于 http 调用, Rest API
application.yml 文件
向注册核心注册的服务名
sping:
application:
name: item-service
server:
port: 8001
eureka:
server:
enable-self-presevation: false #1. 保护模式
instance:
hostname: eureka1 ##2. 集群服务器间用主机名辨别
client:
#3. 单台服务器。不向本人注册 不从本人拉取
register-with-eureka: false
fetch-registry: false
Spring MVC 接管参数的几个注解