Spring Cloud是一系列框架的集合,利用Spring Boot简化了分布式系统的开发。包括:服务注册发现、配置中心、消息总线、负载均衡、断路器、数据监控等。
配置文件
Boostrap和Application:Boostrap在Application之前加载。
Application主要用于Spring Boot的属性配置。
Boostrap主要配置Spring Cloud的属性配置。
核心成员
Spring Cloud Netflix
Eureka:主要完成服务治理功能。
熔断器Hystrix :在一段时间内侦测到许多类似的错误,会强迫其以后的多个调用快速失败,不再访问远程服务器,从而防止应用程序不断地尝试执行可能会失败的操作。
zuul,API Gateway:提供动态路由,监控,弹性,安全等的边缘服务。
1、简化前端的调用逻辑,引入API Gateway作为轻量级网关,同时API Gateway中也会实现相关的认证逻辑从而简化内部服务之间相互调用的复杂度;
2、优化客户端的使用体验,API Gateway可以对通用性的响应数据进行裁剪以适应不同客户端的使用需求
配置中心:支持subversion,git;支持热加载。
消息总线:
链路监控:Spring Cloud Sleuth和Zipkin进行分布式链路跟踪。
Spring Cloud和Dubbo的区别
两者都实现了RPC远程调用框架,实现了服务治理。
Dubbo没有配置中心、消息总线、API Gateway、链路跟踪等。
Eureka和Zookeeper的区别
Zookeeper是CP,Eureka是AP
Zookeeper的master节点宕机的时候,重新选择master节点,会比较慢(30-120S),这时候有请求反应时间会比较长。
Eureka的节点都是平等的,当Zookeeper一个节点宕机的时候,可以自动切换到另外一个节点访问,但是这个节点的服务可能不是最新的。
网友评论