springcloud笔记
需积分: 0 91 浏览量
更新于2023-07-03
收藏 3.49MB PDF 举报
Spring Cloud 是一套全面的微服务解决方案,用于构建分布式系统中的配置管理、服务发现、断路器、智能路由、微代理、控制总线、一次性令牌、全局锁、领导选举、分布式会话、集群状态等。本笔记主要介绍了Spring Cloud 的发展历程和核心组件,包括单体架构与微服务架构的对比以及如何搭建简单的Spring Cloud 微服务工程。
单体架构是最基础的架构模式,所有功能模块都在同一个项目中,部署和维护简单,但随着业务发展,其缺点逐渐显现,如版本迭代慢、无法有效应对高并发、代码维护困难。为了解决这些问题,通常会采用横向扩展的方式增加服务器,但这并不能从根本上解决问题,且可能导致资源浪费。
随着业务进一步细化,模块拆分成为必然趋势,每个模块作为一个独立的服务,通过接口通信,实现服务间的解耦。这被称为微服务架构。然而,这种架构的扩展性问题仍然存在,需要手动管理负载均衡和服务发现,这时SOA(Service-Oriented Architecture)服务治理框架应运而生。
在SOA架构中,注册中心是关键组件,它维护服务列表,服务提供方在启动时将自身注册到注册中心,服务消费方则根据注册中心的服务列表选择服务进行调用。Spring Cloud 提供了Eureka作为注册中心,简化了服务治理的过程。
Spring Cloud Eureka 是Spring Cloud生态中的服务发现组件,它允许服务提供方注册服务,并让服务消费方发现这些服务。搭建Eureka注册中心需要以下步骤:
1. 添加相关依赖,如Eureka服务端启动器和Spring Cloud的Maven仓库。
2. 配置Application.properties或yaml文件,设置Eureka服务器的相关属性。
3. 创建启动类,开启Eureka服务。
服务提供方的配置与Eureka服务端类似,除了需要添加Eureka客户端的启动器,以便服务提供方可以向Eureka注册。
服务消费方也需要配置相关依赖,以便能从Eureka获取服务列表并调用服务提供方。这样,服务消费方就可以根据需要调用任何注册在Eureka上的服务。
微服务架构带来了许多好处,如灵活的扩展能力、服务规模较小、服务边界清晰、易于持续集成等。但同时也带来了挑战,如服务间的通信复杂性、数据一致性问题等。因此,Spring Cloud 还提供了其他组件,如Zuul或Gateway用于服务网关,Hystrix用于熔断器,Ribbon和Feign实现客户端负载均衡等,以解决这些挑战。
Spring Cloud 提供了一套完整的微服务解决方案,使得开发者能够快速地构建分布式系统,而Eureka作为其中的核心组件,帮助实现了服务的自动注册和发现,大大简化了微服务架构的实施。通过不断学习和实践Spring Cloud,我们可以更好地应对现代互联网应用的复杂性和高并发需求。