Spring Cloud入门:框架集合与微服务治理

2 下载量 21 浏览量 更新于2024-08-29 收藏 307KB PDF 举报
"本文主要介绍了Spring Cloud的基本概念和核心组件,包括Eureka、Ribbon、Hystrix、Feign、Zuul、Config、Bus、Sleuth+Zipkin等,以及Spring Cloud与Dubbo的对比。" Spring Cloud是基于Spring Boot设计的一系列微服务框架的集合,它为开发人员提供了构建分布式系统所需的诸多工具,如服务发现、配置管理、断路器、负载均衡等。Spring Cloud的目标是简化分布式系统的复杂性,使开发人员能够快速构建可部署和可维护的微服务应用。 1. Eureka:它是Spring Cloud中的服务治理组件,负责服务的注册与发现。每个微服务启动时,会向Eureka Server注册自身服务信息,其他服务则可以通过Eureka来查找并调用这些服务。 2. Ribbon:作为客户端负载均衡器,Ribbon允许在客户端进行服务选择和请求分发。它还提供了请求重试等功能,增强了服务调用的健壮性。 3. Hystrix:是Netflix开源的断路器库,用于防止服务雪崩效应。当服务不可用或响应时间过长时,Hystrix可以开启断路器,执行服务降级策略,保障系统的稳定。 4. Feign:Feign是基于接口的声明式HTTP客户端,它整合了Ribbon和Hystrix,使得编写调用远程服务的代码变得更加简洁。 5. Zuul:作为API网关,Zuul提供统一的入口,处理所有对外的请求,包括路由转发、权限验证等功能,减轻了后端服务的负担。 6. Config:Spring Cloud Config是配置中心,它支持集中管理和动态更新应用配置,方便在分布式环境中对配置进行统一管理。 7. Bus:消息总线,通常配合Config使用,当配置发生变更时,通过消息机制通知所有服务进行配置更新,无需重启服务。 8. Sleuth+Zipkin:Sleuth是Spring Cloud提供的分布式追踪解决方案,而Zipkin是一个收集和可视化追踪数据的系统,两者结合可以帮助开发者了解微服务间的调用链路,定位性能瓶颈。 9. Spring Cloud与Dubbo的对比:Dubbo是一个专注于远程调用的RPC框架,而Spring Cloud更像一个全面的微服务解决方案,它基于HTTP而非Dubbo的TCP长连接,且提供了更多如API网关、配置中心等功能。 在开发环境中,Spring Cloud通常与Spring Tool Suite (STS)、Maven构建工具以及Lombok等辅助开发库一起使用,简化开发流程。Spring Cloud Demo项目可以从提供的GitHub链接中获取,用于实践和学习Spring Cloud的使用。 Spring Cloud为中小型互联网公司提供了一站式的微服务解决方案,降低了分布式系统的开发门槛,同时也适应了云计算时代对软件架构的需求。
2018-12-13 上传
demo参考网上资料,使用mvn建项,使用者需要有一定mvn基础。 demo没有实现复杂业务,只实现了部分功能: 微服务模块初始化时,常量和数据库信息等使用云配置服务(spring config)获取; 微服务之间使用负载均衡(ribbon); 微服务网关路由配置; 微服务断路器(hystrix)及监听服务等 启动步骤: 1.启动server-eureka,端口6600,微服务注册中心 访问http://localhost:6600,查看效果 2.启动server-config,端口6700,统一配置服务中心 访问http://localhost:6700/service-order/online,查看效果 3.启动service-order,端口6002,初始化使用配置服务server-config动态加载数据库 访问http://localhost:6002/order,查看效果 4.启动service-user,端口6001,使用注册后的服务名service-order进行服务之间调用,避免传统维护困难的ip:port方式 模块中使用了ribbon负载均衡请求service-order,需要启动至少两个service-order服务 访问http://localhost:6001/user/order,查看效果 5.启动gateway-zuul,端口6000,用于url路由配置,服务统一端口入口 http://localhost:6000/service-order/order等效于访问http://localhost:6002/order http://localhost:6000/service-user/user/order等效于访问http://localhost:6001/user/order 6.启动hystrix-dashboard,端口6500,可选,WEB界面查看监听服务,如服务成功多少,失败多少等信息 进入hystrix-dashboard界面后,填入监控地址:http://localhost:6001/hystrix.stream